diff --git a/docs/docs/_prelude/hott/00-common.rzk.md b/docs/docs/_prelude/hott/00-common.rzk.md
new file mode 100644
index 000000000..3f2faa121
--- /dev/null
+++ b/docs/docs/_prelude/hott/00-common.rzk.md
@@ -0,0 +1,80 @@
+# 0. Common
+
+This is a literate `rzk` file:
+
+```rzk
+#lang rzk-1
+```
+
+## products of types
+
+```rzk
+#def product
+ ( A B : U)
+ : U
+ := Σ (x : A) , B
+```
+
+The following demonstrates the syntax for constructing terms in Sigma types:
+
+```rzk
+#def diagonal
+ ( A : U)
+ ( a : A)
+ : product A A
+ := (a , a)
+```
+
+## The type of logical equivalences between types
+
+```rzk
+#def iff
+ ( A B : U)
+ : U
+ := product (A -> B) (B -> A)
+```
+
+## Basic function definitions
+
+```rzk
+#section basic-functions
+
+#variables A B C D : U
+
+#def composition
+ ( g : B -> C)
+ ( f : A -> B)
+ : A -> C
+ := \ z -> g (f z)
+
+#def triple-composition
+ ( h : C -> D)
+ ( g : B -> C)
+ ( f : A -> B)
+ : A -> D
+ := \ z -> h (g (f z))
+
+#def identity
+ : A -> A
+ := \ a -> a
+
+#def constant
+ ( b : B)
+ : A -> B
+ := \ a -> b
+
+#end basic-functions
+```
+
+## Substitution
+
+### Reindexing a type family along a function into the base type
+
+```rzk
+#def reindex
+ ( A B : U)
+ ( f : B -> A)
+ ( C : A -> U)
+ : B -> U
+ := \ b -> C (f b)
+```
diff --git a/docs/docs/_prelude/hott/01-paths.rzk.md b/docs/docs/_prelude/hott/01-paths.rzk.md
new file mode 100644
index 000000000..23ac4b493
--- /dev/null
+++ b/docs/docs/_prelude/hott/01-paths.rzk.md
@@ -0,0 +1,793 @@
+# 1. Paths
+
+This is a literate `rzk` file:
+
+```rzk
+#lang rzk-1
+
+#require-file "docs/docs/_prelude/hott/00-common.rzk.md"
+```
+
+## Some basic path algebra
+
+```rzk
+#section path-algebra
+
+#variable A : U
+#variables x y z : A
+```
+
+### Path reversal
+
+```rzk
+#def rev
+ ( p : x = y)
+ : y = x
+ := idJ (A , x , (\ y' p' -> y' = x) , refl , y , p)
+```
+
+### Path concatenation
+
+We take path concatenation defined by induction on the second path variable as
+our main definition.
+
+```rzk
+#def concat
+ ( p : x = y)
+ ( q : y = z)
+ : (x = z)
+ := idJ (A , y , \ z' q' -> (x = z') , p , z , q)
+```
+
+We also introduce a version defined by induction on the first path variable, for
+situations where it is easier to induct on the first path.
+
+```rzk
+#def concat'
+ ( p : x = y)
+ : (y = z) -> (x = z)
+ := idJ (A , x , \ y' p' -> (y' = z) -> (x = z) , \ q' -> q' , y , p)
+
+#end path-algebra
+```
+
+## Some basic coherences in path algebra
+
+```rzk
+#section basic-path-coherence
+
+#variable A : U
+#variables w x y z : A
+
+#def rev-rev
+ ( p : x = y)
+ : (rev A y x (rev A x y p)) = p
+ := idJ (A , x , \ y' p' -> (rev A y' x (rev A x y' p')) = p' , refl , y , p)
+```
+
+### Left unit law for path concatenation
+
+The left unit law for path concatenation does not hold definitionally due to our
+choice of definition.
+
+```rzk
+#def left-unit-concat
+ ( p : x = y)
+ : (concat A x x y refl p) = p
+ := idJ (A , x , \ y' p' -> (concat A x x y' refl p') = p' , refl , y , p)
+```
+
+### Associativity of path concatenation
+
+```rzk
+#def associative-concat
+ ( p : w = x)
+ ( q : x = y)
+ ( r : y = z)
+ : ( concat A w y z (concat A w x y p q) r) =
+ ( concat A w x z p (concat A x y z q r))
+ :=
+ idJ
+ ( ( A) ,
+ ( y) ,
+ ( \ z' r' ->
+ concat A w y z' (concat A w x y p q) r' =
+ concat A w x z' p (concat A x y z' q r')) ,
+ ( refl) ,
+ ( z) ,
+ ( r))
+
+#def rev-associative-concat
+ ( p : w = x)
+ ( q : x = y)
+ ( r : y = z)
+ : ( concat A w x z p (concat A x y z q r)) =
+ ( concat A w y z (concat A w x y p q) r)
+ :=
+ idJ
+ ( A ,
+ y ,
+ \ z' r' ->
+ concat A w x z' p (concat A x y z' q r') =
+ concat A w y z' (concat A w x y p q) r' ,
+ refl ,
+ z ,
+ r)
+
+#def right-inverse-concat
+ ( p : x = y)
+ : (concat A x y x p (rev A x y p)) = refl
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' -> concat A x y' x p' (rev A x y' p') = refl ,
+ refl ,
+ y ,
+ p)
+
+#def left-inverse-concat
+ ( p : x = y)
+ : (concat A y x y (rev A x y p) p) = refl
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' -> concat A y' x y' (rev A x y' p') p' = refl ,
+ refl ,
+ y ,
+ p)
+```
+
+### Concatenation of two paths with common codomain
+
+Concatenation of two paths with common codomain; defined using `concat` and
+`rev`.
+
+```rzk
+#def zig-zag-concat
+ ( p : x = y)
+ ( q : z = y)
+ : (x = z)
+ := concat A x y z p (rev A z y q)
+```
+
+### Concatenation of two paths with common domain
+
+Concatenation of two paths with common domain; defined using `concat` and `rev`.
+
+```rzk
+#def zag-zig-concat
+ (p : y = x)
+ (q : y = z)
+ : (x = z)
+ := concat A x y z (rev A y x p) q
+
+#def right-cancel-concat
+ ( p q : x = y)
+ ( r : y = z)
+ : ((concat A x y z p r) = (concat A x y z q r)) -> (p = q)
+ :=
+ idJ
+ ( A ,
+ y ,
+ \ z' r' -> ((concat A x y z' p r') = (concat A x y z' q r')) -> (p = q) ,
+ \ H -> H ,
+ z ,
+ r)
+
+#end basic-path-coherence
+```
+
+## Some derived coherences in path algebra
+
+The statements or proofs of the following path algebra coherences reference one
+of the path algebra coherences defined above.
+
+```rzk
+#section derived-path-coherence
+#variable A : U
+#variables x y z : A
+
+#def rev-concat
+ ( p : x = y)
+ ( q : y = z)
+ : ( rev A x z (concat A x y z p q)) =
+ ( concat A z y x (rev A y z q) (rev A x y p))
+ :=
+ idJ
+ ( A ,
+ y ,
+ \ z' q' ->
+ (rev A x z' (concat A x y z' p q')) =
+ (concat A z' y x (rev A y z' q') (rev A x y p)) ,
+ rev
+ ( y = x)
+ ( concat A y y x refl (rev A x y p))
+ ( rev A x y p)
+ ( left-unit-concat A y x (rev A x y p)) ,
+ z ,
+ q)
+```
+
+### Postwhiskering paths of paths
+
+```rzk
+#def homotopy-concat
+ ( p q : x = y)
+ ( H : p = q)
+ ( r : y = z)
+ : (concat A x y z p r) = (concat A x y z q r)
+ :=
+ idJ
+ ( A ,
+ y ,
+ \ z' r' -> (concat A x y z' p r') = (concat A x y z' q r') ,
+ H ,
+ z ,
+ r)
+```
+
+### Prewhiskering paths of paths
+
+Prewhiskering paths of paths is much harder.
+
+```rzk
+#def concat-homotopy
+ ( p : x = y)
+ : ( q : y = z) ->
+ ( r : y = z) ->
+ ( H : q = r) ->
+ ( concat A x y z p q) = (concat A x y z p r)
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ (q : y' = z) ->
+ (r : y' = z) ->
+ (H : q = r) ->
+ (concat A x y' z p' q) = (concat A x y' z p' r) ,
+ \ q r H ->
+ concat
+ ( x = z)
+ ( concat A x x z refl q)
+ r
+ ( concat A x x z refl r)
+ ( concat (x = z) (concat A x x z refl q) q r (left-unit-concat A x z q) H)
+ ( rev (x = z) (concat A x x z refl r) r (left-unit-concat A x z r)) ,
+ y ,
+ p)
+```
+
+### Identifying the two definitions of path concatenation
+
+```rzk
+#def concat-concat'
+ ( p : x = y)
+ : ( q : y = z) ->
+ ( concat A x y z p q) = (concat' A x y z p q)
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ (q' : y' =_{A} z) ->
+ (concat A x y' z p' q') =_{x =_{A} z} concat' A x y' z p' q' ,
+ \ q' -> left-unit-concat A x z q' ,
+ y ,
+ p)
+
+#def concat'-concat
+ ( p : x = y)
+ ( q : y = z)
+ : concat' A x y z p q = concat A x y z p q
+ :=
+ rev
+ ( x = z)
+ ( concat A x y z p q)
+ ( concat' A x y z p q)
+ ( concat-concat' p q)
+
+-- this is easier to prove for concat' than for concat
+#def alt-triangle-rotation
+ ( p : x = z)
+ ( q : x = y)
+ : ( r : y = z) ->
+ ( H : p = concat' A x y z q r) ->
+ ( concat' A y x z (rev A x y q) p) = r
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' q' ->
+ (r' : y' =_{A} z) ->
+ (H' : p = concat' A x y' z q' r') ->
+ (concat' A y' x z (rev A x y' q') p) = r' ,
+ \ r' H' -> H' ,
+ y ,
+ q)
+```
+
+The following needs to be outside the previous section because of the usage of
+`concat-concat' A y x`.
+
+```rzk
+#end derived-path-coherence
+
+#def triangle-rotation
+ ( A : U)
+ ( x y z : A)
+ ( p : x = z)
+ ( q : x = y)
+ ( r : y = z)
+ ( H : p = concat A x y z q r)
+ : (concat A y x z (rev A x y q) p) = r
+ :=
+ concat
+ ( y = z)
+ ( concat A y x z (rev A x y q) p)
+ ( concat' A y x z (rev A x y q) p)
+ ( r)
+ ( concat-concat' A y x z (rev A x y q) p)
+ ( alt-triangle-rotation
+ ( A) (x) (y) (z) (p) (q) (r)
+ ( concat
+ ( x = z)
+ ( p)
+ ( concat A x y z q r)
+ ( concat' A x y z q r)
+ ( H)
+ ( concat-concat' A x y z q r)))
+```
+
+## Application of functions to paths
+
+```rzk
+#def ap
+ ( A B : U)
+ ( x y : A)
+ ( f : A -> B)
+ ( p : x = y)
+ : (f x = f y)
+ := idJ (A , x , \ y' -> \ p' -> (f x = f y') , refl , y , p)
+
+#def ap-rev
+ ( A B : U)
+ ( x y : A)
+ ( f : A -> B)
+ ( p : x = y)
+ : (ap A B y x f (rev A x y p)) = (rev B (f x) (f y) (ap A B x y f p))
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ ap A B y' x f (rev A x y' p') = rev B (f x) (f y') (ap A B x y' f p') ,
+ refl ,
+ y ,
+ p)
+
+#def ap-concat
+ ( A B : U)
+ ( x y z : A)
+ ( f : A -> B)
+ ( p : x = y)
+ ( q : y = z)
+ : ( ap A B x z f (concat A x y z p q)) =
+ ( concat B (f x) (f y) (f z) (ap A B x y f p) (ap A B y z f q))
+ :=
+ idJ
+ ( A ,
+ y ,
+ \ z' q' ->
+ (ap A B x z' f (concat A x y z' p q')) =
+ (concat B (f x) (f y) (f z') (ap A B x y f p) (ap A B y z' f q')) ,
+ refl ,
+ z ,
+ q)
+
+#def rev-ap-rev
+ ( A B : U)
+ ( x y : A)
+ ( f : A -> B)
+ ( p : x = y)
+ : (rev B (f y) (f x) (ap A B y x f (rev A x y p))) = (ap A B x y f p)
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ (rev B (f y') (f x) (ap A B y' x f (rev A x y' p'))) =
+ (ap A B x y' f p') ,
+ refl ,
+ y ,
+ p)
+
+-- For specific use
+#def concat-ap-rev-ap-id
+ ( A B : U)
+ ( x y : A)
+ ( f : A -> B)
+ ( p : x = y)
+ : ( concat
+ ( B) (f y) (f x) (f y)
+ ( ap A B y x f (rev A x y p))
+ ( ap A B x y f p)) =
+ ( refl)
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ ( concat
+ ( B) (f y') (f x) (f y')
+ ( ap A B y' x f (rev A x y' p')) (ap A B x y' f p')) =
+ refl ,
+ refl ,
+ y ,
+ p)
+
+#def ap-id
+ ( A : U)
+ ( x y : A)
+ ( p : x = y)
+ : (ap A A x y (identity A) p) = p
+ := idJ (A , x , \ y' p' -> (ap A A x y' (\ z -> z) p') = p' , refl , y , p)
+
+-- application of a function to homotopic paths yields homotopic paths
+#def ap-htpy
+ ( A B : U)
+ ( x y : A)
+ ( f : A -> B)
+ ( p q : x = y)
+ ( H : p = q)
+ : (ap A B x y f p) = (ap A B x y f q)
+ :=
+ idJ
+ ( x = y ,
+ p ,
+ \ q' H' -> (ap A B x y f p) = (ap A B x y f q') ,
+ refl ,
+ q ,
+ H)
+
+#def ap-comp
+ ( A B C : U)
+ ( x y : A)
+ ( f : A -> B)
+ ( g : B -> C)
+ ( p : x = y)
+ : ( ap A C x y (composition A B C g f) p) =
+ ( ap B C (f x) (f y) g (ap A B x y f p))
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ ( ap A C x y' (\ z -> g (f z)) p') =
+ ( ap B C (f x) (f y') g (ap A B x y' f p')) ,
+ refl ,
+ y ,
+ p)
+
+#def rev-ap-comp
+ ( A B C : U)
+ ( x y : A)
+ ( f : A -> B)
+ ( g : B -> C)
+ ( p : x = y)
+ : ( ap B C (f x) (f y) g (ap A B x y f p)) =
+ ( ap A C x y (composition A B C g f) p)
+ :=
+ rev
+ ( g (f x) = g (f y))
+ ( ap A C x y (\ z -> g (f z)) p)
+ ( ap B C (f x) (f y) g (ap A B x y f p))
+ ( ap-comp A B C x y f g p)
+```
+
+## Transport
+
+```rzk
+#section transport
+
+#variable A : U
+#variable B : A -> U
+
+-- transport in a type family along a path in the base
+#def transport
+ ( x y : A)
+ ( p : x = y)
+ ( u : B x)
+ : B y
+ := idJ (A , x , \ y' p' -> B y' , u , y , p)
+
+-- The lift of a base path to a path from a term in the total space to its transport.
+#def transport-lift
+ ( x y : A)
+ ( p : x = y)
+ ( u : B x)
+ : (x , u) =_{Σ (z : A) , B z} (y , transport x y p u)
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' -> (x , u) =_{Σ (z : A) , B z} (y' , transport x y' p' u) ,
+ refl ,
+ y ,
+ p)
+
+-- transport along concatenated paths
+#def transport-concat
+ ( x y z : A)
+ ( p : x = y)
+ ( q : y = z)
+ ( u : B x)
+ : ( transport x z (concat A x y z p q) u) =
+ ( transport y z q (transport x y p u))
+ :=
+ idJ
+ ( A ,
+ y ,
+ \ z' q' ->
+ ( transport x z' (concat A x y z' p q') u) =
+ ( transport y z' q' (transport x y p u)) ,
+ refl ,
+ z ,
+ q)
+
+#def transport-concat-rev
+ ( x y z : A)
+ ( p : x = y)
+ ( q : y = z)
+ ( u : B x)
+ : ( transport y z q (transport x y p u)) =
+ ( transport x z (concat A x y z p q) u)
+ :=
+ idJ
+ ( A ,
+ y ,
+ \ z' q' ->
+ ( transport y z' q' (transport x y p u)) =
+ ( transport x z' (concat A x y z' p q') u) ,
+ refl ,
+ z ,
+ q)
+
+-- A path between transportation along homotopic paths
+#def transport2
+ ( x y : A)
+ ( p q : x = y)
+ ( H : p = q)
+ ( u : B x)
+ : (transport x y p u) = (transport x y q u)
+ :=
+ idJ
+ ( x = y ,
+ p ,
+ \ q' H' -> (transport x y p u) = (transport x y q' u) ,
+ refl ,
+ q ,
+ H)
+
+#def transport-loop
+ ( a : A)
+ ( b : B a)
+ : (a = a) -> B a
+ := \ p -> (transport a a p b)
+
+#end transport
+```
+
+## Dependent application
+
+```rzk
+#def apd
+ ( A : U)
+ ( B : A -> U)
+ ( x y : A)
+ ( f : (z : A) -> B z)
+ ( p : x = y)
+ : (transport A B x y p (f x)) = f y
+ :=
+ idJ
+ ( A ,
+ x ,
+ (\ y' p' -> (transport A B x y' p' (f x)) = f y') ,
+ refl ,
+ y ,
+ p)
+```
+
+## Higher-order concatenation
+
+```rzk
+#section higher-concatenation
+#variable A : U
+
+#def triple-concat
+ ( a0 a1 a2 a3 : A)
+ ( p1 : a0 = a1)
+ ( p2 : a1 = a2)
+ ( p3 : a2 = a3)
+ : a0 = a3
+ := concat A a0 a1 a3 p1 (concat A a1 a2 a3 p2 p3)
+
+#def quadruple-concat
+ ( a0 a1 a2 a3 a4 : A)
+ ( p1 : a0 = a1)
+ ( p2 : a1 = a2)
+ ( p3 : a2 = a3)
+ ( p4 : a3 = a4)
+ : a0 = a4
+ := triple-concat a0 a1 a2 a4 p1 p2 (concat A a2 a3 a4 p3 p4)
+
+#def quintuple-concat
+ ( a0 a1 a2 a3 a4 a5 : A)
+ ( p1 : a0 = a1)
+ ( p2 : a1 = a2)
+ ( p3 : a2 = a3)
+ ( p4 : a3 = a4)
+ ( p5 : a4 = a5)
+ : a0 = a5
+ := quadruple-concat a0 a1 a2 a3 a5 p1 p2 p3 (concat A a3 a4 a5 p4 p5)
+
+#def alternating-quintuple-concat
+ ( a0 : A)
+ ( a1 : A) (p1 : a0 = a1)
+ ( a2 : A) (p2 : a1 = a2)
+ ( a3 : A) (p3 : a2 = a3)
+ ( a4 : A) (p4 : a3 = a4)
+ ( a5 : A) (p5 : a4 = a5)
+ : a0 = a5
+ := quadruple-concat a0 a1 a2 a3 a5 p1 p2 p3 (concat A a3 a4 a5 p4 p5)
+
+#def 12ary-concat
+ ( a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 : A)
+ ( p1 : a0 = a1)
+ ( p2 : a1 = a2)
+ ( p3 : a2 = a3)
+ ( p4 : a3 = a4)
+ ( p5 : a4 = a5)
+ ( p6 : a5 = a6)
+ ( p7 : a6 = a7)
+ ( p8 : a7 = a8)
+ ( p9 : a8 = a9)
+ ( p10 : a9 = a10)
+ ( p11 : a10 = a11)
+ ( p12 : a11 = a12)
+ : a0 = a12
+ :=
+ quintuple-concat
+ a0 a1 a2 a3 a4 a12
+ p1 p2 p3 p4
+ ( quintuple-concat
+ a4 a5 a6 a7 a8 a12
+ p5 p6 p7 p8
+ ( quadruple-concat
+ a8 a9 a10 a11 a12
+ p9 p10 p11 p12))
+
+-- Same as above but with alternating arguments
+#def alternating-12ary-concat
+ ( a0 : A)
+ ( a1 : A) (p1 : a0 = a1)
+ ( a2 : A) (p2 : a1 = a2)
+ ( a3 : A) (p3 : a2 = a3)
+ ( a4 : A) (p4 : a3 = a4)
+ ( a5 : A) (p5 : a4 = a5)
+ ( a6 : A) (p6 : a5 = a6)
+ ( a7 : A) (p7 : a6 = a7)
+ ( a8 : A) (p8 : a7 = a8)
+ ( a9 : A) (p9 : a8 = a9)
+ ( a10 : A) (p10 : a9 = a10)
+ ( a11 : A) (p11 : a10 = a11)
+ ( a12 : A) (p12 : a11 = a12)
+ : a0 = a12
+ :=
+ 12ary-concat
+ a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12
+ p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12
+
+#end higher-concatenation
+```
+
+## Higher-order coherences
+
+```rzk
+#def rev-refl-id-triple-concat
+ ( A : U)
+ ( x y : A)
+ ( p : x = y)
+ : triple-concat A y x x y (rev A x y p) refl p = refl
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' -> triple-concat A y' x x y' (rev A x y' p') refl p' = refl ,
+ refl ,
+ y ,
+ p)
+
+#def ap-rev-refl-id-triple-concat
+ ( A B : U)
+ ( x y : A)
+ ( f : A -> B)
+ ( p : x = y)
+ : (ap A B y y f (triple-concat A y x x y (rev A x y p) refl p)) = refl
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ ap A B y' y' f (triple-concat A y' x x y' (rev A x y' p') refl p') =
+ refl ,
+ refl ,
+ y ,
+ p)
+
+#def ap-triple-concat
+ ( A B : U)
+ ( w x y z : A)
+ ( f : A -> B)
+ ( p : w = x)
+ ( q : x = y)
+ ( r : y = z)
+ : ( ap A B w z f (triple-concat A w x y z p q r)) =
+ ( triple-concat
+ ( B)
+ ( f w)
+ ( f x)
+ ( f y)
+ ( f z)
+ ( ap A B w x f p)
+ ( ap A B x y f q)
+ ( ap A B y z f r))
+ :=
+ idJ
+ ( A ,
+ y ,
+ \ z' r' ->
+ ap A B w z' f (triple-concat A w x y z' p q r') =
+ triple-concat
+ B
+ ( f w)
+ ( f x)
+ ( f y)
+ ( f z')
+ ( ap A B w x f p)
+ ( ap A B x y f q)
+ ( ap A B y z' f r') ,
+ ap-concat A B w x y f p q ,
+ z ,
+ r)
+
+#def homotopy-triple-concat
+ ( A : U)
+ ( w x y z : A)
+ ( p q : w = x)
+ ( r : x = y)
+ ( s : y = z)
+ ( H : p = q)
+ : (triple-concat A w x y z p r s) = (triple-concat A w x y z q r s)
+ := homotopy-concat A w x z p q H (concat A x y z r s)
+
+#def triple-homotopy-concat
+ ( A : U)
+ ( w x y z : A)
+ ( p : w = x)
+ ( q r : x = y)
+ ( s : y = z)
+ ( H : q = r)
+ : (triple-concat A w x y z p q s) = (triple-concat A w x y z p r s)
+ :=
+ idJ
+ ( x = y ,
+ q ,
+ \ r' H' ->
+ triple-concat A w x y z p q s = triple-concat A w x y z p r' s ,
+ refl ,
+ r ,
+ H)
+```
diff --git a/docs/docs/_prelude/hott/02-homotopies.rzk.md b/docs/docs/_prelude/hott/02-homotopies.rzk.md
new file mode 100644
index 000000000..e26a89d44
--- /dev/null
+++ b/docs/docs/_prelude/hott/02-homotopies.rzk.md
@@ -0,0 +1,248 @@
+# 2. Homotopies
+
+This is a literate `rzk` file:
+
+```rzk
+#lang rzk-1
+
+#require-file "docs/docs/_prelude/hott/00-common.rzk.md"
+#require-file "docs/docs/_prelude/hott/01-paths.rzk.md"
+```
+
+## Homotopies and their algebra
+
+```rzk
+#section homotopies
+
+#variables A B : U
+
+-- The type of homotopies between parallel functions.
+#def homotopy
+ (f g : A -> B)
+ : U
+ := (a : A) -> (f a = g a)
+
+-- The reversal of a homotopy
+#def homotopy-rev
+ (f g : A -> B)
+ (H : homotopy f g)
+ : homotopy g f
+ := \ a -> rev B (f a) (g a) (H a)
+
+-- Homotopy composition is defined in diagrammatic order like concat but unlike composition.
+#def homotopy-composition
+ (f g h : A -> B)
+ (H : homotopy f g)
+ (K : homotopy g h)
+ : homotopy f h
+ := \ a -> concat B (f a) (g a) (h a) (H a) (K a)
+
+#end homotopies
+```
+
+## Whiskering homotopies
+
+```rzk
+#section homotopy-whiskering
+
+#variables A B C : U
+
+#def homotopy-postwhisker
+ (f g : A -> B)
+ (H : homotopy A B f g)
+ (h : B -> C)
+ : homotopy A C (composition A B C h f) (composition A B C h g)
+ := \ a -> ap B C (f a) (g a) h (H a)
+
+#def homotopy-prewhisker
+ (f g : B -> C)
+ (H : homotopy B C f g)
+ (h : A -> B)
+ : homotopy A C (composition A B C f h) (composition A B C g h)
+ := \ a -> H (h a)
+
+#end homotopy-whiskering
+
+#def homotopy-whisker
+ (A B C D : U)
+ (h k : B -> C)
+ (H : homotopy B C h k)
+ (f : A -> B)
+ (g : C -> D)
+ : homotopy
+ A
+ D
+ (triple-composition A B C D g h f)
+ (triple-composition A B C D g k f)
+ :=
+ homotopy-postwhisker
+ A
+ C
+ D
+ ( composition A B C h f)
+ ( composition A B C k f)
+ ( homotopy-prewhisker A B C h k H f)
+ g
+```
+
+## Naturality
+
+```rzk
+-- The naturality square associated to a homotopy and a path.
+#def nat-htpy
+ (A B : U)
+ (f g : A -> B)
+ (H : homotopy A B f g)
+ (x y : A)
+ (p : x = y)
+ : (concat B (f x) (f y) (g y) (ap A B x y f p) (H y)) =
+ (concat B (f x) (g x) (g y) (H x) (ap A B x y g p))
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ (concat B (f x) (f y') (g y') (ap A B x y' f p') (H y')) =
+ (concat B (f x) (g x) (g y') (H x) (ap A B x y' g p')) ,
+ left-unit-concat B (f x) (g x) (H x) ,
+ y ,
+ p)
+
+-- Naturality in another form
+#def triple-concat-nat-htpy
+ (A B : U)
+ (f g : A -> B)
+ (H : homotopy A B f g)
+ (x y : A)
+ (p : x = y)
+ : triple-concat
+ ( B) (g x) (f x) (f y) (g y)
+ ( rev B (f x) (g x) (H x)) (ap A B x y f p) (H y) =
+ ap A B x y g p
+ :=
+ idJ
+ ( A ,
+ x ,
+ \ y' p' ->
+ triple-concat
+ ( B)
+ ( g x)
+ ( f x)
+ ( f y')
+ ( g y')
+ ( rev B (f x) (g x) (H x))
+ ( ap A B x y' f p')
+ ( H y') =
+ ap A B x y' g p' ,
+ rev-refl-id-triple-concat B (f x) (g x) (H x) ,
+ y ,
+ p)
+```
+
+## An application
+
+```rzk
+#section cocone-naturality
+
+#variable A : U
+#variable f : A -> A
+#variable H : homotopy A A f (identity A)
+#variable a : A
+
+-- In the case of a homotopy H from f to the identity the previous square applies to the path H a to produce the following naturality square.
+#def cocone-naturality
+ : (concat A (f (f a)) (f a) a (ap A A (f a) a f (H a)) (H a)) =
+ (concat A (f (f a)) (f a) (a) (H (f a)) (ap A A (f a) a (identity A) (H a)))
+ := nat-htpy A A f (identity A) H (f a) a (H a)
+
+-- After composing with ap-id, this naturality square transforms to the
+-- following:
+#def reduced-cocone-naturality
+ : (concat A (f (f a)) (f a) a (ap A A (f a) a f (H a)) (H a)) =
+ (concat A (f (f a)) (f a) (a) (H (f a)) (H a))
+ :=
+ concat
+ ( (f (f a)) = a)
+ ( concat A (f (f a)) (f a) a (ap A A (f a) a f (H a)) (H a))
+ ( concat
+ ( A)
+ ( f (f a))
+ ( f a)
+ ( a)
+ ( H (f a))
+ ( ap A A (f a) a (identity A) (H a)))
+ ( concat A (f (f a)) (f a) (a) (H (f a)) (H a))
+ (cocone-naturality)
+ (concat-homotopy
+ ( A)
+ ( f (f a))
+ ( f a)
+ ( a)
+ ( H (f a))
+ ( ap A A (f a) a (identity A) (H a))
+ ( H a)
+ ( ap-id A (f a) a (H a)))
+
+-- Cancelling the path (H a) on the right and reversing yields a path we need:
+#def cocone-naturality-coherence
+ : (H (f a)) = (ap A A (f a) a f (H a))
+ :=
+ rev
+ ( f (f a) = f a)
+ ( ap A A (f a) a f (H a)) (H (f a))
+ ( right-cancel-concat
+ ( A)
+ ( f (f a))
+ ( f a)
+ ( a)
+ ( ap A A (f a) a f (H a))
+ ( H (f a))
+ ( H a)
+ ( reduced-cocone-naturality))
+
+#end cocone-naturality
+```
+
+## Conjugation with higher homotopies
+
+```rzk
+-- Conjugation between higher homotopies
+#def triple-concat-higher-homotopy
+ (A B : U)
+ (f g : A -> B)
+ (H K : homotopy A B f g)
+ (α : (a : A) -> H a = K a)
+ (x y : A)
+ (p : f x = f y)
+ : triple-concat B (g x) (f x) (f y) (g y) (rev B (f x) (g x) (H x)) p (H y) =
+ triple-concat B (g x) (f x) (f y) (g y) (rev B (f x) (g x) (K x)) p (K y)
+ :=
+ idJ
+ ( f y = g y ,
+ H y ,
+ \ Ky α' ->
+ triple-concat
+ ( B) (g x) (f x) (f y) (g y)
+ ( rev B (f x) (g x) (H x)) (p) (H y) =
+ triple-concat
+ ( B) (g x) (f x) (f y) (g y)
+ ( rev B (f x) (g x) (K x)) (p) (Ky) ,
+ homotopy-triple-concat
+ B
+ ( g x)
+ ( f x)
+ ( f y)
+ ( g y)
+ ( rev B (f x) (g x) (H x))
+ ( rev B (f x) (g x) (K x))
+ p
+ ( H y)
+ ( ap
+ ( f x = g x)
+ ( g x = f x)
+ ( H x)
+ ( K x)
+ ( \ G -> rev B (f x) (g x) G) (α x)) ,
+ K y ,
+ α y)
+```
diff --git a/docs/docs/_prelude/hott/03-equivalences.rzk.md b/docs/docs/_prelude/hott/03-equivalences.rzk.md
new file mode 100644
index 000000000..a90291999
--- /dev/null
+++ b/docs/docs/_prelude/hott/03-equivalences.rzk.md
@@ -0,0 +1,518 @@
+# 3. Equivalences
+
+This is a literate `rzk` file:
+
+```rzk
+#lang rzk-1
+
+#require-file "docs/docs/_prelude/hott/00-common.rzk.md"
+#require-file "docs/docs/_prelude/hott/01-paths.rzk.md"
+#require-file "docs/docs/_prelude/hott/02-homotopies.rzk.md"
+```
+
+## Sections, retractions, and equivalences
+
+```rzk
+#section is-equiv
+
+#variables A B : U
+
+#def has-section
+ ( f : A -> B)
+ : U
+ := Σ (s : B -> A) , (homotopy B B (composition B A B f s) (identity B))
+
+#def has-retraction
+ ( f : A -> B)
+ : U
+ := Σ (r : B -> A) , (homotopy A A (composition A B A r f) (identity A))
+
+-- equivalences are bi-invertible maps
+#def is-equiv
+ ( f : A -> B)
+ : U
+ := product (has-retraction f) (has-section f)
+
+#end is-equiv
+```
+
+## Equivalence data
+
+```rzk
+#section equivalence-data
+
+#variables A B : U
+#variable f : A -> B
+#variable is-equiv-f : is-equiv A B f
+
+#def is-equiv-section uses (f)
+ : B -> A
+ := first (second is-equiv-f)
+
+#def is-equiv-retraction uses (f)
+ : B -> A
+ := first (first is-equiv-f)
+
+-- the homotopy between the section and retraction of an equivalence
+#def homotopic-inverses-is-equiv uses (f)
+ : homotopy B A is-equiv-section is-equiv-retraction
+ :=
+ homotopy-composition B A
+ ( is-equiv-section)
+ ( triple-composition B A B A is-equiv-retraction f is-equiv-section)
+ ( is-equiv-retraction)
+ ( homotopy-rev B A
+ ( triple-composition B A B A is-equiv-retraction f is-equiv-section)
+ ( is-equiv-section)
+ ( homotopy-prewhisker B A A
+ ( composition A B A is-equiv-retraction f)
+ ( identity A)
+ ( second (first is-equiv-f))
+ ( is-equiv-section)))
+ ( homotopy-postwhisker B B A
+ ( composition B A B f is-equiv-section)
+ ( identity B)
+ ( second (second is-equiv-f))
+ ( is-equiv-retraction))
+
+#end equivalence-data
+```
+
+## Invertible maps
+
+```rzk
+-- the following type of more coherent equivalences is not a proposition
+#def has-inverse
+ ( A B : U)
+ ( f : A -> B)
+ : U
+ :=
+ Σ ( g : B -> A) ,
+ ( product
+ ( homotopy A A (composition A B A g f) (identity A))
+ -- The retracting homotopy
+ ( homotopy B B (composition B A B f g) (identity B)))
+ -- The section homotopy
+```
+
+## Equivalences are invertible maps
+
+```rzk
+-- invertible maps are equivalences
+#def is-equiv-has-inverse
+ ( A B : U)
+ ( f : A -> B)
+ ( has-inverse-f : has-inverse A B f)
+ : is-equiv A B f
+ :=
+ ( ( first has-inverse-f , first (second has-inverse-f)) ,
+ ( first has-inverse-f , second (second has-inverse-f)))
+
+-- equivalences are invertible
+#def has-inverse-is-equiv
+ ( A B : U)
+ ( f : A -> B)
+ ( is-equiv-f : is-equiv A B f)
+ : has-inverse A B f
+ :=
+ ( is-equiv-section A B f is-equiv-f ,
+ ( homotopy-composition A A
+ ( composition A B A (is-equiv-section A B f is-equiv-f) f)
+ ( composition A B A (is-equiv-retraction A B f is-equiv-f) f)
+ ( identity A)
+ ( homotopy-prewhisker A B A
+ ( is-equiv-section A B f is-equiv-f)
+ ( is-equiv-retraction A B f is-equiv-f)
+ ( homotopic-inverses-is-equiv A B f is-equiv-f)
+ ( f))
+ ( second (first is-equiv-f)) ,
+ ( second (second is-equiv-f))))
+```
+
+## Invertible map data
+
+```rzk
+#section has-inverse-data
+
+#variables A B : U
+#variable f : A -> B
+#variable has-inverse-f : has-inverse A B f
+
+-- The inverse of a map with an inverse
+#def has-inverse-inverse uses (f)
+ : B -> A
+ := first (has-inverse-f)
+
+-- Some iterated composites associated to a pair of invertible maps.
+#def has-inverse-retraction-composite uses (B has-inverse-f)
+ : A -> A
+ := composition A B A has-inverse-inverse f
+
+#def has-inverse-section-composite uses (A has-inverse-f)
+ : B -> B
+ := composition B A B f has-inverse-inverse
+
+-- This composite is parallel to f; we won't need the dual notion.
+#def has-inverse-triple-composite uses (has-inverse-f)
+ : A -> B
+ := triple-composition A B A B f has-inverse-inverse f
+
+-- This composite is also parallel to f; again we won't need the dual notion.
+#def has-inverse-quintuple-composite uses (has-inverse-f)
+ : A -> B
+ := \ a -> f (has-inverse-inverse (f (has-inverse-inverse (f a))))
+#end has-inverse-data
+```
+
+## Composing equivalences
+
+The type of equivalences between types uses is-equiv rather than has-inverse.
+
+```rzk
+#def Equiv
+ ( A B : U)
+ : U
+ := Σ (f : A -> B) , (is-equiv A B f)
+```
+
+The data of an equivalence is not symmetric so we promote an equivalence to an
+invertible map to prove symmetry.
+
+```rzk
+#def inv-equiv
+ ( A B : U)
+ ( e : Equiv A B)
+ : Equiv B A
+ :=
+ ( first (has-inverse-is-equiv A B (first e) (second e)) ,
+ ( ( first e ,
+ second (second (has-inverse-is-equiv A B (first e) (second e)))) ,
+ ( first e ,
+ first (second (has-inverse-is-equiv A B (first e) (second e))))))
+```
+
+Composition of equivalences in diagrammatic order.
+
+```rzk
+#def comp-equiv
+ ( A B C : U)
+ ( A≃B : Equiv A B)
+ ( B≃C : Equiv B C)
+ : Equiv A C
+ :=
+ ( \ a -> (first B≃C) ((first A≃B) a) , -- the composite equivalence
+ ( ( \ c ->
+ ( first (first (second A≃B))) ((first (first (second (B≃C)))) c) ,
+ ( \ a ->
+ concat A
+ ( (first (first (second A≃B)))
+ ((first (first (second B≃C)))
+ ((first B≃C) ((first A≃B) a))))
+ ( (first (first (second A≃B))) ((first A≃B) a))
+ ( a)
+ ( ap B A
+ ( (first (first (second B≃C))) ((first B≃C) ((first A≃B) a)))
+ -- should be inferred
+ ( (first A≃B) a) -- should be inferred
+ ( first (first (second A≃B)))
+ ( (second (first (second B≃C))) ((first A≃B) a)))
+ ( (second (first (second A≃B))) a))) ,
+ ( \ c ->
+ ( first (second (second A≃B)))
+ ( (first (second (second (B≃C)))) c) ,
+ ( \ c ->
+ concat C
+ ( (first B≃C) ((first A≃B) ((first (second (second A≃B)))
+ ((first (second (second B≃C))) c))))
+ ( (first B≃C) ((first (second (second B≃C))) c))
+ ( c)
+ ( ap B C
+ ( (first A≃B) ((first (second (second A≃B)))
+ ((first (second (second B≃C))) c))) -- should be inferred
+ ( (first (second (second B≃C))) c) -- should be inferred
+ ( first B≃C)
+ ( (second (second (second A≃B)))
+ ((first (second (second B≃C))) c)))
+ ( (second (second (second B≃C))) c)))))
+
+-- now we compose the functions that are equivalences
+#def compose-is-equiv
+ ( A B C : U)
+ ( f : A -> B)
+ ( is-equiv-f : is-equiv A B f)
+ ( g : B -> C)
+ ( is-equiv-g : is-equiv B C g)
+ : is-equiv A C (composition A B C g f)
+ :=
+ ( ( composition C B A
+ ( is-equiv-retraction A B f is-equiv-f)
+ ( is-equiv-retraction B C g is-equiv-g) ,
+ ( \ a ->
+ concat A
+ ( (is-equiv-retraction A B f is-equiv-f)
+ ((is-equiv-retraction B C g is-equiv-g) (g (f a))))
+ ( (is-equiv-retraction A B f is-equiv-f) (f a))
+ ( a)
+ ( ap B A
+ ( (is-equiv-retraction B C g is-equiv-g) (g (f a))) -- should be inferred
+ ( f a) -- should be inferred
+ ( is-equiv-retraction A B f is-equiv-f)
+ ( (second (first is-equiv-g)) (f a)))
+ ( (second (first is-equiv-f)) a))) ,
+ ( composition C B A
+ ( is-equiv-section A B f is-equiv-f)
+ ( is-equiv-section B C g is-equiv-g) ,
+ ( \ c ->
+ concat C
+ ( g (f ((first (second is-equiv-f)) ((first (second is-equiv-g)) c))))
+ ( g ((first (second is-equiv-g)) c))
+ ( c)
+ ( ap B C
+ ( f ((first (second is-equiv-f)) ((first (second is-equiv-g)) c)))
+ -- should be inferred
+ ( (first (second is-equiv-g)) c) -- should be inferred
+ ( g)
+ ( (second (second is-equiv-f)) ((first (second is-equiv-g)) c)))
+ ((second (second is-equiv-g)) c))))
+
+-- Right cancellation of equivalences in diagrammatic order.
+#def right-cancel-equiv
+ ( A B C : U)
+ ( A≃C : Equiv A C)
+ ( B≃C : Equiv B C)
+ : Equiv A B
+ := comp-equiv A C B (A≃C) (inv-equiv B C B≃C)
+
+-- Left cancellation of equivalences in diagrammatic order.
+#def left-cancel-equiv
+ ( A B C : U)
+ ( A≃B : Equiv A B)
+ ( A≃C : Equiv A C)
+ : Equiv B C
+ := comp-equiv B A C (inv-equiv A B A≃B) (A≃C)
+
+-- a composition of three equivalences
+#def triple-comp-equiv
+ ( A B C D : U)
+ ( A≃B : Equiv A B)
+ ( B≃C : Equiv B C)
+ ( C≃D : Equiv C D)
+ : Equiv A D
+ := comp-equiv A B D (A≃B) (comp-equiv B C D B≃C C≃D)
+
+#def triple-compose-is-equiv
+ ( A B C D : U)
+ ( f : A -> B)
+ ( is-equiv-f : is-equiv A B f)
+ ( g : B -> C)
+ ( is-equiv-g : is-equiv B C g)
+ ( h : C -> D)
+ ( is-equiv-h : is-equiv C D h)
+ : is-equiv A D (triple-composition A B C D h g f)
+ :=
+ compose-is-equiv A B D
+ ( f)
+ ( is-equiv-f)
+ ( composition B C D h g)
+ ( compose-is-equiv B C D g is-equiv-g h is-equiv-h)
+```
+
+## Equivalences and homotopy
+
+If a map is homotopic to an equivalence it is an equivalence.
+
+```rzk
+#def is-equiv-homotopic-is-equiv
+ ( A B : U)
+ ( f g : A -> B)
+ ( H : homotopy A B f g)
+ ( is-equiv-g : is-equiv A B g)
+ : is-equiv A B f
+ :=
+ ( ( ( first (first is-equiv-g)) ,
+ ( \ a ->
+ concat A
+ ( (first (first is-equiv-g)) (f a))
+ ( (first (first is-equiv-g)) (g a))
+ ( a)
+ ( ap B A (f a) (g a) (first (first is-equiv-g)) (H a))
+ ( (second (first is-equiv-g)) a))) ,
+ ( ( first (second is-equiv-g)) ,
+ ( \ b ->
+ concat B
+ ( f ((first (second is-equiv-g)) b))
+ ( g ((first (second is-equiv-g)) b))
+ ( b)
+ ( H ((first (second is-equiv-g)) b))
+ ( (second (second is-equiv-g)) b))))
+
+#def is-equiv-rev-homotopic-is-equiv
+ ( A B : U)
+ ( f g : A -> B)
+ ( H : homotopy A B f g)
+ ( is-equiv-f : is-equiv A B f)
+ : is-equiv A B g
+ := is-equiv-homotopic-is-equiv A B g f (homotopy-rev A B f g H) is-equiv-f
+```
+
+## Function extensionality
+
+By path induction, an identification between functions defines a homotopy
+
+```rzk
+#def htpy-eq
+ ( X : U)
+ ( A : X -> U)
+ ( f g : (x : X) -> A x)
+ ( p : f = g)
+ : (x : X) -> (f x = g x)
+ :=
+ idJ
+ ( ( (x : X) -> A x) ,
+ ( f) ,
+ ( \ g' p' -> (x : X) -> (f x = g' x)) ,
+ ( \ x -> refl) ,
+ ( g) ,
+ ( p))
+```
+
+The function extensionality axiom asserts that this map defines a family of
+equivalences.
+
+```rzk
+-- The type that encodes the function extensionality axiom.
+#def FunExt : U
+ :=
+ ( X : U) ->
+ ( A : X -> U) ->
+ ( f : (x : X) -> A x) ->
+ ( g : (x : X) -> A x) ->
+ is-equiv (f = g) ((x : X) -> f x = g x) (htpy-eq X A f g)
+
+-- The equivalence provided by function extensionality.
+#def FunExt-equiv
+ ( funext : FunExt)
+ ( X : U)
+ ( A : X -> U)
+ ( f g : (x : X) -> A x)
+ : Equiv (f = g) ((x : X) -> f x = g x)
+ := (htpy-eq X A f g , funext X A f g)
+
+-- In particular, function extensionality implies that homotopies give rise to identifications. This defines eq-htpy to be the retraction to htpy-eq.
+#def eq-htpy
+ ( funext : FunExt)
+ ( X : U)
+ ( A : X -> U)
+ ( f g : (x : X) -> A x)
+ : ((x : X) -> f x = g x) -> (f = g)
+ := first (first (funext X A f g))
+
+-- Using function extensionality, a fiberwise equivalence defines an equivalence of dependent function types
+#def equiv-function-equiv-fibered
+ ( funext : FunExt)
+ ( X : U)
+ ( A B : X -> U)
+ ( fibequiv : (x : X) -> Equiv (A x) (B x))
+ : Equiv ((x : X) -> A x) ((x : X) -> B x)
+ :=
+ ( ( \ a x -> (first (fibequiv x)) (a x)) ,
+ ( ( ( \ b x -> (first (first (second (fibequiv x)))) (b x)) ,
+ ( \ a ->
+ eq-htpy
+ funext X A
+ ( \ x ->
+ (first (first (second (fibequiv x))))
+ ((first (fibequiv x)) (a x)))
+ ( a)
+ ( \ x -> (second (first (second (fibequiv x)))) (a x)))) ,
+ ( ( \ b x -> (first (second (second (fibequiv x)))) (b x)) ,
+ ( \ b ->
+ eq-htpy
+ funext X B
+ ( \ x ->
+ (first (fibequiv x))
+ ((first (second (second (fibequiv x)))) (b x)))
+ ( b)
+ ( \ x -> (second (second (second (fibequiv x)))) (b x))))))
+```
+
+## Embeddings
+
+```rzk
+#def is-emb
+ ( A B : U)
+ ( f : A -> B)
+ : U
+ := (x : A) -> (y : A) -> is-equiv (x = y) (f x = f y) (ap A B x y f)
+
+#def Emb
+ ( A B : U)
+ : U
+ := (Σ (f : A -> B) , is-emb A B f)
+
+#def is-emb-is-inhabited-emb
+ ( A B : U)
+ ( f : A -> B)
+ ( e : A -> is-emb A B f)
+ : is-emb A B f
+ := \ x y -> e x x y
+
+#def inv-ap-is-emb
+ ( A B : U)
+ ( f : A -> B)
+ ( is-emb-f : is-emb A B f)
+ ( x y : A)
+ ( p : f x = f y)
+ : (x = y)
+ := first (first (is-emb-f x y)) p
+```
+
+## Reversal is an equivalence
+
+```rzk
+#def has-retraction-rev
+ ( A : U)
+ ( y : A)
+ : (x : A) -> has-retraction (x = y) (y = x) ((\ p -> ((rev A x y) p)))
+ :=
+ \ x ->
+ ( ( rev A y x) ,
+ ( \ p ->
+ idJ
+ ( A ,
+ x ,
+ ( \ y' p' ->
+ ( composition
+ ( x = y') (y' = x) (x = y') (rev A y' x) (rev A x y') (p'))
+ =_{x = y'}
+ ( p')) ,
+ ( refl) ,
+ ( y) ,
+ ( p))))
+
+#def has-section-rev
+ ( A : U)
+ ( y : A)
+ : (x : A) -> has-section (x = y) (y = x) ((\ p -> ((rev A x y) p)))
+ :=
+ \ x ->
+ ( ( rev A y x) ,
+ ( \ p ->
+ idJ
+ ( A ,
+ y ,
+ ( \ x' p' ->
+ ( composition
+ ( y = x') (x' = y) (y = x') (rev A x' y) (rev A y x') (p'))
+ =_{y = x'}
+ ( p')) ,
+ ( refl) ,
+ ( x) ,
+ ( p))))
+
+#def is-equiv-rev
+ ( A : U)
+ ( x y : A)
+ : is-equiv (x = y) (y = x) (rev A x y)
+ := ((has-retraction-rev A y x) , (has-section-rev A y x))
+```
diff --git a/docs/docs/_prelude/hott/06-contractible.rzk.md b/docs/docs/_prelude/hott/06-contractible.rzk.md
new file mode 100644
index 000000000..082c36f83
--- /dev/null
+++ b/docs/docs/_prelude/hott/06-contractible.rzk.md
@@ -0,0 +1,298 @@
+# 6. Contractible
+
+This is a literate `rzk` file:
+
+```rzk
+#lang rzk-1
+
+#require-file "docs/docs/_prelude/hott/00-common.rzk.md"
+#require-file "docs/docs/_prelude/hott/01-paths.rzk.md"
+#require-file "docs/docs/_prelude/hott/02-homotopies.rzk.md"
+#require-file "docs/docs/_prelude/hott/03-equivalences.rzk.md"
+```
+
+## Contractible types
+
+```rzk
+-- contractible types
+#def is-contr (A : U) : U
+ := Σ (x : A) , ((y : A) -> x = y)
+```
+
+## Contractible type data
+
+```rzk
+#section contractible-data
+
+#variable A : U
+#variable is-contr-A : is-contr A
+
+#def contraction-center
+ : A
+ := (first is-contr-A)
+
+-- The path from the contraction center to any point.
+#def contracting-htpy
+ : ( z : A) -> contraction-center = z
+ := second is-contr-A
+
+#def contracting-htpy-realigned uses (is-contr-A)
+ : ( z : A) -> contraction-center = z
+ :=
+ \ z ->
+ ( concat A contraction-center contraction-center z
+ (rev A contraction-center contraction-center
+ ( contracting-htpy contraction-center))
+ (contracting-htpy z))
+
+#def contracting-htpy-realigned-path uses (is-contr-A)
+ : ( contracting-htpy-realigned contraction-center) = refl
+ :=
+ ( left-inverse-concat A contraction-center contraction-center
+ ( contracting-htpy contraction-center))
+
+-- A path between an arbitrary pair of types in a contractible type.
+#def contractible-connecting-htpy uses (is-contr-A)
+ (x y : A)
+ : x = y
+ :=
+ zag-zig-concat A x contraction-center y
+ ( contracting-htpy x) (contracting-htpy y)
+
+#end contractible-data
+```
+
+## Unit type
+
+The prototypical contractible type is the unit type, which is built-in to rzk.
+
+```rzk
+#def ind-unit
+ ( C : Unit -> U)
+ ( C-unit : C unit)
+ ( x : Unit)
+ : C x
+ := C-unit
+
+#def is-prop-unit
+ ( x y : Unit)
+ : x = y
+ := refl
+
+-- Terminal projection as a constant map
+#def terminal-map
+ ( A : U)
+ : A -> Unit
+ := constant A Unit unit
+```
+
+## Identity types of unit types
+
+```rzk
+#def terminal-map-of-path-types-of-Unit-has-retr
+ ( x y : Unit)
+ : has-retraction (x = y) Unit (terminal-map (x = y))
+ :=
+ ( \ a -> refl ,
+ \ p -> idJ (Unit , x , \ y' p' -> refl =_{x = y'} p' , refl , y , p))
+
+#def terminal-map-of-path-types-of-Unit-has-sec
+ ( x y : Unit)
+ : has-section (x = y) Unit (terminal-map (x = y))
+ := ( \ a -> refl , \ a -> refl)
+
+#def terminal-map-of-path-types-of-Unit-is-equiv
+ ( x y : Unit)
+ : is-equiv (x = y) Unit (terminal-map (x = y))
+ :=
+ ( terminal-map-of-path-types-of-Unit-has-retr x y ,
+ terminal-map-of-path-types-of-Unit-has-sec x y)
+```
+
+## Characterization of contractibility
+
+A type is contractible if and only if its terminal map is an equivalence.
+
+```rzk
+#def terminal-map-is-equiv
+ ( A : U)
+ : U
+ := is-equiv A Unit (terminal-map A)
+
+#def contr-implies-terminal-map-is-equiv-retr
+ ( A : U)
+ ( is-contr-A : is-contr A)
+ : has-retraction A Unit (terminal-map A)
+ :=
+ ( constant Unit A (contraction-center A is-contr-A) ,
+ \ y -> (contracting-htpy A is-contr-A) y)
+
+#def contr-implies-terminal-map-is-equiv-sec
+ ( A : U)
+ ( is-contr-A : is-contr A)
+ : has-section A Unit (terminal-map A)
+ := ( constant Unit A (contraction-center A is-contr-A) , \ z -> refl)
+
+#def contr-implies-terminal-map-is-equiv
+ ( A : U)
+ ( is-contr-A : is-contr A)
+ : is-equiv A Unit (terminal-map A)
+ :=
+ ( contr-implies-terminal-map-is-equiv-retr A is-contr-A ,
+ contr-implies-terminal-map-is-equiv-sec A is-contr-A)
+
+#def terminal-map-is-equiv-implies-contr
+ ( A : U)
+ (e : terminal-map-is-equiv A)
+ : is-contr A
+ := ( (first (first e)) unit ,
+ (second (first e)))
+
+#def contr-iff-terminal-map-is-equiv
+ ( A : U)
+ : iff (is-contr A) (terminal-map-is-equiv A)
+ :=
+ ( ( contr-implies-terminal-map-is-equiv A) ,
+ ( terminal-map-is-equiv-implies-contr A))
+
+#def equiv-with-contractible-domain-implies-contractible-codomain
+ ( A B : U)
+ ( f : Equiv A B)
+ ( is-contr-A : is-contr A)
+ : is-contr B
+ := ( terminal-map-is-equiv-implies-contr B
+ ( second
+ ( comp-equiv B A Unit
+ ( inv-equiv A B f)
+ ( (terminal-map A) ,
+ ( contr-implies-terminal-map-is-equiv A is-contr-A)))))
+
+#def equiv-with-contractible-codomain-implies-contractible-domain
+ ( A B : U)
+ ( f : Equiv A B)
+ ( is-contr-B : is-contr B)
+ : is-contr A
+ :=
+ ( equiv-with-contractible-domain-implies-contractible-codomain B A
+ ( inv-equiv A B f) is-contr-B)
+
+#def equiv-then-domain-contractible-iff-codomain-contractible
+ ( A B : U)
+ ( f : Equiv A B)
+ : ( iff (is-contr A) (is-contr B))
+ :=
+ ( \ is-contr-A ->
+ ( equiv-with-contractible-domain-implies-contractible-codomain
+ A B f is-contr-A) ,
+ \ is-contr-B ->
+ ( equiv-with-contractible-codomain-implies-contractible-domain
+ A B f is-contr-B))
+
+#def path-types-of-Unit-are-contractible
+ ( x y : Unit)
+ : is-contr (x = y)
+ :=
+ ( terminal-map-is-equiv-implies-contr
+ ( x = y) (terminal-map-of-path-types-of-Unit-is-equiv x y))
+```
+
+## Retracts of contractible types
+
+A retract of contractible types is contractible.
+
+```rzk
+-- A type that records a proof that A is a retract of B.
+-- Very similar to has-retraction.
+#def is-retract-of
+ ( A B : U)
+ : U
+ := Σ ( s : A -> B) , has-retraction A B s
+
+#section retraction-data
+
+#variables A B : U
+#variable AretractB : is-retract-of A B
+
+#def is-retract-of-section
+ : A -> B
+ := first AretractB
+
+#def is-retract-of-retraction
+ : B -> A
+ := first (second AretractB)
+
+#def is-retract-of-homotopy
+ : homotopy A A (composition A B A is-retract-of-retraction is-retract-of-section) (identity A)
+ := second (second AretractB)
+
+-- If A is a retract of a contractible type it has a term.
+#def is-retract-of-is-contr-isInhabited uses (AretractB)
+ ( is-contr-B : is-contr B)
+ : A
+ := is-retract-of-retraction (contraction-center B is-contr-B)
+
+-- If A is a retract of a contractible type it has a contracting homotopy.
+#def is-retract-of-is-contr-hasHtpy uses (AretractB)
+ ( is-contr-B : is-contr B)
+ ( a : A)
+ : ( is-retract-of-is-contr-isInhabited is-contr-B) = a
+ := concat
+ A
+ ( is-retract-of-is-contr-isInhabited is-contr-B)
+ ( (composition A B A is-retract-of-retraction is-retract-of-section) a)
+ a
+ ( ap B A (contraction-center B is-contr-B) (is-retract-of-section a)
+ ( is-retract-of-retraction)
+ ( contracting-htpy B is-contr-B (is-retract-of-section a)))
+ ( is-retract-of-homotopy a)
+
+-- If A is a retract of a contractible type it is contractible.
+#def is-retract-of-is-contr-is-contr uses (AretractB)
+ ( is-contr-B : is-contr B)
+ : is-contr A
+ :=
+ ( is-retract-of-is-contr-isInhabited is-contr-B ,
+ is-retract-of-is-contr-hasHtpy is-contr-B)
+
+#end retraction-data
+```
+
+## Functions between contractible types
+
+A function between contractible types is an equivalence
+
+```rzk
+#def is-equiv-are-contr
+ ( A B : U)
+ ( is-contr-A : is-contr A)
+ ( is-contr-B : is-contr B)
+ ( f : A -> B)
+ : is-equiv A B f
+ :=
+ ( ( \ b -> contraction-center A is-contr-A ,
+ \ a -> contracting-htpy A is-contr-A a) ,
+ ( \ b -> contraction-center A is-contr-A ,
+ \ b -> contractible-connecting-htpy B is-contr-B
+ (f (contraction-center A is-contr-A)) b))
+```
+
+A type equivalent to a contractible type is contractible.
+
+```rzk
+#def is-contr-is-equiv-to-contr
+ ( A B : U)
+ ( e : Equiv A B)
+ ( is-contr-B : is-contr B)
+ : is-contr A
+ :=
+ is-retract-of-is-contr-is-contr A B (first e , first (second e)) is-contr-B
+
+#def is-contr-is-equiv-from-contr
+ ( A B : U)
+ ( e : Equiv A B)
+ ( is-contr-A : is-contr A)
+ : is-contr B
+ := is-retract-of-is-contr-is-contr B A
+ ( first (second (second e)) , (first e , second (second (second e))))
+ ( is-contr-A)
+```
diff --git a/docs/docs/_prelude/simplicial-hott/03-simplicial-type-theory.rzk.md b/docs/docs/_prelude/simplicial-hott/03-simplicial-type-theory.rzk.md
new file mode 100644
index 000000000..bc7095f72
--- /dev/null
+++ b/docs/docs/_prelude/simplicial-hott/03-simplicial-type-theory.rzk.md
@@ -0,0 +1,23 @@
+# 3. Simplicial Type Theory
+
+These formalisations correspond in part to Section 3 of the RS17 paper.
+
+This is a literate `rzk` file:
+
+```rzk
+#lang rzk-1
+```
+
+## Simplices and their subshapes
+
+### Simplices
+
+```rzk
+-- the 1-simplex
+#def Δ¹ : 2 -> TOPE
+ := \ t -> TOP
+
+-- the 2-simplex
+#def Δ² : (2 * 2) -> TOPE
+ := \ (t , s) -> s <= t
+```
diff --git a/docs/docs/_prelude/simplicial-hott/04-extension-types.rzk.md b/docs/docs/_prelude/simplicial-hott/04-extension-types.rzk.md
new file mode 100644
index 000000000..58343aa08
--- /dev/null
+++ b/docs/docs/_prelude/simplicial-hott/04-extension-types.rzk.md
@@ -0,0 +1,72 @@
+# Extension types
+
+!!! info "Incomplete file"
+
+ This file contains minimal definitions required in the examples used in
+ the documentation. Refer to
+ for a more complete file on equivalences.
+
+```rzk
+#lang rzk-1
+
+#require-file "docs/docs/_prelude/hott/00-common.rzk.md"
+#require-file "docs/docs/_prelude/hott/03-equivalences.rzk.md"
+
+#require-file "docs/docs/_prelude/simplicial-hott/03-simplicial-type-theory.rzk.md"
+```
+
+## Relative function extensionality
+
+There are various equivalent forms of the relative function extensionality
+axiom. Here we state the one that will be most useful and derive an application.
+
+```rzk
+#def ext-htpy-eq
+ ( I : CUBE)
+ ( ψ : I -> TOPE)
+ ( ϕ : ψ -> TOPE)
+ ( A : ψ -> U)
+ ( a : (t : ϕ) -> A t)
+ ( f g : (t : ψ) -> A t [ ϕ t |-> a t ])
+ ( p : f = g)
+ : (t : ψ) -> (f t = g t) [ ϕ t |-> refl ]
+ := idJ
+ ( ( (t : ψ) -> A t [ ϕ t |-> a t ]) ,
+ ( f) ,
+ ( \ g' p' -> (t : ψ) -> (f t = g' t) [ ϕ t |-> refl ]) ,
+ ( \ t -> refl) ,
+ ( g) ,
+ ( p))
+```
+
+The type that encodes the extension extensionality axiom. As suggested by
+footnote 8, we assert this as an "extension extensionality" axiom
+
+```rzk title="RS17, Proposition 4.8(ii)"
+
+#def ExtExt
+ : U
+ :=
+ ( I : CUBE) ->
+ ( ψ : I -> TOPE) ->
+ ( ϕ : ψ -> TOPE) ->
+ ( A : ψ -> U) ->
+ ( a : (t : ϕ) -> A t) ->
+ ( f : (t : ψ) -> A t [ ϕ t |-> a t ]) ->
+ ( g : (t : ψ) -> A t [ ϕ t |-> a t ]) ->
+ is-equiv
+ ( f = g)
+ ( (t : ψ) -> (f t = g t) [ ϕ t |-> refl ])
+ ( ext-htpy-eq I ψ ϕ A a f g)
+
+#def eq-ext-htpy
+ ( extext : ExtExt)
+ ( I : CUBE)
+ ( ψ : I -> TOPE)
+ ( ϕ : ψ -> TOPE)
+ ( A : ψ -> U)
+ ( a : (t : ϕ) -> A t)
+ ( f g : (t : ψ) -> A t [ ϕ t |-> a t ])
+ : ((t : ψ) -> (f t = g t) [ ϕ t |-> refl ]) -> (f = g)
+ := first (first (extext I ψ ϕ A a f g))
+```
diff --git a/docs/docs/_prelude/simplicial-hott/05-segal-types.rzk.md b/docs/docs/_prelude/simplicial-hott/05-segal-types.rzk.md
new file mode 100644
index 000000000..adb96ce94
--- /dev/null
+++ b/docs/docs/_prelude/simplicial-hott/05-segal-types.rzk.md
@@ -0,0 +1,62 @@
+# Segal Types
+
+These formalisations correspond to Section 5 of the RS17 paper.
+
+This is a literate `rzk` file:
+
+```rzk
+#lang rzk-1
+
+#require-file "docs/docs/_prelude/hott/06-contractible.rzk.md"
+
+#require-file "docs/docs/_prelude/simplicial-hott/03-simplicial-type-theory.rzk.md"
+```
+
+## Hom types
+
+Extension types are used to define the type of arrows between fixed terms:
+
+```rzk title="RS17, Definition 5.1"
+-- The type of arrows in A from x to y.
+#def hom
+ (A : U)
+ (x y : A)
+ : U
+ := (t : Δ¹) -> A [
+ t === 0_2 |-> x , -- * the left endpoint is exactly x
+ t === 1_2 |-> y -- * the right endpoint is exactly y
+ ]
+```
+
+Extension types are also used to define the type of commutative triangles:
+
+```rzk title="RS17, Definition 5.2"
+-- the type of commutative triangles in A
+#def hom2
+ (A : U)
+ (x y z : A)
+ (f : hom A x y)
+ (g : hom A y z)
+ (h : hom A x z)
+ : U
+ := { (t1 , t2) : Δ² } -> A [
+ t2 === 0_2 |-> f t1 , -- * the top edge is exactly `f`,
+ t1 === 1_2 |-> g t2 , -- * the right edge is exactly `g`, and
+ t2 === t1 |-> h t2 -- * the diagonal is exactly `h`
+ ]
+```
+
+## The Segal condition
+
+A type is Segal if every composable pair of arrows has a unique composite. Note
+this is a considerable simplification of the usual Segal condition, which also
+requires homotopical uniqueness of higher-order composites.
+
+```rzk title="RS17, Definition 5.3"
+#def is-segal
+ (A : U)
+ : U
+ := (x : A) -> (y : A) -> (z : A) ->
+ (f : hom A x y) -> (g : hom A y z) ->
+ is-contr ( Σ (h : hom A x z) , hom2 A x y z f g h)
+```
diff --git a/docs/docs/examples/hom.rzk.md b/docs/docs/examples/hom.rzk.md
deleted file mode 100644
index 854fd9470..000000000
--- a/docs/docs/examples/hom.rzk.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# Hom-type
-
-```rzk
-hom : (A : U) -> (x : A) -> (y : A) -> U
- := \A -> \x -> \y -> <{t : 2 | TOP} -> A [ t === 0_2 \/ t === 1_2 |-> recOR(t === 0_2, t === 1_2, x, y) ]>
-```
-
-```rzk
-RS17:Prop:3.5a : (A : U) -> (f : <{t : 2 | TOP} -> A[BOT |-> recBOT]>) -> <{ts : 2 * 2 | TOP} -> A [BOT |-> recBOT]>
- := \(A : U) -> \(f : <{t : 2 | TOP} -> A[BOT |-> recBOT]>) -> \{ts : 2 * 2 | TOP} -> recOR ((first ts) <= (second ts), (second ts) <= (first ts), f (second ts), f (first ts))
-
-RS17:Prop:3.5b : (A : U) -> (f : <{t : 2 | TOP} -> A[BOT |-> recBOT]>) -> <{ts : 2 * 2 | TOP} -> A [BOT |-> recBOT]>
- := \(A : U) -> \(f : <{t : 2 | TOP} -> A[BOT |-> recBOT]>) -> \{ts : 2 * 2 | TOP} -> recOR ((first ts) <= (second ts), (second ts) <= (first ts), f (first ts), f (second ts))
-```
-
-```rzk
-isShapeRetraction : (I : CUBE) -> (A : U) -> (phi : (t : I) -> TOPE) -> (psi : (t : I) -> TOPE) -> (f : (k : <{t : I | psi t} -> A [BOT |-> recBOT]>) -> <{t : I | phi t} -> A [BOT |-> recBOT]>) -> U
- := \(I : CUBE) -> \(A : U) -> \(phi : (t : I) -> TOPE) -> \(psi : (t : I) -> TOPE) -> \(f : (k : <{t : I | psi t} -> A [BOT |-> recBOT]>) -> <{t : I | phi t} -> A [BOT |-> recBOT]>) -> ∑ (g : (k : <{t : I | phi t} -> A [BOT |-> recBOT]>) -> <{t : I | psi t} -> A [BOT |-> recBOT]>), (k : <{t : I | phi t} -> A [BOT |-> recBOT]>) -> f (g k) =_{<{t : I | phi t} -> A [BOT |-> recBOT]>} k
-
-shapeRetract : (I : CUBE) -> (phi : (t : I) -> TOPE) -> (psi : (t : I) -> TOPE) -> U
- := \(I : CUBE) -> \(phi : (t : I) -> TOPE) -> \(psi : (t : I) -> TOPE) -> (A : U) -> ∑ (f : (k : <{t : I | psi t} -> A [BOT |-> recBOT]>) -> <{t : I | phi t} -> A [BOT |-> recBOT]>), isShapeRetraction I A phi psi f
-```
-
-```rzk
-Δ¹ : (t : 2) -> TOPE
- := \(t : 2) -> TOP
-
-Δ² : (t : 2 * 2) -> TOPE
- := \(t, s) -> s <= t
-
-Δ³ : (t : 2 * 2 * 2) -> TOPE
- := \((t1, t2), t3) -> t3 <= t2 /\ t2 <= t1
-
-shapeProd : (I : CUBE) -> (J : CUBE) -> (psi : (t : I) -> TOPE) -> (chi : (s : J) -> TOPE) -> (ts : I * J) -> TOPE
- := \I -> \J -> \psi -> \chi -> \(t, s) -> psi t /\ chi s
-
-Δ¹×Δ¹ : (t : 2 * 2) -> TOPE
- := shapeProd 2 2 Δ¹ Δ¹
-
-Δ²×Δ¹ : (t : 2 * 2 * 2) -> TOPE
- := shapeProd (2 * 2) 2 Δ² Δ¹
-```
-
-```rzk
-Δ²-is-retract-of-Δ¹×Δ¹ : shapeRetract (2 * 2) Δ² Δ¹×Δ¹
- := \A -> (\k -> \ts -> k ts, (\k -> \(t, s) -> recOR(t <= s, s <= t, k (t, s), k (t, s)), \k -> refl_{k}))
-```
-
-```rzk
-Δ³-is-retract-of-Δ²×Δ¹ : shapeRetract (2 * 2 * 2) Δ³ Δ²×Δ¹
- := \A -> (\k -> \ts -> k ((first (first ts), second ts), second (first ts)), (\k -> \ts -> recOR((second ts) <= (second (first ts)), (second (first ts)) <= (second ts) /\ (second ts) <= (first (first ts)) \/ (first (first ts)) <= second ts, k ((first (first ts), second ts), second (first ts)), recOR((second (first ts)) <= (second ts) /\ (second ts) <= (first (first ts)), (first (first ts)) <= second ts, k ((first (first ts), second ts), second (first ts)), k ((first (first ts), first (first ts)), second (first ts)))), \k -> refl_{k}))
-```
diff --git a/docs/docs/examples/recId.rzk.md b/docs/docs/examples/recId.rzk.md
index 635a36a25..df6462c77 100644
--- a/docs/docs/examples/recId.rzk.md
+++ b/docs/docs/examples/recId.rzk.md
@@ -1,9 +1,9 @@
# Tope disjuction elimination along identity paths
-\(\mathsf{rec}_{\lor}^{\psi,\phi}(a_\psi, a_\phi)\) (written `recOR(psi, phi, a_psi, a_phi)` in the code)
-is well-typed when \(a_\psi\) and \(a_\phi\) are _definitionally equal_ on \(\psi \land \phi\).
+\(\mathsf{rec}_{\lor}^{\psi,\phi}(a_\psi, a*\phi)\) (written `recOR(psi, phi, a_psi, a_phi)` in the code)
+is well-typed when \(a*\psi\) and \(a*\phi\) are \_definitionally equal* on \(\psi \land \phi\).
Sometimes this is too strong since many terms are not _definitionally_ equal, but only equal up to a path.
-Luckily, assuming relative function extensionality, we can define a weaker version of \(rec_{\lor}\) (`recOR`), which we call `recId`, that can work in presence of a witness of type \(\prod_{t : I \mid \psi \land \phi} a_\psi = a_\phi\).
+Luckily, assuming relative function extensionality, we can define a weaker version of \(rec*{\lor}\) (`recOR`), which we call `recId`, that can work in presence of a witness of type \(\prod*{t : I \mid \psi \land \phi} a*\psi = a*\phi\).
## Prerequisites
@@ -40,7 +40,7 @@ We begin by introducing common HoTT definitions:
:= ∑ (f : A -> B), isweq A B f
-- Transport along a path
-#define transport
+#define transport'
(A : U)
(C : A -> U)
(x y : A)
@@ -79,7 +79,7 @@ We can now define relative function extensionality. There are several formulatio
## Construction of `recId`
-The idea is straightforward. We ask for a proof that `a = b` for all points in `psi /\ phi`. Then, by relative function extensionality (`relfunext2`), we can show that restrictions of `a` and `b` to `psi /\ phi` are equal. If we reformulate `a` as extension of its restriction, then we can `transport` such reformulation along the path connecting two restrictions and apply `recOR`.
+The idea is straightforward. We ask for a proof that `a = b` for all points in `psi /\ phi`. Then, by relative function extensionality (`relfunext2`), we can show that restrictions of `a` and `b` to `psi /\ phi` are equal. If we reformulate `a` as extension of its restriction, then we can `transport'` such reformulation along the path connecting two restrictions and apply `recOR`.
First, we define how to restrict an extension type to a subshape:
@@ -150,7 +150,7 @@ Finally, we bring everything together into `recId`:
(e : {t : I | psi t /\ phi t} -> a_psi t = a_phi t)
: {t : I | psi t \/ phi t} -> A t
:= \t -> recOR(
- psi t |-> transport
+ psi t |-> transport'
({s : I | psi s /\ phi s} -> A s)
(\ra -> (s : psi) -> A s [ psi s /\ phi s |-> ra s ])
(restrict_psi a_psi)
diff --git a/docs/docs/reference/builtins/directed-interval.rzk.md b/docs/docs/reference/builtins/directed-interval.rzk.md
index e69de29bb..20b49ec81 100644
--- a/docs/docs/reference/builtins/directed-interval.rzk.md
+++ b/docs/docs/reference/builtins/directed-interval.rzk.md
@@ -0,0 +1,5 @@
+# Directed interval
+
+```rzk
+#lang rzk-1
+```
diff --git a/docs/docs/reference/builtins/unit.rzk.md b/docs/docs/reference/builtins/unit.rzk.md
index bb2335b72..c0ab8a5c5 100644
--- a/docs/docs/reference/builtins/unit.rzk.md
+++ b/docs/docs/reference/builtins/unit.rzk.md
@@ -34,13 +34,23 @@ As a non-trivial example, here is a proof that `Unit` is a Segal type:
```rzk
#section isSegal-Unit
+#require-file "docs/docs/_prelude/hott/00-common.rzk.md"
+#require-file "docs/docs/_prelude/hott/01-paths.rzk.md"
+#require-file "docs/docs/_prelude/hott/02-homotopies.rzk.md"
+#require-file "docs/docs/_prelude/hott/03-equivalences.rzk.md"
+#require-file "docs/docs/_prelude/hott/06-contractible.rzk.md"
+
+#require-file "docs/docs/_prelude/simplicial-hott/03-simplicial-type-theory.rzk.md"
+#require-file "docs/docs/_prelude/simplicial-hott/04-extension-types.rzk.md"
+#require-file "docs/docs/_prelude/simplicial-hott/05-segal-types.rzk.md"
+
#variable extext : ExtExt
-#define iscontr-Unit : isContr Unit
+#define is-contr-Unit : is-contr Unit
:= (unit, \_ -> refl)
-#define isContr-Δ²→Unit uses (extext)
- : isContr (Δ² -> Unit)
+#define is-contr-Δ²→Unit uses (extext)
+ : is-contr (Δ² -> Unit)
:= (\_ -> unit, \k -> eq-ext-htpy extext
(2 * 2) Δ² (\_ -> BOT)
(\_ -> Unit) (\_ -> recBOT)
@@ -48,13 +58,13 @@ As a non-trivial example, here is a proof that `Unit` is a Segal type:
(\_ -> refl)
)
-#define isSegal-Unit uses (extext)
- : isSegal Unit
- := \x y z f g -> isRetract-ofContr-isContr
+#define is-segal-Unit uses (extext)
+ : is-segal Unit
+ := \x y z f g -> is-retract-of-is-contr-is-contr
(∑ (h : hom Unit x z), hom2 Unit x y z f g h)
(Δ² -> Unit)
(\(_, k) -> k, (\k -> (\t -> k (t, t), k), \_ -> refl))
- isContr-Δ²→Unit
+ is-contr-Δ²→Unit
#end isSegal-Unit
```
diff --git a/docs/docs/reference/commands/check.rzk.md b/docs/docs/reference/commands/check.rzk.md
index e69de29bb..40f6fb506 100644
--- a/docs/docs/reference/commands/check.rzk.md
+++ b/docs/docs/reference/commands/check.rzk.md
@@ -0,0 +1,5 @@
+# Check
+
+```rzk
+#lang rzk-1
+```
diff --git a/docs/docs/reference/commands/compute.rzk.md b/docs/docs/reference/commands/compute.rzk.md
index e69de29bb..c38e57d19 100644
--- a/docs/docs/reference/commands/compute.rzk.md
+++ b/docs/docs/reference/commands/compute.rzk.md
@@ -0,0 +1,5 @@
+# Compute
+
+```rzk
+#lang rzk-1
+```
diff --git a/docs/docs/reference/commands/define-postulate.rzk.md b/docs/docs/reference/commands/define-postulate.rzk.md
index e69de29bb..ea017272c 100644
--- a/docs/docs/reference/commands/define-postulate.rzk.md
+++ b/docs/docs/reference/commands/define-postulate.rzk.md
@@ -0,0 +1,5 @@
+# Definitions and postulates
+
+```rzk
+#lang rzk-1
+```
diff --git a/docs/docs/reference/commands/options.rzk.md b/docs/docs/reference/commands/options.rzk.md
index e69de29bb..37d298122 100644
--- a/docs/docs/reference/commands/options.rzk.md
+++ b/docs/docs/reference/commands/options.rzk.md
@@ -0,0 +1,5 @@
+# Options
+
+```rzk
+#lang rzk-1
+```
diff --git a/docs/docs/reference/extension-types.rzk.md b/docs/docs/reference/extension-types.rzk.md
index f2b3f5d44..993ef739c 100644
--- a/docs/docs/reference/extension-types.rzk.md
+++ b/docs/docs/reference/extension-types.rzk.md
@@ -1,17 +1,21 @@
# Extension types
+```rzk
+#lang rzk-1
+```
-4. Extension types \(\left\langle \prod_{t : I \mid \psi} A \vert ^{\phi} _{a} \right\rangle\) are written as `#!rzk {t : I | psi t} -> A [ phi |-> a ]`
- - specifying `#!rzk [ phi |-> a ]` is optional, semantically defaults to `#!rzk [ BOT |-> recBOT ]` (like in RSTT);
- - specifying `#!rzk psi` in `#!rzk {t : I | psi}` is mandatory;
- - values of function types are \(\lambda\)-abstractions written in one of the following ways:
- - `#!rzk \t ->
` — this is usually fine;
- - `#!rzk \{t : I | psi} -> ` — this sometimes helps the typechecker;
+4. Extension types \(\left\langle \prod*{t : I \mid \psi} A \vert ^{\phi} *{a} \right\rangle\) are written as `#!rzk {t : I | psi t} -> A [ phi |-> a ]`
-5. Types of functions from a shape \(\prod_{t : I \mid \psi} A\) are a specialised variant of extension types and are written `#!rzk {t : I | psi} -> A`
- - specifying the name of the argument is mandatory; i.e. `#!rzk {I | psi} -> A` is invalid syntax!
- - values of function types are \(\lambda\)-abstractions written in one of the following ways:
- - `#!rzk \t -> ` — this is usually fine;
- - `#!rzk \{t : I | psi} -> ` — this sometimes helps the typechecker;
+ - specifying `#!rzk [ phi |-> a ]` is optional, semantically defaults to `#!rzk [ BOT |-> recBOT ]` (like in RSTT);
+ - specifying `#!rzk psi` in `#!rzk {t : I | psi}` is mandatory;
+ - values of function types are \(\lambda\)-abstractions written in one of the following ways:
+ - `#!rzk \t -> ` — this is usually fine;
+ - `#!rzk \{t : I | psi} -> ` — this sometimes helps the typechecker;
+
+5. Types of functions from a shape \(\prod\_{t : I \mid \psi} A\) are a specialised variant of extension types and are written `#!rzk {t : I | psi} -> A`
+ - specifying the name of the argument is mandatory; i.e. `#!rzk {I | psi} -> A` is invalid syntax!
+ - values of function types are \(\lambda\)-abstractions written in one of the following ways:
+ - `#!rzk \t -> ` — this is usually fine;
+ - `#!rzk \{t : I | psi} -> ` — this sometimes helps the typechecker;
[^1]: Emily Riehl & Michael Shulman. _A type theory for synthetic ∞-categories._ Higher Structures 1(1), 147-224. 2017.
diff --git a/docs/docs/reference/sections.rzk.md b/docs/docs/reference/sections.rzk.md
index ddffe2b0f..88165c2b7 100644
--- a/docs/docs/reference/sections.rzk.md
+++ b/docs/docs/reference/sections.rzk.md
@@ -3,6 +3,7 @@
Sections and variables allow to simplify definitions by factoring out common assumptions.
!!! info "Coq-style variables"
+
`rzk` implements variables similarly to
`Variable` command in Coq.
An important difference is that `rzk` does not allow definitions to use variables implicitly and adds `uses (...)` annotations to ensure such dependencies are not accidental.
@@ -123,4 +124,5 @@ Now, once outside of the section, `compose₄` and `twice₄` obtain correspondi
```
!!! warning "Lack of indentation"
+
`rzk` currently does not support indentation, so all definitions and commands inside a section (including nested sections) have to start at the beginning of a line.
diff --git a/docs/docs/reference/tope-disjunction-elimination.rzk.md b/docs/docs/reference/tope-disjunction-elimination.rzk.md
index 0b8f25e65..a52949581 100644
--- a/docs/docs/reference/tope-disjunction-elimination.rzk.md
+++ b/docs/docs/reference/tope-disjunction-elimination.rzk.md
@@ -1,13 +1,16 @@
# Tope disjuction elimination
+```rzk
+#lang rzk-1
+```
+
Following Riehl and Shulman's type theory[^1], `#!rzk rzk-1` introduces two primitive terms for disjunction elimination:
-1. `#!rzk recBOT` corresponds to \(\mathsf{rec}_\bot\), has any type, and is valid whenever tope context is included in `#!rzk BOT`;
+1. `#!rzk recBOT` corresponds to \(\mathsf{rec}\_\bot\), has any type, and is valid whenever tope context is included in `#!rzk BOT`;
-2. `#!rzk recOR(«tope_1» |-> «term_1», ..., «tope_n» |-> «term_n»)` defines a term for a disjunction of topes `#!rzk «tope_1» \/ ... \/ «tope_n»`. This is well-typed when for an intersection of any two topes `#!rzk «tope_i» /\ «tope_j»` the corresponding terms `#!rzk «term_i»` and `#!rzk «term_j»` are judgementally equal. In particular, `#!rzk recOR(psi |-> a_psi, phi |-> a_phi)` corresponds to \(\mathsf{rec}_\lor^{\psi, \phi}(a_\psi, a_\phi)\).
+2. `#!rzk recOR(«tope_1» |-> «term_1», ..., «tope_n» |-> «term_n»)` defines a term for a disjunction of topes `#!rzk «tope_1» \/ ... \/ «tope_n»`. This is well-typed when for an intersection of any two topes `#!rzk «tope_i» /\ «tope_j»` the corresponding terms `#!rzk «term_i»` and `#!rzk «term_j»` are judgementally equal. In particular, `#!rzk recOR(psi |-> a_psi, phi |-> a_phi)` corresponds to \(\mathsf{rec}_\lor^{\psi, \phi}(a_\psi, a\_\phi)\).
!!! warning "Deprecated syntax"
- `#!rzk recOR(psi, phi, a_psi, a_phi)` corresponds to \(\mathsf{rec}_\lor^{\psi, \phi}(a_\psi, a_\phi)\), is well-typed when `#!rzk a_psi` is definitionally equal to `#!rzk a_phi` under `#!rzk psi /\ phi`. However, this syntax is deprecated since it is easy to confuse which tope relates to which term.
+`#!rzk recOR(psi, phi, a_psi, a_phi)` corresponds to \(\mathsf{rec}_\lor^{\psi, \phi}(a_\psi, a\_\phi)\), is well-typed when `#!rzk a_psi` is definitionally equal to `#!rzk a_phi` under `#!rzk psi /\ phi`. However, this syntax is deprecated since it is easy to confuse which tope relates to which term.
[^1]: Emily Riehl & Michael Shulman. _A type theory for synthetic ∞-categories._ Higher Structures 1(1), 147-224. 2017.
-
diff --git a/docs/docs/reference/tope-layer.rzk.md b/docs/docs/reference/tope-layer.rzk.md
index a3c5a83b6..1f98e477e 100644
--- a/docs/docs/reference/tope-layer.rzk.md
+++ b/docs/docs/reference/tope-layer.rzk.md
@@ -1,21 +1,24 @@
# Tope layer
+```rzk
+#lang rzk-1
+```
+
All topes live in `#!rzk TOPE` universe.
Here are all the ways to build a tope:
1. Introduce a variable, e.g. `#!rzk (psi : TOPE) -> ...`;
- - Usually, topes depend on point variables from some cube(s). To indicate that, we usually introduce topes as "functions" from some cube to `#!rzk TOPE`. For example, `#!rzk (psi : I -> TOPE) -> ...`.
+ - Usually, topes depend on point variables from some cube(s). To indicate that, we usually introduce topes as "functions" from some cube to `#!rzk TOPE`. For example, `#!rzk (psi : I -> TOPE) -> ...`.
2. Use a constant:
- - top tope \(\top\) is written `#!rzk TOP`
- - bottom tope \(\bot\) is written `#!rzk BOT`
+ - top tope \(\top\) is written `#!rzk TOP`
+ - bottom tope \(\bot\) is written `#!rzk BOT`
3. Usa a tope connective:
- - tope conjunction \(\psi \land \phi\) is written `#!rzk psi /\ phi`
- - tope disjunction \(\psi \lor \phi\) is written `#!rzk psi \/ phi`
- - equality tope \(t \equiv s\) is written `#!rzk t === s`, whenever `#!rzk t` and `#!rzk s` are points of the same cube
- - inequality tope \(t \leq s\) is written `#!rzk t <= s` whenever `#!rzk t : 2` and `#!rzk s : 2`
-
+ - tope conjunction \(\psi \land \phi\) is written `#!rzk psi /\ phi`
+ - tope disjunction \(\psi \lor \phi\) is written `#!rzk psi \/ phi`
+ - equality tope \(t \equiv s\) is written `#!rzk t === s`, whenever `#!rzk t` and `#!rzk s` are points of the same cube
+ - inequality tope \(t \leq s\) is written `#!rzk t <= s` whenever `#!rzk t : 2` and `#!rzk s : 2`
diff --git a/rzk/src/Language/Rzk/Syntax.cf b/rzk/src/Language/Rzk/Syntax.cf
index cd98fdd1a..eb6aafc4a 100644
--- a/rzk/src/Language/Rzk/Syntax.cf
+++ b/rzk/src/Language/Rzk/Syntax.cf
@@ -18,6 +18,8 @@ LanguageDecl. LanguageDecl ::= "#lang" Language ";" ;
Rzk1. Language ::= "rzk-1" ;
+CommandRequireFile. Command ::= "#require-file" String ;
+
CommandSetOption. Command ::= "#set-option" String "=" String ;
CommandUnsetOption. Command ::= "#unset-option" String ;
diff --git a/rzk/src/Language/Rzk/Syntax/Abs.hs b/rzk/src/Language/Rzk/Syntax/Abs.hs
index 2770eca40..c4b0dde82 100644
--- a/rzk/src/Language/Rzk/Syntax/Abs.hs
+++ b/rzk/src/Language/Rzk/Syntax/Abs.hs
@@ -45,7 +45,8 @@ data Language' a = Rzk1 a
type Command = Command' BNFC'Position
data Command' a
- = CommandSetOption a String String
+ = CommandRequireFile a String
+ | CommandSetOption a String String
| CommandUnsetOption a String
| CommandCheck a (Term' a) (Term' a)
| CommandCompute a (Term' a)
@@ -226,6 +227,7 @@ instance HasPosition Language where
instance HasPosition Command where
hasPosition = \case
+ CommandRequireFile p _ -> p
CommandSetOption p _ _ -> p
CommandUnsetOption p _ -> p
CommandCheck p _ _ -> p
diff --git a/rzk/src/Language/Rzk/Syntax/Doc.txt b/rzk/src/Language/Rzk/Syntax/Doc.txt
index 938e37dc3..110ede03d 100644
--- a/rzk/src/Language/Rzk/Syntax/Doc.txt
+++ b/rzk/src/Language/Rzk/Syntax/Doc.txt
@@ -39,21 +39,21 @@ The reserved words used in Syntax are the following:
| ``Σ`` | ``π₁`` | ``π₂`` |
The symbols used in Syntax are the following:
- | #lang | ; | rzk-1 | #set-option
- | = | #unset-option | #check | :
- | #compute | #compute-whnf | #compute-nf | #postulate
- | #assume | #variable | #variables | #section
- | #end | #define | := | #def
- | ( | ) | , | |
- | { | } | ↦ | 1
- | *₁ | 2 | 0₂ | 1₂
- | × | ⊤ | ⊥ | ≡
- | ≤ | ∧ | ∨ | →
- | =_{ | [ | ] | <
- | > | \ | refl_{ | *
- | *_1 | 0_2 | 1_2 | ===
- | <= | /\ | \/ | ->
- | |-> | ∑ | |
+ | #lang | ; | rzk-1 | #require-file
+ | #set-option | = | #unset-option | #check
+ | : | #compute | #compute-whnf | #compute-nf
+ | #postulate | #assume | #variable | #variables
+ | #section | #end | #define | :=
+ | #def | ( | ) | ,
+ | | | { | } | ↦
+ | 1 | *₁ | 2 | 0₂
+ | 1₂ | × | ⊤ | ⊥
+ | ≡ | ≤ | ∧ | ∨
+ | → | =_{ | [ | ]
+ | < | > | \ | refl_{
+ | * | *_1 | 0_2 | 1_2
+ | === | <= | /\ | \/
+ | -> | |-> | ∑ |
===Comments===
Single-line comments begin with --.Multiple-line comments are enclosed with {- and -}.
@@ -71,7 +71,8 @@ All other symbols are terminals.
| | **|** | //VarIdent// //[VarIdent]//
| //LanguageDecl// | -> | ``#lang`` //Language// ``;``
| //Language// | -> | ``rzk-1``
- | //Command// | -> | ``#set-option`` //String// ``=`` //String//
+ | //Command// | -> | ``#require-file`` //String//
+ | | **|** | ``#set-option`` //String// ``=`` //String//
| | **|** | ``#unset-option`` //String//
| | **|** | ``#check`` //Term// ``:`` //Term//
| | **|** | ``#compute`` //Term//
diff --git a/rzk/src/Language/Rzk/Syntax/Layout.hs b/rzk/src/Language/Rzk/Syntax/Layout.hs
index 535c8ed70..66c1fced6 100644
--- a/rzk/src/Language/Rzk/Syntax/Layout.hs
+++ b/rzk/src/Language/Rzk/Syntax/Layout.hs
@@ -37,16 +37,16 @@ layoutStopWords = []
layoutOpen, layoutClose, layoutSep :: [TokSymbol]
layoutOpen = List.nub $ mapMaybe (delimOpen . snd) layoutWords
layoutClose = List.nub $ mapMaybe (delimClose . snd) layoutWords
-layoutSep = List.nub $ TokSymbol ";" 32 : map (delimSep . snd) layoutWords
+layoutSep = List.nub $ TokSymbol ";" 33 : map (delimSep . snd) layoutWords
parenOpen, parenClose :: [TokSymbol]
parenOpen =
- [ TokSymbol "(" 16
- , TokSymbol "[" 46
+ [ TokSymbol "(" 17
+ , TokSymbol "[" 47
]
parenClose =
- [ TokSymbol ")" 17
- , TokSymbol "]" 49
+ [ TokSymbol ")" 18
+ , TokSymbol "]" 50
]
-- | Report an error during layout resolution.
@@ -74,7 +74,7 @@ resolveLayout topLayout =
res Nothing [if topLayout then Implicit topDelim Definitive 1 else Explicit]
where
topDelim :: LayoutDelimiters
- topDelim = LayoutDelimiters (TokSymbol ";" 32) Nothing Nothing
+ topDelim = LayoutDelimiters (TokSymbol ";" 33) Nothing Nothing
res :: Maybe Token -- ^ The previous token, if any.
-> [Block] -- ^ A stack of layout blocks.
diff --git a/rzk/src/Language/Rzk/Syntax/Lex.hs b/rzk/src/Language/Rzk/Syntax/Lex.hs
index ebf16f985..8183c957c 100644
--- a/rzk/src/Language/Rzk/Syntax/Lex.hs
+++ b/rzk/src/Language/Rzk/Syntax/Lex.hs
@@ -35,21 +35,21 @@ alex_tab_size :: Int
alex_tab_size = 8
alex_base :: AlexAddr
alex_base = AlexA#
- "\xf8\xff\xff\xff\x91\xff\xff\xff\x93\xff\xff\xff\xa3\xff\xff\xff\x96\xff\xff\xff\x97\xff\xff\xff\x98\xff\xff\xff\x9e\xff\xff\xff\x9d\xff\xff\xff\x9b\xff\xff\xff\x9c\xff\xff\xff\x9a\xff\xff\xff\xa5\xff\xff\xff\xb1\xff\xff\xff\x9f\xff\xff\xff\xaf\xff\xff\xff\xb4\xff\xff\xff\xa4\xff\xff\xff\xae\xff\xff\xff\xbb\xff\xff\xff\xbc\xff\xff\xff\xb3\xff\xff\xff\xb8\xff\xff\xff\xc2\xff\xff\xff\xbd\xff\xff\xff\xc5\xff\xff\xff\xc8\xff\xff\xff\xcb\xff\xff\xff\xc4\xff\xff\xff\xc6\xff\xff\xff\x03\x00\x00\x00\xc3\xff\xff\xff\xca\xff\xff\xff\xcc\xff\xff\xff\xef\x00\x00\x00\xe6\x01\x00\x00\xdd\x02\x00\x00\xd4\x03\x00\x00\x00\x00\x00\x00\xcb\x04\x00\x00\xc2\x05\x00\x00\xb9\x06\x00\x00\xb0\x07\x00\x00\xa7\x08\x00\x00\x0e\x00\x00\x00\x37\x00\x00\x00\x9e\x09\x00\x00\x95\x0a\x00\x00\x8c\x0b\x00\x00\x83\x0c\x00\x00\x7a\x0d\x00\x00\x71\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x0e\x00\x00\x23\x0f\x00\x00\x63\x0f\x00\x00\xe3\x0f\x00\x00\x63\x10\x00\x00\x63\x11\x00\x00\xb6\x11\x00\x00\x89\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x12\x00\x00\x25\x11\x00\x00\xf7\x11\x00\x00\x7a\x13\x00\x00\xfa\x13\x00\x00\xfa\x14\x00\x00\x70\x15\x00\x00\xcf\xff\xff\xff\x10\x00\x00\x00\x00\x00\x00\x00\x66\x16\x00\x00\x66\x17\x00\x00\x67\x17\x00\x00\xe7\x17\x00\x00\xdb\x00\x00\x00\xbb\x14\x00\x00\x28\x18\x00\x00\x99\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x19\x00\x00\x90\x1a\x00\x00\x91\x1a\x00\x00\x11\x1b\x00\x00\x08\x1c\x00\x00\xff\x1c\x00\x00\xc7\xff\xff\xff\xc9\xff\xff\xff\xac\xff\xff\xff\xd0\xff\xff\xff\xa1\xff\xff\xff\x3f\x1d\x00\x00\x80\x1d\x00\x00\xf1\x1d\x00\x00\x00\x00\x00\x00\xcd\xff\xff\xff\xe8\x1e\x00\x00\xd4\xff\xff\xff\xdd\xff\xff\xff\xe7\xff\xff\xff\xe8\xff\xff\xff\xf3\xff\xff\xff\xfb\xff\xff\xff\xe6\xff\xff\xff\xeb\xff\xff\xff\xe9\xff\xff\xff\xef\xff\xff\xff\xf1\xff\xff\xff\xf4\xff\xff\xff\x38\x00\x00\x00\xf0\xff\xff\xff\x04\x00\x00\x00\xf5\xff\xff\xff\xfe\xff\xff\xff\x09\x00\x00\x00\x01\x00\x00\x00\xdf\x1f\x00\x00\x34\x00\x00\x00\x49\x00\x00\x00\x8c\x00\x00\x00\x92\x00\x00\x00\x11\x00\x00\x00\xcf\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x60\x00\x00\x00\x6c\x00\x00\x00\x75\x00\x00\x00\x86\x00\x00\x00\x83\x00\x00\x00\x88\x00\x00\x00\xcd\x00\x00\x00\x9b\x00\x00\x00"#
+ "\xf8\xff\xff\xff\x85\xff\xff\xff\x77\xff\xff\xff\x72\xff\xff\xff\x69\xff\xff\xff\x68\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x8c\xff\xff\xff\xdf\xff\xff\xff\x9c\xff\xff\xff\x9d\xff\xff\xff\x9e\xff\xff\xff\xa4\xff\xff\xff\xa3\xff\xff\xff\xa1\xff\xff\xff\xa2\xff\xff\xff\xa0\xff\xff\xff\xab\xff\xff\xff\xbb\xff\xff\xff\xa9\xff\xff\xff\xf6\xff\xff\xff\xed\xff\xff\xff\xef\x00\x00\x00\xbe\xff\xff\xff\xc9\xff\xff\xff\xc0\xff\xff\xff\xbc\xff\xff\xff\xcb\xff\xff\xff\xbd\xff\xff\xff\x0b\x00\x00\x00\xca\xff\xff\xff\xcc\xff\xff\xff\xcd\xff\xff\xff\xd2\xff\xff\xff\xd8\xff\xff\xff\xd9\xff\xff\xff\xe6\xff\xff\xff\xd6\xff\xff\xff\xdb\xff\xff\xff\xde\xff\xff\xff\xd7\xff\xff\xff\xd0\xff\xff\xff\xe6\x01\x00\x00\xc4\xff\xff\xff\x00\x00\x00\x00\x57\x02\x00\x00\x98\x02\x00\x00\xd8\x02\x00\x00\xa8\xff\xff\xff\xda\xff\xff\xff\xbf\xff\xff\xff\xc6\xff\xff\xff\xce\xff\xff\xff\xcf\x03\x00\x00\xc6\x04\x00\x00\x46\x05\x00\x00\xc6\x05\x00\x00\xc6\x06\x00\x00\x3d\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x07\x00\x00\xef\x07\x00\x00\x2f\x08\x00\x00\xdb\x00\x00\x00\xaf\x08\x00\x00\x2f\x09\x00\x00\x2f\x0a\x00\x00\xa5\x0a\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\xe2\xff\xff\xff\x9b\x0b\x00\x00\x9b\x0c\x00\x00\x9c\x0c\x00\x00\x1c\x0d\x00\x00\xe6\x0a\x00\x00\x5d\x0d\x00\x00\xce\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x0e\x00\x00\x74\x0f\x00\x00\x74\x10\x00\x00\x75\x10\x00\x00\xf5\x10\x00\x00\x0f\x0e\x00\x00\xe3\x0e\x00\x00\x66\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x12\x00\x00\x54\x13\x00\x00\x4b\x14\x00\x00\x42\x15\x00\x00\x39\x16\x00\x00\x30\x17\x00\x00\xfa\x00\x00\x00\x2a\x00\x00\x00\x27\x18\x00\x00\x1e\x19\x00\x00\x15\x1a\x00\x00\x0c\x1b\x00\x00\x03\x1c\x00\x00\x00\x00\x00\x00\xfa\x1c\x00\x00\xf1\x1d\x00\x00\xe8\x1e\x00\x00\xdf\x1f\x00\x00\xec\xff\xff\xff\xee\xff\xff\xff\xf0\xff\xff\xff\x34\x00\x00\x00\xfd\xff\xff\xff\xf3\xff\xff\xff\x97\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\xfe\xff\xff\xff\x0a\x00\x00\x00\x08\x00\x00\x00\x04\x00\x00\x00\x0c\x00\x00\x00\x0e\x00\x00\x00\x09\x00\x00\x00\xff\xff\xff\xff\x15\x00\x00\x00\x12\x00\x00\x00\x8d\x00\x00\x00\x95\x00\x00\x00\x99\x00\x00\x00\x94\x00\x00\x00\x98\x00\x00\x00\xa2\x00\x00\x00\xdc\x00\x00\x00\xa5\x00\x00\x00\x9a\x00\x00\x00\xa4\x00\x00\x00\x9b\x00\x00\x00\x9d\x00\x00\x00\xae\x00\x00\x00\xaf\x00\x00\x00\xa1\x00\x00\x00\xa7\x00\x00\x00\xa6\x00\x00\x00\xe0\x00\x00\x00\x9e\x00\x00\x00\x9c\x00\x00\x00"#
alex_table :: AlexAddr
alex_table = AlexA#
- "\x00\x00\x2d\x00\x2d\x00\x2e\x00\x2e\x00\x2d\x00\x02\x00\x03\x00\x1e\x00\x05\x00\x06\x00\x0f\x00\x09\x00\x07\x00\x0a\x00\x0c\x00\x0b\x00\x0d\x00\x0e\x00\x0f\x00\x26\x00\x11\x00\x12\x00\x13\x00\x2d\x00\xff\xff\x4d\x00\x6f\x00\x14\x00\x6a\x00\x15\x00\x16\x00\x26\x00\x26\x00\x29\x00\x18\x00\x26\x00\x4b\x00\xff\xff\x7d\x00\x5e\x00\x2a\x00\x28\x00\x19\x00\x26\x00\x1b\x00\x1c\x00\x20\x00\x73\x00\x70\x00\x2b\x00\x26\x00\x8e\x00\x27\x00\x26\x00\x58\x00\x1d\x00\x21\x00\x26\x00\x3d\x00\x8f\x00\x49\x00\x28\x00\x76\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x28\x00\x28\x00\x26\x00\x26\x00\x28\x00\x6b\x00\x5f\x00\x26\x00\x6c\x00\x26\x00\x8d\x00\x82\x00\x1f\x00\x28\x00\x26\x00\x83\x00\x26\x00\x61\x00\x2d\x00\x8a\x00\x88\x00\x63\x00\x6d\x00\x04\x00\x70\x00\x6e\x00\x71\x00\x7c\x00\x1c\x00\x4a\x00\x74\x00\x76\x00\x75\x00\x72\x00\x17\x00\x78\x00\x77\x00\x2f\x00\x08\x00\x79\x00\x26\x00\x1a\x00\x7b\x00\x7a\x00\x10\x00\x26\x00\x2c\x00\x7f\x00\x26\x00\x7e\x00\x81\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x89\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x87\x00\x84\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x62\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x00\x80\x00\xff\xff\x4d\x00\x26\x00\x69\x00\x28\x00\x28\x00\x4d\x00\x28\x00\x28\x00\x8b\x00\x28\x00\x28\x00\x28\x00\x28\x00\x26\x00\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x28\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x33\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x68\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x60\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x28\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\x2d\x00\x2e\x00\x2e\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2d\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x28\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x3c\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x39\x00\x3b\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x38\x00\x3a\x00\x34\x00\x34\x00\x34\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x39\x00\x3b\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x38\x00\x3a\x00\x34\x00\x34\x00\x34\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x48\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x45\x00\x47\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x41\x00\x44\x00\x46\x00\x40\x00\x40\x00\x40\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x52\x00\x4f\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x53\x00\x50\x00\x57\x00\x57\x00\x57\x00\x54\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x4e\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x55\x00\x4f\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x56\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x5d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x60\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x8c\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x26\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x64\x00\x5b\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x85\x00\x65\x00\x5c\x00\x86\x00\x86\x00\x86\x00\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
+ "\x00\x00\x67\x00\x67\x00\x66\x00\x66\x00\x67\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x6c\x00\x2b\x00\x6c\x00\x6e\x00\x0b\x00\x0c\x00\x85\x00\x0f\x00\x0d\x00\x10\x00\x12\x00\x11\x00\x13\x00\x67\x00\xff\xff\x47\x00\x25\x00\x14\x00\x85\x00\x6c\x00\x6c\x00\x6e\x00\x6e\x00\x6b\x00\x16\x00\x6e\x00\x49\x00\xff\xff\x17\x00\x36\x00\x6a\x00\x6c\x00\x6e\x00\x19\x00\x6e\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x69\x00\x6e\x00\x97\x00\x6d\x00\x6e\x00\x3c\x00\x1f\x00\x20\x00\x75\x00\x24\x00\x78\x00\x88\x00\x27\x00\x6e\x00\x28\x00\x29\x00\x6e\x00\x6e\x00\x22\x00\x4a\x00\x01\x00\x0a\x00\x35\x00\x26\x00\x23\x00\x18\x00\x6c\x00\x6c\x00\x4b\x00\x96\x00\x6c\x00\x6c\x00\x7d\x00\x6e\x00\x09\x00\x6e\x00\x0e\x00\x57\x00\x92\x00\x7a\x00\x6e\x00\x1a\x00\x84\x00\x73\x00\x24\x00\x6e\x00\x33\x00\x21\x00\x02\x00\x04\x00\x31\x00\x6c\x00\x74\x00\x77\x00\x79\x00\x6e\x00\x65\x00\x7c\x00\x7b\x00\x2a\x00\x7f\x00\x80\x00\x7e\x00\x82\x00\x81\x00\x68\x00\x15\x00\x6e\x00\x83\x00\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x03\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x05\x00\x08\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x32\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x85\x00\xff\xff\x47\x00\x86\x00\x87\x00\x85\x00\x89\x00\x47\x00\x67\x00\x67\x00\x67\x00\x67\x00\x67\x00\x8a\x00\x8b\x00\x8c\x00\x1e\x00\x8d\x00\x8e\x00\x90\x00\xff\xff\x8f\x00\xff\xff\xff\xff\x91\x00\x76\x00\x93\x00\x95\x00\xff\xff\xff\xff\x00\x00\x67\x00\xff\xff\x94\x00\x6e\x00\x98\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\xff\xff\x6e\x00\xff\xff\x47\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x2c\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x34\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x46\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x46\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x3f\x00\x42\x00\x45\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x3e\x00\x41\x00\x44\x00\x3d\x00\x3d\x00\x3d\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x4f\x00\x4d\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x50\x00\x4e\x00\x54\x00\x54\x00\x54\x00\x51\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x4c\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x4d\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x4f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5b\x00\x59\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5c\x00\x5a\x00\x60\x00\x60\x00\x60\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5b\x00\x59\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5c\x00\x5a\x00\x60\x00\x60\x00\x60\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x58\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x5e\x00\x59\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5f\x00\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x6c\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\x67\x00\x66\x00\x66\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x6c\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x34\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x99\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x61\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x30\x00\x39\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x07\x00\x2f\x00\x38\x00\x06\x00\x06\x00\x06\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
alex_check :: AlexAddr
alex_check = AlexA#
- "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x75\x00\x74\x00\x65\x00\x73\x00\x73\x00\x6d\x00\x6f\x00\x75\x00\x73\x00\x75\x00\x74\x00\x6c\x00\x61\x00\x74\x00\x65\x00\x61\x00\x72\x00\x69\x00\x20\x00\x21\x00\x22\x00\x23\x00\x61\x00\x65\x00\x62\x00\x6c\x00\x28\x00\x29\x00\x2a\x00\x61\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x6e\x00\x67\x00\x65\x00\x63\x00\x69\x00\x2d\x00\x6e\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6d\x00\x2d\x00\x92\x00\x74\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xa4\x00\xa5\x00\x73\x00\x6b\x00\x82\x00\x63\x00\x82\x00\x66\x00\x65\x00\x3e\x00\x82\x00\x65\x00\x68\x00\xa6\x00\x5b\x00\x5c\x00\x5d\x00\x86\x00\x20\x00\x88\x00\x89\x00\x8a\x00\x68\x00\x61\x00\x6e\x00\x63\x00\x64\x00\x65\x00\x70\x00\x6f\x00\x6f\x00\x74\x00\x2d\x00\x77\x00\x6c\x00\x73\x00\x65\x00\x72\x00\x70\x00\x6e\x00\x64\x00\x73\x00\x6e\x00\x75\x00\x76\x00\x3e\x00\x7b\x00\x7c\x00\x7d\x00\x2d\x00\x66\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x6e\x00\x69\x00\x0d\x00\x22\x00\x2f\x00\x80\x00\xa3\x00\xa1\x00\x27\x00\x97\x00\xa4\x00\x82\x00\x91\x00\x81\x00\x82\x00\x81\x00\x3d\x00\x70\x00\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xa7\x00\xa8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x5b\x00\x5c\x00\x5d\x00\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x2d\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x0a\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00"#
+ "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x81\x00\x82\x00\x91\x00\x97\x00\xa1\x00\xa3\x00\x80\x00\xa4\x00\x2f\x00\x73\x00\x73\x00\x6d\x00\x6f\x00\x75\x00\x73\x00\x75\x00\x74\x00\x6c\x00\x20\x00\x21\x00\x22\x00\x23\x00\x61\x00\x74\x00\xa7\x00\xa8\x00\x28\x00\x29\x00\x2a\x00\x2d\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3e\x00\x6e\x00\x64\x00\x6e\x00\x73\x00\x65\x00\x74\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2d\x00\x6f\x00\x68\x00\x6e\x00\x70\x00\x65\x00\x68\x00\x66\x00\x65\x00\x63\x00\x6b\x00\x73\x00\x77\x00\x6f\x00\x82\x00\x61\x00\x82\x00\x63\x00\x64\x00\x65\x00\xa4\x00\xa5\x00\x2d\x00\x6d\x00\x82\x00\x92\x00\x6c\x00\x5b\x00\x5c\x00\x5d\x00\x70\x00\x2d\x00\x72\x00\x73\x00\x6e\x00\x75\x00\x76\x00\x6f\x00\x6e\x00\x3e\x00\x86\x00\x2d\x00\x88\x00\x89\x00\x8a\x00\xa6\x00\x69\x00\x74\x00\x65\x00\x67\x00\x72\x00\x61\x00\x6e\x00\x65\x00\x62\x00\x61\x00\x6c\x00\x72\x00\x69\x00\x7b\x00\x7c\x00\x7d\x00\x61\x00\x65\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x63\x00\x6e\x00\x0d\x00\x22\x00\x69\x00\x66\x00\x6c\x00\x69\x00\x27\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x66\x00\x2d\x00\x65\x00\x74\x00\x72\x00\x69\x00\x71\x00\x20\x00\x75\x00\x22\x00\x23\x00\x65\x00\x65\x00\x74\x00\x70\x00\x28\x00\x29\x00\xff\xff\x20\x00\x2c\x00\x75\x00\x3d\x00\x82\x00\x81\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\x5b\x00\x5c\x00\x5d\x00\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7a\x00\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x09\x00\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00"#
alex_deflt :: AlexAddr
alex_deflt = AlexA#
- "\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x59\x00\x59\x00\x59\x00\x59\x00\xff\xff\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\xff\xff\xff\xff\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x35\x00\x36\x00\x3d\x00\x35\x00\x36\x00\x3d\x00\xff\xff\xff\xff\x3d\x00\x3d\x00\x3d\x00\xff\xff\x41\x00\x42\x00\x49\x00\x41\x00\x42\x00\x49\x00\xff\xff\xff\xff\x49\x00\x49\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4d\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x55\x00\x56\x00\x4d\x00\x55\x00\x56\x00\xff\xff\x59\x00\x59\x00\xff\xff\xff\xff\x59\x00\x59\x00\x59\x00\x67\x00\x59\x00\x67\x00\x59\x00\x59\x00\x67\x00\x85\x00\x59\x00\x67\x00\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x59\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x59\x00\x67\x00\x85\x00\x59\x00\x59\x00\x59\x00\x59\x00\x59\x00\x67\x00\x59\x00\xff\xff\xff\xff"#
+ "\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x07\x00\x2d\x00\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x2d\x00\x3b\x00\x07\x00\x2d\x00\x3b\x00\x3b\x00\x2d\x00\x3b\x00\x2d\x00\x3b\x00\x3b\x00\x3b\x00\xff\xff\xff\xff\x3b\x00\x3b\x00\xff\xff\x3e\x00\x3f\x00\x47\x00\x3e\x00\x3f\x00\x47\x00\xff\xff\xff\xff\xff\xff\x47\x00\x47\x00\xff\xff\xff\xff\xff\xff\x4b\x00\x4b\x00\xff\xff\xff\xff\x4b\x00\x52\x00\x53\x00\x4b\x00\x52\x00\x53\x00\xff\xff\x57\x00\x57\x00\x57\x00\xff\xff\xff\xff\x57\x00\x5e\x00\x5f\x00\x57\x00\x5e\x00\x5f\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\xff\xff\xff\xff\x3b\x00\x3b\x00\x3b\x00\x3b\x00\x3b\x00\xff\xff\x3b\x00\x3b\x00\x3b\x00\x3b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x2d\x00"#
-alex_accept = listArray (0 :: Int, 143)
+alex_accept = listArray (0 :: Int, 153)
[ AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -59,6 +59,7 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAccNone
, AlexAccNone
+ , AlexAcc 28
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -70,6 +71,14 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAccNone
, AlexAccNone
+ , AlexAcc 27
+ , AlexAccNone
+ , AlexAcc 26
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -80,28 +89,11 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 28
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 27
- , AlexAcc 26
, AlexAcc 25
, AlexAcc 24
- , AlexAcc 23
- , AlexAcc 22
- , AlexAcc 21
- , AlexAcc 20
- , AlexAcc 19
- , AlexAcc 18
- , AlexAcc 17
- , AlexAccSkip
- , AlexAccSkip
- , AlexAcc 16
- , AlexAcc 15
- , AlexAcc 14
- , AlexAcc 13
- , AlexAcc 12
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -112,10 +104,13 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAccNone
, AlexAccNone
+ , AlexAcc 23
+ , AlexAcc 22
, AlexAccNone
- , AlexAccSkip
, AlexAccNone
, AlexAccNone
+ , AlexAcc 21
+ , AlexAcc 20
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -123,14 +118,14 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAccSkip
, AlexAccNone
, AlexAccNone
- , AlexAcc 11
, AlexAccNone
, AlexAccNone
+ , AlexAcc 19
, AlexAccNone
, AlexAccNone
+ , AlexAccSkip
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -138,13 +133,10 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 10
- , AlexAcc 9
, AlexAccNone
, AlexAccNone
+ , AlexAccSkip
, AlexAccNone
- , AlexAcc 8
- , AlexAcc 7
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -155,11 +147,28 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAccNone
, AlexAccNone
+ , AlexAcc 18
+ , AlexAcc 17
+ , AlexAcc 16
+ , AlexAcc 15
+ , AlexAcc 14
+ , AlexAccSkip
+ , AlexAccSkip
+ , AlexAcc 13
+ , AlexAcc 12
+ , AlexAcc 11
+ , AlexAcc 10
+ , AlexAcc 9
+ , AlexAcc 8
+ , AlexAcc 7
, AlexAcc 6
, AlexAcc 5
+ , AlexAcc 4
+ , AlexAcc 3
, AlexAccNone
, AlexAccNone
, AlexAccNone
+ , AlexAcc 2
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -175,13 +184,13 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAccNone
, AlexAccNone
- , AlexAcc 4
, AlexAccNone
- , AlexAcc 3
+ , AlexAcc 1
+ , AlexAccNone
+ , AlexAccNone
+ , AlexAccNone
, AlexAccNone
- , AlexAcc 2
, AlexAccNone
- , AlexAcc 1
, AlexAccNone
, AlexAccNone
, AlexAccNone
@@ -194,35 +203,36 @@ alex_accept = listArray (0 :: Int, 143)
, AlexAccNone
, AlexAcc 0
, AlexAccNone
+ , AlexAccNone
]
alex_actions = array (0 :: Int, 29)
[ (28,alex_action_3)
- , (27,alex_action_4)
+ , (27,alex_action_3)
, (26,alex_action_4)
- , (25,alex_action_4)
+ , (25,alex_action_3)
, (24,alex_action_4)
- , (23,alex_action_3)
- , (22,alex_action_3)
- , (21,alex_action_3)
- , (20,alex_action_3)
- , (19,alex_action_3)
- , (18,alex_action_3)
- , (17,alex_action_3)
+ , (23,alex_action_4)
+ , (22,alex_action_4)
+ , (21,alex_action_4)
+ , (20,alex_action_5)
+ , (19,alex_action_7)
+ , (18,alex_action_4)
+ , (17,alex_action_4)
, (16,alex_action_4)
, (15,alex_action_4)
, (14,alex_action_4)
- , (13,alex_action_4)
- , (12,alex_action_4)
- , (11,alex_action_7)
- , (10,alex_action_5)
- , (9,alex_action_4)
- , (8,alex_action_4)
- , (7,alex_action_4)
+ , (13,alex_action_3)
+ , (12,alex_action_3)
+ , (11,alex_action_3)
+ , (10,alex_action_3)
+ , (9,alex_action_3)
+ , (8,alex_action_3)
+ , (7,alex_action_3)
, (6,alex_action_4)
- , (5,alex_action_3)
+ , (5,alex_action_4)
, (4,alex_action_4)
- , (3,alex_action_3)
+ , (3,alex_action_4)
, (2,alex_action_3)
, (1,alex_action_3)
, (0,alex_action_3)
@@ -333,43 +343,43 @@ eitherResIdent tv s = treeFind resWords
-- | The keywords and symbols of the language organized as binary search tree.
resWords :: BTree
resWords =
- b "BOT" 39
- (b "*\8321" 20
+ b "BOT" 40
+ (b "*_1" 20
(b "#postulate" 10
(b "#compute-whnf" 5
(b "#compute" 3
(b "#check" 2 (b "#assume" 1 N N) N) (b "#compute-nf" 4 N N))
(b "#end" 8 (b "#define" 7 (b "#def" 6 N N) N) (b "#lang" 9 N N)))
- (b "#variables" 15
- (b "#unset-option" 13
- (b "#set-option" 12 (b "#section" 11 N N) N)
- (b "#variable" 14 N N))
- (b "*" 18 (b ")" 17 (b "(" 16 N N) N) (b "*_1" 19 N N))))
- (b ":" 30
- (b "0\8322" 25
- (b "/\\" 23 (b "->" 22 (b "," 21 N N) N) (b "0_2" 24 N N))
- (b "1\8322" 28 (b "1_2" 27 (b "1" 26 N N) N) (b "2" 29 N N)))
- (b "=" 35
- (b "<" 33 (b ";" 32 (b ":=" 31 N N) N) (b "<=" 34 N N))
- (b "=_{" 37 (b "===" 36 N N) (b ">" 38 N N)))))
- (b "unit" 59
- (b "]" 49
- (b "U" 44
- (b "TOP" 42 (b "Sigma" 41 (b "CUBE" 40 N N) N) (b "TOPE" 43 N N))
- (b "\\" 47 (b "[" 46 (b "Unit" 45 N N) N) (b "\\/" 48 N N)))
- (b "recOR" 54
- (b "idJ" 52 (b "first" 51 (b "as" 50 N N) N) (b "recBOT" 53 N N))
- (b "rzk-1" 57
- (b "refl_{" 56 (b "refl" 55 N N) N) (b "second" 58 N N))))
- (b "\8594" 69
- (b "}" 64
- (b "|" 62 (b "{" 61 (b "uses" 60 N N) N) (b "|->" 63 N N))
- (b "\960\8321" 67
- (b "\931" 66 (b "\215" 65 N N) N) (b "\960\8322" 68 N N)))
- (b "\8801" 74
- (b "\8743" 72
- (b "\8721" 71 (b "\8614" 70 N N) N) (b "\8744" 73 N N))
- (b "\8868" 76 (b "\8804" 75 N N) (b "\8869" 77 N N)))))
+ (b "#variable" 15
+ (b "#set-option" 13
+ (b "#section" 12 (b "#require-file" 11 N N) N)
+ (b "#unset-option" 14 N N))
+ (b ")" 18 (b "(" 17 (b "#variables" 16 N N) N) (b "*" 19 N N))))
+ (b "2" 30
+ (b "0_2" 25
+ (b "->" 23 (b "," 22 (b "*\8321" 21 N N) N) (b "/\\" 24 N N))
+ (b "1_2" 28 (b "1" 27 (b "0\8322" 26 N N) N) (b "1\8322" 29 N N)))
+ (b "<=" 35
+ (b ";" 33 (b ":=" 32 (b ":" 31 N N) N) (b "<" 34 N N))
+ (b "=_{" 38 (b "===" 37 (b "=" 36 N N) N) (b ">" 39 N N)))))
+ (b "unit" 60
+ (b "]" 50
+ (b "U" 45
+ (b "TOP" 43 (b "Sigma" 42 (b "CUBE" 41 N N) N) (b "TOPE" 44 N N))
+ (b "\\" 48 (b "[" 47 (b "Unit" 46 N N) N) (b "\\/" 49 N N)))
+ (b "recOR" 55
+ (b "idJ" 53 (b "first" 52 (b "as" 51 N N) N) (b "recBOT" 54 N N))
+ (b "rzk-1" 58
+ (b "refl_{" 57 (b "refl" 56 N N) N) (b "second" 59 N N))))
+ (b "\8594" 70
+ (b "}" 65
+ (b "|" 63 (b "{" 62 (b "uses" 61 N N) N) (b "|->" 64 N N))
+ (b "\960\8321" 68
+ (b "\931" 67 (b "\215" 66 N N) N) (b "\960\8322" 69 N N)))
+ (b "\8801" 75
+ (b "\8743" 73
+ (b "\8721" 72 (b "\8614" 71 N N) N) (b "\8744" 74 N N))
+ (b "\8868" 77 (b "\8804" 76 N N) (b "\8869" 78 N N)))))
where
b s n = B bs (TS bs n)
where
diff --git a/rzk/src/Language/Rzk/Syntax/Lex.x b/rzk/src/Language/Rzk/Syntax/Lex.x
index 3f9269636..fad6f61c2 100644
--- a/rzk/src/Language/Rzk/Syntax/Lex.x
+++ b/rzk/src/Language/Rzk/Syntax/Lex.x
@@ -28,7 +28,7 @@ $u = [. \n] -- universal: any character
-- Symbols and non-identifier-like reserved words
-@rsyms = \Σ | \π \₁ | \π \₂ | \# "lang" | \; | "rzk" \- "1" | \# "set" \- "option" | \= | \# "unset" \- "option" | \# "check" | \: | \# "compute" | \# "compute" \- "whnf" | \# "compute" \- "nf" | \# "postulate" | \# "assume" | \# "variable" | \# "variables" | \# "section" | \# "end" | \# "define" | \: \= | \# "def" | \( | \) | \, | \| | \{ | \} | \↦ | "1" | \* \₁ | "2" | "0" \₂ | "1" \₂ | \× | \⊤ | \⊥ | \≡ | \≤ | \∧ | \∨ | \→ | \= \_ \{ | \[ | \] | \< | \> | \\ | "refl" \_ \{ | \* | \* \_ "1" | "0" \_ "2" | "1" \_ "2" | \= \= \= | \< \= | \/ \\ | \\ \/ | \- \> | \| \- \> | \∑
+@rsyms = \Σ | \π \₁ | \π \₂ | \# "lang" | \; | "rzk" \- "1" | \# "require" \- "file" | \# "set" \- "option" | \= | \# "unset" \- "option" | \# "check" | \: | \# "compute" | \# "compute" \- "whnf" | \# "compute" \- "nf" | \# "postulate" | \# "assume" | \# "variable" | \# "variables" | \# "section" | \# "end" | \# "define" | \: \= | \# "def" | \( | \) | \, | \| | \{ | \} | \↦ | "1" | \* \₁ | "2" | "0" \₂ | "1" \₂ | \× | \⊤ | \⊥ | \≡ | \≤ | \∧ | \∨ | \→ | \= \_ \{ | \[ | \] | \< | \> | \\ | "refl" \_ \{ | \* | \* \_ "1" | "0" \_ "2" | "1" \_ "2" | \= \= \= | \< \= | \/ \\ | \\ \/ | \- \> | \| \- \> | \∑
:-
@@ -166,43 +166,43 @@ eitherResIdent tv s = treeFind resWords
-- | The keywords and symbols of the language organized as binary search tree.
resWords :: BTree
resWords =
- b "BOT" 39
- (b "*\8321" 20
+ b "BOT" 40
+ (b "*_1" 20
(b "#postulate" 10
(b "#compute-whnf" 5
(b "#compute" 3
(b "#check" 2 (b "#assume" 1 N N) N) (b "#compute-nf" 4 N N))
(b "#end" 8 (b "#define" 7 (b "#def" 6 N N) N) (b "#lang" 9 N N)))
- (b "#variables" 15
- (b "#unset-option" 13
- (b "#set-option" 12 (b "#section" 11 N N) N)
- (b "#variable" 14 N N))
- (b "*" 18 (b ")" 17 (b "(" 16 N N) N) (b "*_1" 19 N N))))
- (b ":" 30
- (b "0\8322" 25
- (b "/\\" 23 (b "->" 22 (b "," 21 N N) N) (b "0_2" 24 N N))
- (b "1\8322" 28 (b "1_2" 27 (b "1" 26 N N) N) (b "2" 29 N N)))
- (b "=" 35
- (b "<" 33 (b ";" 32 (b ":=" 31 N N) N) (b "<=" 34 N N))
- (b "=_{" 37 (b "===" 36 N N) (b ">" 38 N N)))))
- (b "unit" 59
- (b "]" 49
- (b "U" 44
- (b "TOP" 42 (b "Sigma" 41 (b "CUBE" 40 N N) N) (b "TOPE" 43 N N))
- (b "\\" 47 (b "[" 46 (b "Unit" 45 N N) N) (b "\\/" 48 N N)))
- (b "recOR" 54
- (b "idJ" 52 (b "first" 51 (b "as" 50 N N) N) (b "recBOT" 53 N N))
- (b "rzk-1" 57
- (b "refl_{" 56 (b "refl" 55 N N) N) (b "second" 58 N N))))
- (b "\8594" 69
- (b "}" 64
- (b "|" 62 (b "{" 61 (b "uses" 60 N N) N) (b "|->" 63 N N))
- (b "\960\8321" 67
- (b "\931" 66 (b "\215" 65 N N) N) (b "\960\8322" 68 N N)))
- (b "\8801" 74
- (b "\8743" 72
- (b "\8721" 71 (b "\8614" 70 N N) N) (b "\8744" 73 N N))
- (b "\8868" 76 (b "\8804" 75 N N) (b "\8869" 77 N N)))))
+ (b "#variable" 15
+ (b "#set-option" 13
+ (b "#section" 12 (b "#require-file" 11 N N) N)
+ (b "#unset-option" 14 N N))
+ (b ")" 18 (b "(" 17 (b "#variables" 16 N N) N) (b "*" 19 N N))))
+ (b "2" 30
+ (b "0_2" 25
+ (b "->" 23 (b "," 22 (b "*\8321" 21 N N) N) (b "/\\" 24 N N))
+ (b "1_2" 28 (b "1" 27 (b "0\8322" 26 N N) N) (b "1\8322" 29 N N)))
+ (b "<=" 35
+ (b ";" 33 (b ":=" 32 (b ":" 31 N N) N) (b "<" 34 N N))
+ (b "=_{" 38 (b "===" 37 (b "=" 36 N N) N) (b ">" 39 N N)))))
+ (b "unit" 60
+ (b "]" 50
+ (b "U" 45
+ (b "TOP" 43 (b "Sigma" 42 (b "CUBE" 41 N N) N) (b "TOPE" 44 N N))
+ (b "\\" 48 (b "[" 47 (b "Unit" 46 N N) N) (b "\\/" 49 N N)))
+ (b "recOR" 55
+ (b "idJ" 53 (b "first" 52 (b "as" 51 N N) N) (b "recBOT" 54 N N))
+ (b "rzk-1" 58
+ (b "refl_{" 57 (b "refl" 56 N N) N) (b "second" 59 N N))))
+ (b "\8594" 70
+ (b "}" 65
+ (b "|" 63 (b "{" 62 (b "uses" 61 N N) N) (b "|->" 64 N N))
+ (b "\960\8321" 68
+ (b "\931" 67 (b "\215" 66 N N) N) (b "\960\8322" 69 N N)))
+ (b "\8801" 75
+ (b "\8743" 73
+ (b "\8721" 72 (b "\8614" 71 N N) N) (b "\8744" 74 N N))
+ (b "\8868" 77 (b "\8804" 76 N N) (b "\8869" 78 N N)))))
where
b s n = B bs (TS bs n)
where
diff --git a/rzk/src/Language/Rzk/Syntax/Par.hs b/rzk/src/Language/Rzk/Syntax/Par.hs
index f15a5c502..1aaf88e9a 100644
--- a/rzk/src/Language/Rzk/Syntax/Par.hs
+++ b/rzk/src/Language/Rzk/Syntax/Par.hs
@@ -267,40 +267,40 @@ happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
happyExpList :: HappyAddr
-happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x02\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x28\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\xa0\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x83\xdf\x82\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xc0\x27\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x83\xdf\x80\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x03\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\x3d\xf8\x0d\x18\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xe0\x37\x60\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x03\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x40\x01\x00\x00\x20\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x1f\x7c\x02\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x0b\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x0a\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\x3d\xf0\x09\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x03\x9f\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x08\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x03\x9f\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7c\x02\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x07\x9f\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x1f\x7c\x02\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xc1\x27\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x28\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x08\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x08\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x20\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xe0\x37\x60\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x83\xdf\x80\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x03\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x20\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x02\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x03\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\x3d\xf8\x0d\x18\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xe0\x37\x60\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x83\xdf\x80\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x03\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\x3d\xf8\x0d\x18\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xe0\x37\x60\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x83\xdf\x80\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x20\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\x7d\xf0\x09\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xc1\x27\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x02\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x01\x00\x00\xa0\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x04\x00\x00\x80\x02\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x10\x00\x00\x00\x0a\x00\x20\x00\x00\x00\x00\x00\x00\x00\xfe\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x83\xdf\x80\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xf3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x9f\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x04\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x20\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x05\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x28\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xec\xc1\x6f\xc1\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7f\xf1\x5b\x38\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x03\x9f\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x1e\xfc\x06\x0c\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xe0\x37\x60\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xb0\x07\xbf\x01\x03\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\x3d\xf8\x0d\x18\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x03\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7f\xf1\x5b\x38\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x0a\x00\x00\x00\x01\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x1f\x7c\x02\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xe0\xb7\x60\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\xa0\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xb0\x07\x3e\x01\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x1e\xf8\x04\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xec\x81\x4f\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7c\x02\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xec\x83\x4f\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xc1\x27\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\x7d\xf0\x09\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x50\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x04\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x40\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x10\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xfc\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x02\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x03\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7b\xf0\x1b\x30\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x83\xdf\x80\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x02\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x80\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x10\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\x3d\xf8\x0d\x18\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xec\xc1\x6f\xc0\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x0f\x7e\x03\x06\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7b\xf0\x1b\x30\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xd8\x83\xdf\x80\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x1e\xfc\x06\x0c\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xf6\xe0\x37\x60\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xb0\x07\xbf\x01\x03\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x80\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xec\x83\x4f\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\x60\x1f\x7c\x02\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x08\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x01\x00\x00\xa0\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x08\x00\x00\x00\x05\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x40\x00\x00\x00\x28\x00\x80\x00\x00\x00\x00\x00\x00\x00\xf8\xf3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7f\xf1\x5b\x38\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7f\xf1\x5b\x38\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xb0\x07\xbf\x01\x03\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7f\xf1\x5b\x38\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xf8\x11\xfc\xc5\x6f\xe1\x84\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7f\xf1\x5b\x38\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xc6\x8f\xe0\x2f\x7e\x0b\x27\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\xe3\x47\xf0\x17\xbf\x85\x13\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x3f\x82\xbf\xf8\x2d\x9c\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\xfc\x08\xfe\xe2\xb7\x70\xc2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf1\x23\xf8\x8b\xdf\xc2\x09\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x7e\x04\x7f\xf1\x5b\x38\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x8c\x1f\xc1\x5f\xfc\x16\x4e\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
{-# NOINLINE happyExpListPerState #-}
happyExpListPerState st =
token_strs_expected
- where token_strs = ["error","%dummy","%start_pModule_internal","%start_pHoleIdent_internal","%start_pVarIdent_internal","%start_pListVarIdent_internal","%start_pLanguageDecl_internal","%start_pLanguage_internal","%start_pCommand_internal","%start_pListCommand_internal","%start_pDeclUsedVars_internal","%start_pSectionName_internal","%start_pPattern_internal","%start_pListPattern_internal","%start_pParam_internal","%start_pListParam_internal","%start_pParamDecl_internal","%start_pRestriction_internal","%start_pListRestriction_internal","%start_pTerm7_internal","%start_pTerm5_internal","%start_pTerm4_internal","%start_pTerm3_internal","%start_pTerm2_internal","%start_pTerm1_internal","%start_pTerm6_internal","%start_pTerm_internal","%start_pListTerm_internal","String","VarIdentToken","HoleIdentToken","Module","HoleIdent","VarIdent","ListVarIdent","LanguageDecl","Language","Command","ListCommand","DeclUsedVars","SectionName","Pattern","ListPattern","Param","ListParam","ParamDecl","Restriction","ListRestriction","Term7","Term5","Term4","Term3","Term2","Term1","Term6","Term","ListTerm","'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'('","')'","'*'","'*_1'","'*\8321'","','","'->'","'/\\\\'","'0_2'","'0\8322'","'1'","'1_2'","'1\8322'","'2'","':'","':='","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'Sigma'","'TOP'","'TOPE'","'U'","'Unit'","'['","'\\\\'","'\\\\/'","']'","'as'","'first'","'idJ'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'unit'","'uses'","'{'","'|'","'|->'","'}'","'\215'","'\931'","'\960\8321'","'\960\8322'","'\8594'","'\8614'","'\8721'","'\8743'","'\8744'","'\8801'","'\8804'","'\8868'","'\8869'","L_quoted","L_VarIdentToken","L_HoleIdentToken","%eof"]
- bit_start = st Prelude.* 138
- bit_end = (st Prelude.+ 1) Prelude.* 138
+ where token_strs = ["error","%dummy","%start_pModule_internal","%start_pHoleIdent_internal","%start_pVarIdent_internal","%start_pListVarIdent_internal","%start_pLanguageDecl_internal","%start_pLanguage_internal","%start_pCommand_internal","%start_pListCommand_internal","%start_pDeclUsedVars_internal","%start_pSectionName_internal","%start_pPattern_internal","%start_pListPattern_internal","%start_pParam_internal","%start_pListParam_internal","%start_pParamDecl_internal","%start_pRestriction_internal","%start_pListRestriction_internal","%start_pTerm7_internal","%start_pTerm5_internal","%start_pTerm4_internal","%start_pTerm3_internal","%start_pTerm2_internal","%start_pTerm1_internal","%start_pTerm6_internal","%start_pTerm_internal","%start_pListTerm_internal","String","VarIdentToken","HoleIdentToken","Module","HoleIdent","VarIdent","ListVarIdent","LanguageDecl","Language","Command","ListCommand","DeclUsedVars","SectionName","Pattern","ListPattern","Param","ListParam","ParamDecl","Restriction","ListRestriction","Term7","Term5","Term4","Term3","Term2","Term1","Term6","Term","ListTerm","'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#require-file'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'('","')'","'*'","'*_1'","'*\8321'","','","'->'","'/\\\\'","'0_2'","'0\8322'","'1'","'1_2'","'1\8322'","'2'","':'","':='","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'Sigma'","'TOP'","'TOPE'","'U'","'Unit'","'['","'\\\\'","'\\\\/'","']'","'as'","'first'","'idJ'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'unit'","'uses'","'{'","'|'","'|->'","'}'","'\215'","'\931'","'\960\8321'","'\960\8322'","'\8594'","'\8614'","'\8721'","'\8743'","'\8744'","'\8801'","'\8804'","'\8868'","'\8869'","L_quoted","L_VarIdentToken","L_HoleIdentToken","%eof"]
+ bit_start = st Prelude.* 139
+ bit_end = (st Prelude.+ 1) Prelude.* 139
read_bit = readArrayBit happyExpList
bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]
- bits_indexed = Prelude.zip bits [0..137]
+ bits_indexed = Prelude.zip bits [0..138]
token_strs_expected = Prelude.concatMap f bits_indexed
f (Prelude.False, _) = []
f (Prelude.True, nr) = [token_strs Prelude.!! nr]
happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\x06\x00\xc5\xff\xdb\xff\xdb\xff\x4e\x00\x2a\x00\x7d\x07\x7d\x07\x20\x00\x4b\x00\x23\x00\x23\x00\x2c\x00\x2c\x00\x5c\x00\x1e\x00\x1e\x00\x40\x01\x9a\x00\x9a\x00\x9a\x00\x9a\x00\x1e\x00\x9a\x00\x1e\x00\x1e\x00\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\x00\x00\x4d\x01\xfc\xff\xd7\xff\xb3\x00\x00\x00\xd8\x00\x8c\x00\x6e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x40\x01\xb9\x00\x00\x00\xc3\x00\x00\x00\x1e\x00\x40\x01\x00\x00\x24\x00\xdd\x00\x40\x01\x40\x01\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\xf1\xff\x1e\x00\x0a\x00\xa6\x00\xa6\x00\x16\x01\xa6\x00\xa6\x00\x54\x00\xa6\x00\xe7\x00\xad\x00\xd1\xff\xad\x00\xad\x00\x16\x01\x00\x00\x00\x00\x2c\x00\xad\x00\xa9\x00\x00\x00\xa9\x00\xad\x00\xa9\x00\xad\x00\xa9\x00\xad\x00\x00\x00\xad\x00\xad\x00\x01\x01\xf7\x00\xd1\x00\xde\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\xde\x00\xde\x00\xde\x00\xde\x00\xe6\x00\xe6\x00\xeb\x00\xeb\x00\xfe\x00\xfe\x00\x00\x00\xfe\x00\x03\x01\x08\x01\x04\x01\x04\x01\x04\x01\x04\x01\x7d\x07\x00\x00\x00\x00\x26\x01\x4b\x01\x52\x01\x00\x00\x50\x01\x59\x01\x43\x01\x43\x01\x43\x01\x00\x00\x00\x00\x00\x00\x67\x01\x6a\x01\x7d\x07\x3c\x01\x92\x01\x00\x00\x8a\x01\x88\x00\xb4\x01\x00\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x9a\x00\x9a\x00\x9a\x00\x1e\x00\x53\x00\xa9\x00\x00\x00\x00\x00\xa9\x00\xb5\x01\xa9\x00\x00\x00\xe4\xff\x1e\x00\x1e\x00\x00\x00\xfe\xff\xa9\x00\x0b\x00\x31\x02\x1e\x00\x1e\x00\x9a\x00\x9a\x00\x9a\x00\x9a\x00\x9a\x00\x9a\x00\x9a\x00\x9a\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x19\x00\x19\x00\x19\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\xda\x01\x1e\x00\x1e\x00\xe4\x01\xae\x01\x9c\x00\x1e\x00\x00\x00\xf3\xff\x1e\x00\xff\x01\x00\x02\xce\x01\x00\x00\x16\x01\x16\x01\x00\x00\x00\x00\x00\x00\xe8\x01\x1e\x00\xa9\x00\x1e\x00\x0e\x02\x00\x00\x1e\x00\x1e\x00\x3f\x00\x61\x00\x7d\x00\x7d\x07\xd3\x01\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x02\x15\x02\x1e\x00\x25\x02\x1e\x00\x26\x02\x1e\x00\x00\x00\x00\x00\x00\x00\xf6\x01\x2e\x02\xf2\xff\x00\x00\x9a\x00\x1e\x00\x1e\x00\x0e\x00\x1e\x00\x05\x02\x1e\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x1e\x00\x24\x02\x28\x02\x71\x00\x36\x02\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x48\x02\x45\x02\x50\x02\x00\x00\x59\x02\x1e\x00\x00\x00\x5a\x02\x5f\x02\x00\x00\x00\x00\x1e\x00\x00\x00\x1e\x00\x60\x02\x1e\x00\x61\x02\x1e\x00\x00\x00\x1e\x00\x41\x02\x00\x00\x00\x00\x6c\x02\x1e\x00\x72\x02\x1e\x00\x56\x02\x94\x02\x91\x02\x9c\x02\x76\x02\x79\x02\x1e\x00\x1e\x00\xa7\x02\xba\x02\x00\x00\x1e\x00\xb7\x02\xc2\x02\x1e\x00\x00\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x02\x1e\x00\x1e\x00\x00\x00\xc6\x02\xcb\x02\x00\x00\x00\x00\x1e\x00\xc8\x02\x1e\x00\xcd\x02\x00\x00\x00\x00"#
+happyActOffsets = HappyA# "\x06\x00\xc4\xff\xda\xff\xda\xff\x4e\x00\x29\x00\x68\x07\x68\x07\x1f\x00\x2e\x00\x22\x00\x22\x00\x2b\x00\x2b\x00\x5b\x00\x1d\x00\x1d\x00\x3f\x01\x99\x00\x99\x00\x99\x00\x99\x00\x1d\x00\x99\x00\x1d\x00\x1d\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\x00\x00\x4c\x01\xfb\xff\xd6\xff\xb2\x00\x00\x00\xd7\x00\x84\x00\x6d\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x3f\x01\xb8\x00\x00\x00\xc2\x00\x00\x00\x1d\x00\x3f\x01\x00\x00\x23\x00\xde\x00\x3f\x01\x3f\x01\xe6\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x00\xf0\xff\x1d\x00\x09\x00\xaa\x00\xaa\x00\x15\x01\xaa\x00\xaa\x00\x53\x00\xaa\x00\xe8\x00\xbf\x00\xd0\xff\xbf\x00\xbf\x00\x15\x01\x00\x00\x00\x00\x2b\x00\xbf\x00\xa8\x00\x00\x00\xa8\x00\xbf\x00\xa8\x00\xbf\x00\xa8\x00\xbf\x00\x00\x00\xbf\x00\xbf\x00\x1c\x01\xcc\x00\xc5\x00\xd2\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\xd2\x00\xd2\x00\xd2\x00\xe5\x00\xea\x00\xed\x00\xed\x00\xf6\x00\xf6\x00\xfd\x00\xfd\x00\x00\x00\xfd\x00\x1b\x01\x07\x01\x04\x01\x04\x01\x04\x01\x04\x01\x68\x07\x00\x00\x00\x00\x3d\x01\x4a\x01\x51\x01\x00\x00\x4f\x01\x58\x01\x00\x00\x42\x01\x42\x01\x42\x01\x00\x00\x00\x00\x00\x00\x66\x01\x69\x01\x68\x07\x3b\x01\x91\x01\x00\x00\x89\x01\x87\x00\xa0\x01\x00\x00\x00\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x99\x00\x99\x00\x99\x00\x1d\x00\x52\x00\xa8\x00\x00\x00\x00\x00\xa8\x00\xb3\x01\xa8\x00\x00\x00\xe3\xff\x1d\x00\x1d\x00\x00\x00\xfd\xff\xa8\x00\x0a\x00\x33\x01\x1d\x00\x1d\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x99\x00\x1d\x00\x1d\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\xb4\x01\x1d\x00\x1d\x00\xe2\x01\xe7\x01\x9b\x00\x1d\x00\x00\x00\xf2\xff\x1d\x00\xef\x01\xff\x01\xde\x01\x00\x00\x15\x01\x15\x01\x00\x00\x00\x00\x00\x00\x01\x02\x1d\x00\xa8\x00\x1d\x00\x0f\x02\x00\x00\x1d\x00\x1d\x00\x3e\x00\x60\x00\x7c\x00\x68\x07\xe5\x01\x1d\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x02\x20\x02\x1d\x00\x25\x02\x1d\x00\x26\x02\x1d\x00\x00\x00\x00\x00\x00\x00\x0b\x02\x48\x02\xf1\xff\x00\x00\x99\x00\x1d\x00\x1d\x00\x0d\x00\x1d\x00\x24\x02\x1d\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x1d\x00\x32\x02\x43\x02\x70\x00\x59\x02\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x5e\x02\x69\x02\x6a\x02\x00\x00\x79\x02\x1d\x00\x00\x00\x7e\x02\x7f\x02\x00\x00\x00\x00\x1d\x00\x00\x00\x1d\x00\x76\x02\x1d\x00\x85\x02\x1d\x00\x00\x00\x1d\x00\x56\x02\x00\x00\x00\x00\x91\x02\x1d\x00\x95\x02\x1d\x00\x75\x02\xa5\x02\xa3\x02\xa6\x02\x80\x02\x8c\x02\x1d\x00\x1d\x00\xb6\x02\xc5\x02\x00\x00\x1d\x00\xc4\x02\xc6\x02\x1d\x00\x00\x00\x1d\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x02\x1d\x00\x1d\x00\x00\x00\xc7\x02\xcc\x02\x00\x00\x00\x00\x1d\x00\xc9\x02\x1d\x00\xd0\x02\x00\x00\x00\x00"#
happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\xdc\x00\x7c\x00\x13\x01\xa1\x00\xd8\x02\xda\x02\xdd\x02\x81\x00\xdc\x02\x80\x00\xfc\x00\x15\x00\x14\x01\xbb\x00\xdc\x06\xfb\x01\xaf\x01\x34\x01\xf0\x06\x06\x01\xb7\x06\x81\x06\xd7\x05\x90\x01\x16\x02\x85\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x01\xaa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x02\x40\x07\x00\x00\x3a\x01\x00\x00\x46\x07\x4d\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x07\x47\x02\x00\x00\x00\x00\x00\x00\x54\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x07\x00\x00\x00\x00\x56\x07\x00\x00\x11\x01\x00\x00\x51\x01\x00\x00\x1b\x02\x00\x00\x67\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x00\x62\x02\x6d\x02\x88\x02\x93\x02\x44\x01\x5f\x01\x7d\x01\xcc\x01\xf1\x02\xf2\x02\xa8\x01\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x02\xcf\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x02\xf7\x02\xf8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\xf5\x01\x00\x00\x00\x00\x00\x00\x1b\x02\x00\x00\x00\x00\x00\x00\xca\x01\xae\x02\xb9\x02\xd5\x01\x2c\x07\x39\x07\x88\x06\xd4\x02\x00\x00\x68\x02\x00\x00\x00\x00\x8d\x02\x00\x00\x8e\x02\x00\x00\x00\x00\xf0\x01\xdf\x02\x00\x00\x00\x00\xb3\x02\x00\x00\x00\x00\xa1\x01\xf1\x05\x8f\x06\xa9\x06\xce\x06\xd5\x06\xfe\x06\x0b\x07\x15\x07\x22\x07\xfb\x05\x15\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x02\x05\x03\x20\x03\x2b\x03\x00\x00\x1f\x06\x39\x06\x00\x00\x00\x00\x00\x00\x46\x03\x00\x00\x00\x00\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x54\x07\x54\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x03\xb4\x02\x77\x03\x00\x00\x00\x00\x92\x03\x9d\x03\x5d\x07\x66\x07\x6d\x07\x22\x01\x00\x03\xb8\x03\xc3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x03\x00\x00\xe9\x03\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x06\x0f\x04\x2a\x04\x00\x00\x35\x04\x00\x00\x50\x04\x00\x00\x5b\x04\x00\x00\x00\x00\x76\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\xc2\x04\x00\x00\xcd\x04\x00\x00\xe8\x04\x00\x00\xf3\x04\xf2\x01\x00\x00\x00\x00\x00\x00\x0e\x05\x00\x00\x19\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x05\x3f\x05\x00\x00\x00\x00\x00\x00\x43\x06\x00\x00\x00\x00\x5a\x05\x00\x00\x5d\x06\x67\x06\x00\x00\x00\x00\x00\x00\x65\x05\x00\x00\x80\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x05\xa6\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x05\x00\x00\xcc\x05\x00\x00\x00\x00\x00\x00"#
+happyGotoOffsets = HappyA# "\xdc\x00\x9f\x00\x13\x01\xa1\x00\xe0\x02\xde\x02\xe8\x02\x81\x00\xe7\x02\x80\x00\xfc\x00\x15\x00\x14\x01\xbb\x00\xdc\x06\xfb\x01\xaf\x01\x34\x01\xf0\x06\x06\x01\xb7\x06\x81\x06\xd7\x05\x90\x01\x16\x02\x85\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x01\xaa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x02\x40\x07\x00\x00\x3a\x01\x00\x00\x46\x07\x4d\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x07\x47\x02\x00\x00\x00\x00\x00\x00\x54\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x07\x00\x00\x00\x00\x56\x07\x00\x00\x11\x01\x00\x00\x41\x02\x00\x00\x1b\x02\x00\x00\x42\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x00\x62\x02\x6d\x02\x88\x02\x93\x02\x5f\x01\x7d\x01\xa8\x01\xfd\x02\xcc\x01\x00\x03\x01\x03\x18\x02\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\x02\xcf\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x02\xf9\x02\x02\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\xf5\x01\x00\x00\x00\x00\x00\x00\x1b\x02\x00\x00\x00\x00\x00\x00\xca\x01\xae\x02\xb9\x02\xd5\x01\x2c\x07\x39\x07\x88\x06\xd4\x02\x00\x00\x67\x02\x00\x00\x00\x00\x68\x02\x00\x00\x8d\x02\x00\x00\x00\x00\xf0\x01\xdf\x02\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\xa1\x01\xf1\x05\x8f\x06\xa9\x06\xce\x06\xd5\x06\xfe\x06\x0b\x07\x15\x07\x22\x07\xfb\x05\x15\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x02\x05\x03\x20\x03\x2b\x03\x00\x00\x1f\x06\x39\x06\x00\x00\x00\x00\x00\x00\x46\x03\x00\x00\x00\x00\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x54\x07\x54\x07\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x03\xb3\x02\x77\x03\x00\x00\x00\x00\x92\x03\x9d\x03\x78\x07\x7d\x07\x8a\x07\x22\x01\x08\x03\xb8\x03\xc3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x03\x00\x00\xe9\x03\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x06\x0f\x04\x2a\x04\x00\x00\x35\x04\x00\x00\x50\x04\x00\x00\x5b\x04\x00\x00\x00\x00\x76\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\xc2\x04\x00\x00\xcd\x04\x00\x00\xe8\x04\x00\x00\xf3\x04\xf2\x01\x00\x00\x00\x00\x00\x00\x0e\x05\x00\x00\x19\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x05\x3f\x05\x00\x00\x00\x00\x00\x00\x43\x06\x00\x00\x00\x00\x5a\x05\x00\x00\x5d\x06\x67\x06\x00\x00\x00\x00\x00\x00\x65\x05\x00\x00\x80\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x05\xa6\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb1\x05\x00\x00\xcc\x05\x00\x00\x00\x00\x00\x00"#
happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#
happyAdjustOffset off = off
happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xc8\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\xff\xe0\xff\xe1\xff\x9b\xff\x9a\xff\x00\x00\x76\xff\x8d\xff\x89\xff\x86\xff\x7f\xff\x72\xff\x91\xff\x71\xff\x00\x00\x00\x00\x98\xff\xac\xff\x97\xff\xaa\xff\xad\xff\x96\xff\xa9\xff\xab\xff\x00\x00\x94\xff\xaf\xff\x00\x00\x95\xff\xae\xff\xb0\xff\xa3\xff\x00\x00\x00\x00\x00\x00\xa6\xff\x00\x00\x9f\xff\x00\x00\x00\x00\xa0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\xff\xa7\xff\xe4\xff\xe3\xff\x00\x00\x00\x00\x00\x00\x7f\xff\x00\x00\x00\x00\x91\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb2\xff\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\xc4\xff\xc0\xff\xbc\xff\x00\x00\x00\x00\xc5\xff\x00\x00\x00\x00\xc2\xff\x00\x00\x00\x00\x00\x00\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xdf\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xe2\xff\xde\xff\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\x00\x00\xc8\xff\xc8\xff\xc8\xff\xd7\xff\xd6\xff\xd8\xff\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\xc1\xff\x00\x00\xc2\xff\x00\x00\xbb\xff\x79\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\xff\x78\xff\x00\x00\x00\x00\x00\x00\x74\xff\x00\x00\x00\x00\x00\x00\x75\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\xff\x7e\xff\x8e\xff\x8f\xff\x8c\xff\x8b\xff\x8a\xff\x88\xff\x87\xff\x85\xff\x73\xff\x70\xff\x99\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\xff\x92\xff\x90\xff\xb1\xff\xb4\xff\xb3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\x00\x00\xdd\xff\xd1\xff\xd2\xff\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\xd3\xff\xc9\xff\x00\x00\x00\x00\x00\x00\x7a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\xff\x00\x00\x80\xff\x7c\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\xff\xb9\xff\x00\x00\x93\xff\xa2\xff\x00\x00\x00\x00\x00\x00\x9d\xff\x00\x00\x00\x00\xb7\xff\x00\x00\x00\x00\x82\xff\xbf\xff\x00\x00\xc3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\x00\x00\xc7\xff\xd0\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xff\x00\x00\x00\x00\xbe\xff\xbd\xff\xcc\xff\x00\x00\xce\xff\x00\x00\xcf\xff\xcd\xff\x7b\xff\x83\xff\x00\x00\x00\x00\x00\x00\x7d\xff\x00\x00\x00\x00\xb6\xff\xa4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9c\xff"#
+happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\xc7\xff\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\xff\xe0\xff\xe1\xff\x9a\xff\x99\xff\x00\x00\x75\xff\x8c\xff\x88\xff\x85\xff\x7e\xff\x71\xff\x90\xff\x70\xff\x00\x00\x00\x00\x97\xff\xab\xff\x96\xff\xa9\xff\xac\xff\x95\xff\xa8\xff\xaa\xff\x00\x00\x93\xff\xae\xff\x00\x00\x94\xff\xad\xff\xaf\xff\xa2\xff\x00\x00\x00\x00\x00\x00\xa5\xff\x00\x00\x9e\xff\x00\x00\x00\x00\x9f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\xff\xa6\xff\xe4\xff\xe3\xff\x00\x00\x00\x00\x00\x00\x7e\xff\x00\x00\x00\x00\x90\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb1\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb9\xff\xc3\xff\xbf\xff\xbb\xff\x00\x00\x00\x00\xc4\xff\x00\x00\x00\x00\xc1\xff\x00\x00\x00\x00\x00\x00\xc5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xdf\xff\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\xe2\xff\xde\xff\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\xdb\xff\xc7\xff\xc7\xff\xc7\xff\xd6\xff\xd5\xff\xd7\xff\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\xc0\xff\x00\x00\xc1\xff\x00\x00\xba\xff\x78\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\xff\x77\xff\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x00\x00\x00\x00\x74\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\xff\x7d\xff\x8d\xff\x8e\xff\x8b\xff\x8a\xff\x89\xff\x87\xff\x86\xff\x84\xff\x72\xff\x6f\xff\x98\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xff\x91\xff\x8f\xff\xb0\xff\xb3\xff\xb2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\xdd\xff\xd0\xff\xd1\xff\xda\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xff\xd2\xff\xc8\xff\x00\x00\x00\x00\x00\x00\x79\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\xff\x00\x00\x7f\xff\x7b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\xff\xb8\xff\x00\x00\x92\xff\xa1\xff\x00\x00\x00\x00\x00\x00\x9c\xff\x00\x00\x00\x00\xb6\xff\x00\x00\x00\x00\x81\xff\xbe\xff\x00\x00\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\xff\x00\x00\xc6\xff\xcf\xff\xd4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb4\xff\x00\x00\x00\x00\xbd\xff\xbc\xff\xcb\xff\x00\x00\xcd\xff\x00\x00\xce\xff\xcc\xff\x7a\xff\x82\xff\x00\x00\x00\x00\x00\x00\x7c\xff\x00\x00\x00\x00\xb5\xff\xa3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9b\xff"#
happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x10\x00\x1e\x00\x11\x00\x13\x00\x14\x00\x16\x00\x30\x00\x15\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x09\x00\x3f\x00\x1e\x00\x21\x00\x17\x00\x16\x00\x50\x00\x01\x00\x46\x00\x27\x00\x28\x00\x05\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x49\x00\x16\x00\x0d\x00\x0e\x00\x40\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x4f\x00\x12\x00\x3b\x00\x23\x00\x10\x00\x25\x00\x3e\x00\x13\x00\x14\x00\x10\x00\x10\x00\x45\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x10\x00\x4c\x00\x4d\x00\x21\x00\x4f\x00\x50\x00\x51\x00\x45\x00\x48\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x3e\x00\x2f\x00\x40\x00\x10\x00\x45\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x09\x00\x3a\x00\x3b\x00\x41\x00\x3d\x00\x3c\x00\x1e\x00\x3b\x00\x3b\x00\x42\x00\x43\x00\x44\x00\x39\x00\x11\x00\x47\x00\x12\x00\x3b\x00\x15\x00\x3d\x00\x4c\x00\x4d\x00\x10\x00\x4f\x00\x50\x00\x13\x00\x14\x00\x10\x00\x4f\x00\x4f\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x3b\x00\x4f\x00\x3d\x00\x21\x00\x02\x00\x1e\x00\x04\x00\x01\x00\x11\x00\x27\x00\x28\x00\x05\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x09\x00\x0a\x00\x0c\x00\x10\x00\x4f\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x41\x00\x3a\x00\x3b\x00\x10\x00\x3d\x00\x4f\x00\x1e\x00\x3b\x00\x15\x00\x3d\x00\x43\x00\x44\x00\x15\x00\x01\x00\x4e\x00\x10\x00\x51\x00\x05\x00\x06\x00\x4c\x00\x4d\x00\x10\x00\x4f\x00\x50\x00\x13\x00\x14\x00\x3e\x00\x4f\x00\x15\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x3b\x00\x10\x00\x3d\x00\x21\x00\x01\x00\x09\x00\x0a\x00\x51\x00\x05\x00\x27\x00\x28\x00\x3b\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x0d\x00\x10\x00\x0f\x00\x10\x00\x4f\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x10\x00\x3a\x00\x3b\x00\x23\x00\x4f\x00\x25\x00\x09\x00\x0a\x00\x3f\x00\x01\x00\x43\x00\x44\x00\x03\x00\x05\x00\x06\x00\x46\x00\x07\x00\x3b\x00\x32\x00\x4c\x00\x4d\x00\x10\x00\x4f\x00\x50\x00\x13\x00\x14\x00\x10\x00\x16\x00\x10\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x01\x00\x51\x00\x4f\x00\x21\x00\x05\x00\x06\x00\x15\x00\x01\x00\x51\x00\x27\x00\x28\x00\x05\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x01\x00\x02\x00\x0d\x00\x04\x00\x05\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x10\x00\x01\x00\x3b\x00\x01\x00\x01\x00\x05\x00\x20\x00\x05\x00\x05\x00\x14\x00\x15\x00\x16\x00\x45\x00\x0d\x00\x0e\x00\x1a\x00\x0d\x00\x51\x00\x0f\x00\x4c\x00\x4d\x00\x10\x00\x4f\x00\x50\x00\x13\x00\x14\x00\x09\x00\x0a\x00\x4f\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x4e\x00\x01\x00\x02\x00\x21\x00\x04\x00\x05\x00\x4f\x00\x01\x00\x39\x00\x27\x00\x28\x00\x05\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x01\x00\x20\x00\x0d\x00\x14\x00\x05\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x51\x00\x10\x00\x3b\x00\x01\x00\x13\x00\x14\x00\x51\x00\x05\x00\x4f\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x0d\x00\x12\x00\x01\x00\x21\x00\x4c\x00\x4d\x00\x05\x00\x4f\x00\x50\x00\x27\x00\x28\x00\x1e\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x01\x00\x22\x00\x1e\x00\x24\x00\x05\x00\x23\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x20\x00\x0d\x00\x3b\x00\x0f\x00\x10\x00\x01\x00\x3c\x00\x01\x00\x02\x00\x05\x00\x04\x00\x05\x00\x1e\x00\x01\x00\x02\x00\x1e\x00\x04\x00\x05\x00\x4f\x00\x4c\x00\x4d\x00\x41\x00\x4f\x00\x50\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x11\x00\x4a\x00\x4b\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x15\x00\x1e\x00\x01\x00\x1a\x00\x01\x00\x02\x00\x05\x00\x04\x00\x05\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x14\x00\x11\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x01\x00\x05\x00\x1e\x00\x1e\x00\x05\x00\x06\x00\x01\x00\x02\x00\x0c\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x01\x00\x05\x00\x1e\x00\x15\x00\x05\x00\x06\x00\x01\x00\x02\x00\x0c\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x40\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x31\x00\x04\x00\x05\x00\x01\x00\x1e\x00\x1e\x00\x11\x00\x05\x00\x4e\x00\x01\x00\x02\x00\x08\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x1e\x00\x3e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x11\x00\x1e\x00\x1e\x00\x40\x00\x15\x00\x11\x00\x01\x00\x02\x00\x26\x00\x04\x00\x05\x00\x11\x00\x26\x00\x1e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x11\x00\x15\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x15\x00\x04\x00\x05\x00\x01\x00\x01\x00\x11\x00\x11\x00\x05\x00\x05\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x1f\x00\x1f\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x1f\x00\x04\x00\x05\x00\x01\x00\x01\x00\x4f\x00\x1f\x00\x05\x00\x05\x00\x01\x00\x02\x00\x40\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x11\x00\x15\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x15\x00\x04\x00\x05\x00\x01\x00\x01\x00\x40\x00\x3e\x00\x05\x00\x05\x00\x01\x00\x02\x00\x15\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x11\x00\x15\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x15\x00\x04\x00\x05\x00\x40\x00\x15\x00\x11\x00\x15\x00\x11\x00\x07\x00\x01\x00\x02\x00\x08\x00\x04\x00\x05\x00\x11\x00\x09\x00\x0b\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x00\x00\x00\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x08\x00\x04\x00\x05\x00\x00\x00\x0b\x00\x0b\x00\x0b\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x11\x00\xff\xff\x1a\x00\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\xff\xff\xff\xff\x11\x00\xff\xff\x1a\x00\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\x14\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x14\x00\x05\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x14\x00\x05\x00\x0d\x00\xff\xff\x0f\x00\x10\x00\x01\x00\x14\x00\xff\xff\x0d\x00\x05\x00\x0f\x00\x10\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x0d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
+happyCheck = HappyA# "\xff\xff\x11\x00\x1f\x00\x12\x00\x14\x00\x15\x00\x17\x00\x31\x00\x16\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x09\x00\x40\x00\x1f\x00\x22\x00\x18\x00\x17\x00\x51\x00\x01\x00\x47\x00\x28\x00\x29\x00\x05\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x4a\x00\x17\x00\x0d\x00\x0e\x00\x41\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x50\x00\x13\x00\x3c\x00\x24\x00\x11\x00\x26\x00\x3f\x00\x14\x00\x15\x00\x11\x00\x11\x00\x46\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x11\x00\x4d\x00\x4e\x00\x22\x00\x50\x00\x51\x00\x52\x00\x46\x00\x49\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x3f\x00\x30\x00\x41\x00\x11\x00\x46\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x09\x00\x3b\x00\x3c\x00\x42\x00\x3e\x00\x3d\x00\x1f\x00\x3c\x00\x3c\x00\x43\x00\x44\x00\x45\x00\x3a\x00\x12\x00\x48\x00\x13\x00\x3c\x00\x16\x00\x3e\x00\x4d\x00\x4e\x00\x11\x00\x50\x00\x51\x00\x14\x00\x15\x00\x11\x00\x50\x00\x50\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x3c\x00\x50\x00\x3e\x00\x22\x00\x50\x00\x1f\x00\x4f\x00\x01\x00\x12\x00\x28\x00\x29\x00\x05\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x09\x00\x0a\x00\x0c\x00\x11\x00\x50\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x42\x00\x3b\x00\x3c\x00\x11\x00\x3e\x00\x16\x00\x1f\x00\x3c\x00\x16\x00\x3e\x00\x44\x00\x45\x00\x02\x00\x01\x00\x04\x00\x11\x00\x52\x00\x05\x00\x06\x00\x4d\x00\x4e\x00\x11\x00\x50\x00\x51\x00\x14\x00\x15\x00\x3f\x00\x50\x00\x16\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x3c\x00\x11\x00\x3e\x00\x22\x00\x01\x00\x09\x00\x0a\x00\x52\x00\x05\x00\x28\x00\x29\x00\x3c\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x0d\x00\x11\x00\x0f\x00\x10\x00\x50\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x11\x00\x3b\x00\x3c\x00\x24\x00\x50\x00\x26\x00\x09\x00\x0a\x00\x40\x00\x01\x00\x44\x00\x45\x00\x03\x00\x05\x00\x06\x00\x47\x00\x07\x00\x3c\x00\x33\x00\x4d\x00\x4e\x00\x11\x00\x50\x00\x51\x00\x14\x00\x15\x00\x21\x00\x17\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x01\x00\x11\x00\x50\x00\x22\x00\x05\x00\x06\x00\x52\x00\x01\x00\x16\x00\x28\x00\x29\x00\x05\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x01\x00\x02\x00\x0d\x00\x04\x00\x05\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x52\x00\x01\x00\x3c\x00\x01\x00\x01\x00\x05\x00\x52\x00\x05\x00\x05\x00\x14\x00\x15\x00\x16\x00\x46\x00\x0d\x00\x0e\x00\x1a\x00\x0d\x00\x50\x00\x0f\x00\x4d\x00\x4e\x00\x11\x00\x50\x00\x51\x00\x14\x00\x15\x00\x09\x00\x0a\x00\x11\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x4f\x00\x01\x00\x02\x00\x22\x00\x04\x00\x05\x00\x50\x00\x01\x00\x4f\x00\x28\x00\x29\x00\x05\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x12\x00\x50\x00\x0d\x00\x14\x00\x16\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x52\x00\x11\x00\x3c\x00\x1f\x00\x14\x00\x15\x00\x3a\x00\x52\x00\x50\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x21\x00\x13\x00\x01\x00\x22\x00\x4d\x00\x4e\x00\x05\x00\x50\x00\x51\x00\x28\x00\x29\x00\x1f\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x01\x00\x23\x00\x1f\x00\x25\x00\x05\x00\x24\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x21\x00\x0d\x00\x3c\x00\x0f\x00\x10\x00\x01\x00\x3d\x00\x01\x00\x02\x00\x05\x00\x04\x00\x05\x00\x1f\x00\x01\x00\x02\x00\x1f\x00\x04\x00\x05\x00\x50\x00\x4d\x00\x4e\x00\x42\x00\x50\x00\x51\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x11\x00\x4b\x00\x4c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x16\x00\x1f\x00\x01\x00\x1a\x00\x01\x00\x02\x00\x05\x00\x04\x00\x05\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x14\x00\x1f\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x01\x00\x05\x00\x1f\x00\x1f\x00\x05\x00\x06\x00\x01\x00\x02\x00\x0c\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x01\x00\x05\x00\x16\x00\x12\x00\x05\x00\x06\x00\x01\x00\x02\x00\x0c\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x1f\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x01\x00\x05\x00\x1f\x00\x41\x00\x05\x00\x12\x00\x01\x00\x02\x00\x08\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x32\x00\x4f\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x1f\x00\x04\x00\x05\x00\x01\x00\x01\x00\x1f\x00\x1f\x00\x05\x00\x05\x00\x01\x00\x02\x00\x3f\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x27\x00\x12\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x41\x00\x04\x00\x05\x00\x01\x00\x01\x00\x27\x00\x12\x00\x05\x00\x05\x00\x01\x00\x02\x00\x12\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x16\x00\x16\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x12\x00\x04\x00\x05\x00\x01\x00\x01\x00\x12\x00\x12\x00\x05\x00\x05\x00\x01\x00\x02\x00\x20\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x20\x00\x50\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x20\x00\x04\x00\x05\x00\x01\x00\x20\x00\x41\x00\x12\x00\x05\x00\x16\x00\x01\x00\x02\x00\x16\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x41\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x3f\x00\x16\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x12\x00\x04\x00\x05\x00\x16\x00\x41\x00\x16\x00\x16\x00\x12\x00\x16\x00\x01\x00\x02\x00\x12\x00\x04\x00\x05\x00\x11\x00\x08\x00\x07\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x09\x00\x0b\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x00\x00\x04\x00\x05\x00\x00\x00\x00\x00\x0b\x00\x08\x00\x0b\x00\xff\xff\x01\x00\x02\x00\x00\x00\x04\x00\x05\x00\x11\x00\xff\xff\x0b\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x11\x00\xff\xff\x1a\x00\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\xff\xff\xff\xff\x11\x00\xff\xff\x1a\x00\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\x14\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x14\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x14\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x0d\x00\x01\x00\x0f\x00\x10\x00\xff\xff\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\x50\x00\xdd\x00\x2a\x01\x2c\x00\x2d\x00\xc4\x00\xbc\x00\xec\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x82\x00\xa3\x00\x0f\x01\x34\x00\xbe\x00\xd8\x00\x4d\x00\x1c\x00\xa4\x00\x35\x00\x36\x00\x5e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xa2\x00\xbd\x00\xd5\x00\x66\x00\x67\x00\xde\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x4c\x00\xa6\x00\x44\x00\xa8\x00\x2b\x00\xa9\x00\x2b\x01\x2c\x00\x2d\x00\x69\x00\xb0\x00\xc5\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x63\x00\x4a\x00\x4b\x00\x34\x00\x4c\x00\x4d\x00\xff\xff\xd9\x00\xbf\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x25\x01\x3c\x00\x26\x01\x63\x00\xd6\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x82\x00\x43\x00\x44\x00\xa7\x00\x45\x00\x6e\x00\x03\x01\x64\x00\x64\x00\x46\x00\x47\x00\x48\x00\x80\x00\xd2\x00\x49\x00\xa6\x00\x64\x00\xd3\x00\x65\x00\x4a\x00\x4b\x00\x2b\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\x63\x00\x4c\x00\x4c\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x64\x00\x4c\x00\x65\x00\x34\x00\x1d\x00\x01\x01\x85\x00\x1c\x00\x1c\x01\x35\x00\x36\x00\x6a\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x6e\x00\x6f\x00\x6b\x00\x63\x00\x4c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xa7\x00\x43\x00\x44\x00\x69\x00\x45\x00\x4c\x00\xff\x00\x64\x00\xec\x00\x65\x00\x47\x00\x48\x00\xba\x00\x1c\x00\x1c\x00\xb7\x00\xff\xff\x82\x00\x83\x00\x4a\x00\x4b\x00\x50\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\x1d\x01\x4c\x00\x11\x01\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x64\x00\x69\x00\x65\x00\x34\x00\x1c\x00\x6e\x00\x88\x00\xff\xff\x5e\x00\x35\x00\x36\x00\x64\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x5f\x00\xb4\x00\x60\x00\x61\x00\x4c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xb3\x00\x43\x00\x44\x00\xa8\x00\x4c\x00\xa9\x00\x6e\x00\xee\x00\xa3\x00\x1c\x00\x47\x00\x48\x00\x86\x00\x82\x00\x97\x00\xa4\x00\x87\x00\x64\x00\xbb\x00\x4a\x00\x4b\x00\x50\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\xae\x00\xba\xff\xab\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x1c\x00\xff\xff\x4c\x00\x34\x00\x82\x00\x8b\x00\xa5\x00\x1c\x00\xff\xff\x35\x00\x36\x00\x5e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xa2\x00\x1c\x00\x1d\x00\x69\x00\x1e\x00\x1f\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x9a\x00\x1c\x00\x44\x00\x1c\x00\x1c\x00\x5e\x00\x99\x00\x84\x00\x5e\x00\x21\x00\x22\x00\x55\x00\xba\xff\x9d\x00\x9e\x00\x53\x00\x5f\x00\xff\xff\x65\x00\x4a\x00\x4b\x00\x50\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\x6e\x00\xfc\x00\x4c\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x1c\x00\x1c\x00\x1d\x00\x34\x00\x1e\x00\x1f\x00\x4c\x00\x1c\x00\x80\x00\x35\x00\x36\x00\x5e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xa2\x00\x1c\x00\xf9\x00\xae\x00\x57\x00\x92\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x50\x00\x44\x00\x1c\x00\x2c\x00\x2d\x00\xff\xff\x5e\x00\x4c\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x9c\x00\xa6\x00\x1c\x00\x34\x00\x4a\x00\x4b\x00\x91\x00\x4c\x00\x4d\x00\x35\x00\x36\x00\xf8\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x1c\x00\xc0\x00\xf7\x00\xc1\x00\x5e\x00\xf6\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xf5\x00\x5f\x00\x44\x00\x60\x00\xb5\x00\x1c\x00\x6e\x00\x1c\x00\x1d\x00\x90\x00\x1e\x00\x1f\x00\xf1\x00\x1c\x00\x1d\x00\xf0\x00\x1e\x00\x1f\x00\x4c\x00\x4a\x00\x4b\x00\xa7\x00\x4c\x00\x4d\x00\x1c\x00\x1d\x00\xa0\x00\x1e\x00\x1f\x00\x20\x00\xc2\x00\xc3\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1c\x00\x1d\x00\x21\x00\x1e\x00\x1f\x00\xec\x00\xed\x00\x1c\x00\x4e\x00\x1c\x00\x1d\x00\x8c\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x20\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xd0\x00\xb4\x00\x12\x01\x20\x00\x58\x00\x59\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x1c\x00\x6a\x00\xeb\x00\xe0\x00\x82\x00\x89\x00\x1c\x00\x1d\x00\x8f\x00\x1e\x00\x1f\x00\x20\x00\x58\x00\xe9\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x00\x20\x00\x58\x00\xe6\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x1c\x00\x6a\x00\x16\x01\x13\x01\x82\x00\xed\x00\x1c\x00\x1d\x00\x34\x01\x1e\x00\x1f\x00\x20\x00\x58\x00\xda\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xdb\x00\x20\x00\x5b\x00\x0b\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x00\x1c\x00\x1d\x00\x0a\x01\x1e\x00\x1f\x00\x1c\x00\x0d\x01\x0c\x01\x06\x01\x5e\x00\x1c\x00\x1c\x00\x1d\x00\x34\x01\x1e\x00\x1f\x00\x20\x00\x66\x00\x9b\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4d\x00\x20\x00\x33\x01\x2d\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xb8\x00\x1c\x00\x1d\x00\x2c\x01\x1e\x00\x1f\x00\xd2\x00\x31\x01\x2f\x01\x23\x01\xd3\x00\x1b\x01\x1c\x00\x1d\x00\x1f\x01\x1e\x00\x1f\x00\x20\x00\x1e\x01\xd4\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xb1\x00\x20\x00\x43\x01\x42\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xa9\x00\x1c\x00\x1d\x00\x41\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x40\x01\x3e\x01\x5e\x00\x5e\x00\x1c\x00\x1d\x00\x3d\x01\x1e\x00\x1f\x00\x20\x00\x9a\x00\xe1\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x96\x00\x20\x00\x3a\x01\x38\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x95\x00\x1c\x00\x1d\x00\x52\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x4c\x00\x50\x01\x5e\x00\x5e\x00\x1c\x00\x1d\x00\x4e\x01\x1e\x00\x1f\x00\x20\x00\xe0\x00\xde\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x94\x00\x20\x00\x4d\x01\x4c\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x93\x00\x1c\x00\x1d\x00\x4b\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x4a\x01\x49\x01\x5e\x00\x5e\x00\x1c\x00\x1d\x00\x46\x01\x1e\x00\x1f\x00\x20\x00\xd6\x00\x07\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe8\x00\x20\x00\x45\x01\x59\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe7\x00\x1c\x00\x1d\x00\x58\x01\x1e\x00\x1f\x00\x5d\x01\x5f\x01\x5e\x01\x61\x01\x63\x01\x80\x00\x1c\x00\x1d\x00\x7e\x00\x1e\x00\x1f\x00\x20\x00\x7d\x00\x6c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe2\x00\x20\x00\x8e\x00\x8d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xd9\x00\x1c\x00\x1d\x00\x8a\x00\x1e\x00\x1f\x00\xfb\x00\xf3\x00\xf2\x00\xf1\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x19\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x18\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x17\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x16\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0d\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x08\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x06\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x04\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x03\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xfa\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf9\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x31\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2d\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x27\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x26\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x23\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x21\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x20\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1f\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x43\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3e\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3b\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3a\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x38\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x36\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x35\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x50\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4e\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x47\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x46\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x56\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x52\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5b\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x61\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x51\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\xcf\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\xc6\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\xc5\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x14\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x13\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x59\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x55\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x54\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x52\x00\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\x24\x00\xe3\x00\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\x24\x00\xce\x00\x00\x00\x53\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\xcd\x00\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\x24\x00\x28\x01\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\x54\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\xcc\x00\x00\x00\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\xcb\x00\x5c\x00\x00\x00\x53\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x5d\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x56\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x53\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x5d\x00\x21\x00\xca\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\xc9\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x21\x00\xc8\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\xc7\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\xe5\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\xe4\x00\xb0\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\xac\x00\x5e\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\xab\x00\x5e\x00\x5f\x00\x00\x00\x60\x00\x9f\x00\x1c\x00\xa0\x00\x00\x00\x5f\x00\x5e\x00\x60\x00\x01\x01\x1c\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x5f\x00\x00\x00\x60\x00\xff\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x60\x00\xfd\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
+happyTable = HappyA# "\x00\x00\x50\x00\xdf\x00\x2c\x01\x2c\x00\x2d\x00\xc6\x00\xbe\x00\xee\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x83\x00\xa5\x00\x11\x01\x34\x00\xc0\x00\xda\x00\x4d\x00\x1c\x00\xa6\x00\x35\x00\x36\x00\x5e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xa4\x00\xbf\x00\xd7\x00\x66\x00\x67\x00\xe0\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x4c\x00\xa8\x00\x44\x00\xaa\x00\x2b\x00\xab\x00\x2d\x01\x2c\x00\x2d\x00\x69\x00\xb2\x00\xc7\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x63\x00\x4a\x00\x4b\x00\x34\x00\x4c\x00\x4d\x00\xff\xff\xdb\x00\xc1\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x27\x01\x3c\x00\x28\x01\x63\x00\xd8\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x83\x00\x43\x00\x44\x00\xa9\x00\x45\x00\x6e\x00\x05\x01\x64\x00\x64\x00\x46\x00\x47\x00\x48\x00\x81\x00\xd4\x00\x49\x00\xa8\x00\x64\x00\xd5\x00\x65\x00\x4a\x00\x4b\x00\x2b\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\x63\x00\x4c\x00\x4c\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x64\x00\x4c\x00\x65\x00\x34\x00\x4c\x00\x03\x01\x1c\x00\x1c\x00\x1e\x01\x35\x00\x36\x00\x6a\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x6e\x00\x6f\x00\x6b\x00\x63\x00\x4c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xa9\x00\x43\x00\x44\x00\x69\x00\x45\x00\xbc\x00\x01\x01\x64\x00\xee\x00\x65\x00\x47\x00\x48\x00\x1d\x00\x1c\x00\x86\x00\xb9\x00\xff\xff\x83\x00\x84\x00\x4a\x00\x4b\x00\x50\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\x1f\x01\x4c\x00\x13\x01\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x64\x00\x69\x00\x65\x00\x34\x00\x1c\x00\x6e\x00\x89\x00\xff\xff\x5e\x00\x35\x00\x36\x00\x64\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x5f\x00\xb6\x00\x60\x00\x61\x00\x4c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xb5\x00\x43\x00\x44\x00\xaa\x00\x4c\x00\xab\x00\x6e\x00\xf0\x00\xa5\x00\x1c\x00\x47\x00\x48\x00\x87\x00\x83\x00\x99\x00\xa6\x00\x88\x00\x64\x00\xbd\x00\x4a\x00\x4b\x00\x50\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\x9b\x00\xb9\xff\xb0\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x1c\x00\xad\x00\x4c\x00\x34\x00\x83\x00\x8c\x00\xff\xff\x1c\x00\xa7\x00\x35\x00\x36\x00\x5e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xa4\x00\x1c\x00\x1d\x00\x69\x00\x1e\x00\x1f\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x1c\x00\x44\x00\x1c\x00\x1c\x00\x5e\x00\xff\xff\x85\x00\x5e\x00\x21\x00\x22\x00\x55\x00\xb9\xff\x9f\x00\xa0\x00\x53\x00\x5f\x00\x4c\x00\x65\x00\x4a\x00\x4b\x00\x50\x00\x4c\x00\x4d\x00\x2c\x00\x2d\x00\x6e\x00\xfe\x00\x9c\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x1c\x00\x1c\x00\x1d\x00\x34\x00\x1e\x00\x1f\x00\x4c\x00\x1c\x00\x1c\x00\x35\x00\x36\x00\x5e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\xa4\x00\xd4\x00\x4c\x00\xb0\x00\x57\x00\xd5\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x50\x00\x44\x00\xd6\x00\x2c\x00\x2d\x00\x81\x00\xff\xff\x4c\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xfb\x00\xa8\x00\x1c\x00\x34\x00\x4a\x00\x4b\x00\x94\x00\x4c\x00\x4d\x00\x35\x00\x36\x00\xfa\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x1c\x00\xc2\x00\xf9\x00\xc3\x00\x5e\x00\xf8\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xf7\x00\x5f\x00\x44\x00\x60\x00\xb7\x00\x1c\x00\x6e\x00\x1c\x00\x1d\x00\x93\x00\x1e\x00\x1f\x00\xf3\x00\x1c\x00\x1d\x00\xf2\x00\x1e\x00\x1f\x00\x4c\x00\x4a\x00\x4b\x00\xa9\x00\x4c\x00\x4d\x00\x1c\x00\x1d\x00\xa2\x00\x1e\x00\x1f\x00\x20\x00\xc4\x00\xc5\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1c\x00\x1d\x00\x21\x00\x1e\x00\x1f\x00\xee\x00\xef\x00\x1c\x00\x4e\x00\x1c\x00\x1d\x00\x92\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x20\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xd2\x00\xb6\x00\xed\x00\x20\x00\x58\x00\x59\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x1c\x00\x6a\x00\xe2\x00\x18\x01\x83\x00\x8a\x00\x1c\x00\x1d\x00\x90\x00\x1e\x00\x1f\x00\x20\x00\x58\x00\xeb\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x00\x20\x00\x58\x00\xe8\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x1c\x00\x6a\x00\x15\x01\x14\x01\x83\x00\xef\x00\x1c\x00\x1d\x00\x36\x01\x1e\x00\x1f\x00\x20\x00\x58\x00\xdc\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xdd\x00\x20\x00\x5b\x00\x0f\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5a\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x1c\x00\x8d\x00\x0e\x01\x0d\x01\x5e\x00\x08\x01\x1c\x00\x1d\x00\x36\x01\x1e\x00\x1f\x00\x20\x00\x66\x00\x9d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x4d\x00\x20\x00\x0c\x01\x1c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xba\x00\x1c\x00\x1d\x00\x35\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x33\x01\x31\x01\x5e\x00\x5e\x00\x1c\x00\x1d\x00\x2f\x01\x1e\x00\x1f\x00\x20\x00\x9e\x00\x9c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xb3\x00\x20\x00\x21\x01\x2e\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xab\x00\x1c\x00\x1d\x00\x25\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x20\x01\x1d\x01\x5e\x00\x5e\x00\x1c\x00\x1d\x00\x45\x01\x1e\x00\x1f\x00\x20\x00\xe3\x00\xe2\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x98\x00\x20\x00\x44\x01\x43\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x97\x00\x1c\x00\x1d\x00\x42\x01\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x40\x01\x3f\x01\x5e\x00\x5e\x00\x1c\x00\x1d\x00\x3c\x01\x1e\x00\x1f\x00\x20\x00\xe0\x00\xd8\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x96\x00\x20\x00\x3a\x01\x4c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x95\x00\x1c\x00\x1d\x00\x54\x01\x1e\x00\x1f\x00\x1c\x00\x52\x01\x50\x01\x4f\x01\x5e\x00\x4e\x01\x1c\x00\x1d\x00\x4d\x01\x1e\x00\x1f\x00\x20\x00\x09\x01\x4c\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xea\x00\x20\x00\x4b\x01\x48\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe9\x00\x1c\x00\x1d\x00\x47\x01\x1e\x00\x1f\x00\x5b\x01\x5f\x01\x5a\x01\x61\x01\x60\x01\x63\x01\x1c\x00\x1d\x00\x65\x01\x1e\x00\x1f\x00\x20\x00\x7f\x00\x81\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe4\x00\x20\x00\x7e\x00\x6c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xdb\x00\x1c\x00\x1d\x00\x91\x00\x1e\x00\x1f\x00\x8f\x00\x8e\x00\xf5\x00\x8b\x00\xf4\x00\x00\x00\x1c\x00\x1d\x00\xfd\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\xf3\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1b\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1a\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x19\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x18\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x11\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0a\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x08\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x06\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x05\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xfc\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xfb\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x33\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x31\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2f\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x29\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x25\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x23\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x22\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x21\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x45\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x40\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3d\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3c\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3a\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x38\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x37\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x52\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x50\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x49\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x48\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x58\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x55\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x54\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5d\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x5c\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x61\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x63\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x51\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\xd1\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\xc8\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\xc7\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x16\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x15\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x5b\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x57\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x50\x00\x56\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x52\x00\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\x24\x00\xe5\x00\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\x24\x00\xd0\x00\x00\x00\x53\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\xcf\x00\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\x24\x00\x2a\x01\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\x54\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\xce\x00\x00\x00\x00\x00\x53\x00\x21\x00\x22\x00\x23\x00\xcd\x00\x5c\x00\x00\x00\x53\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x5d\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x56\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x53\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x5d\x00\x21\x00\xcc\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\xcb\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x21\x00\xca\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\xc9\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x53\x00\x1e\x00\x1f\x00\x00\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\xe7\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\xe6\x00\xb2\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\xae\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x00\x00\x00\x5f\x00\x00\x00\x60\x00\xa1\x00\x00\x00\xa2\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x60\x00\x03\x01\x00\x00\x5f\x00\x1c\x00\x60\x00\x01\x01\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x60\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-happyReduceArr = Happy_Data_Array.array (26, 143) [
+happyReduceArr = Happy_Data_Array.array (26, 144) [
(26 , happyReduce_26),
(27 , happyReduce_27),
(28 , happyReduce_28),
@@ -418,10 +418,11 @@ happyReduceArr = Happy_Data_Array.array (26, 143) [
(140 , happyReduce_140),
(141 , happyReduce_141),
(142 , happyReduce_142),
- (143 , happyReduce_143)
+ (143 , happyReduce_143),
+ (144 , happyReduce_144)
]
-happy_n_terms = 82 :: Prelude.Int
+happy_n_terms = 83 :: Prelude.Int
happy_n_nonterms = 29 :: Prelude.Int
happyReduce_26 = happySpecReduce_1 0# happyReduction_26
@@ -501,8 +502,17 @@ happyReduction_35 happy_x_1
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Rzk1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_36 = happyReduce 4# 9# happyReduction_36
-happyReduction_36 (happy_x_4 `HappyStk`
+happyReduce_36 = happySpecReduce_2 9# happyReduction_36
+happyReduction_36 happy_x_2
+ happy_x_1
+ = case happyOutTok happy_x_1 of { happy_var_1 ->
+ case happyOut29 happy_x_2 of { (HappyWrap29 happy_var_2) ->
+ happyIn38
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandRequireFile (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
+ )}}
+
+happyReduce_37 = happyReduce 4# 9# happyReduction_37
+happyReduction_37 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -514,8 +524,8 @@ happyReduction_36 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_37 = happySpecReduce_2 9# happyReduction_37
-happyReduction_37 happy_x_2
+happyReduce_38 = happySpecReduce_2 9# happyReduction_38
+happyReduction_38 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
case happyOut29 happy_x_2 of { (HappyWrap29 happy_var_2) ->
@@ -523,8 +533,8 @@ happyReduction_37 happy_x_2
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_38 = happyReduce 4# 9# happyReduction_38
-happyReduction_38 (happy_x_4 `HappyStk`
+happyReduce_39 = happyReduce 4# 9# happyReduction_39
+happyReduction_39 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -536,8 +546,8 @@ happyReduction_38 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_39 = happySpecReduce_2 9# happyReduction_39
-happyReduction_39 happy_x_2
+happyReduce_40 = happySpecReduce_2 9# happyReduction_40
+happyReduction_40 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) ->
@@ -545,8 +555,8 @@ happyReduction_39 happy_x_2
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_40 = happySpecReduce_2 9# happyReduction_40
-happyReduction_40 happy_x_2
+happyReduce_41 = happySpecReduce_2 9# happyReduction_41
+happyReduction_41 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) ->
@@ -554,8 +564,8 @@ happyReduction_40 happy_x_2
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeWHNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_41 = happySpecReduce_2 9# happyReduction_41
-happyReduction_41 happy_x_2
+happyReduce_42 = happySpecReduce_2 9# happyReduction_42
+happyReduction_42 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) ->
@@ -563,8 +573,8 @@ happyReduction_41 happy_x_2
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_42 = happyReduce 6# 9# happyReduction_42
-happyReduction_42 (happy_x_6 `HappyStk`
+happyReduce_43 = happyReduce 6# 9# happyReduction_43
+happyReduction_43 (happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
@@ -580,8 +590,8 @@ happyReduction_42 (happy_x_6 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))
) `HappyStk` happyRest}}}}}
-happyReduce_43 = happyReduce 5# 9# happyReduction_43
-happyReduction_43 (happy_x_5 `HappyStk`
+happyReduce_44 = happyReduce 5# 9# happyReduction_44
+happyReduction_44 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -595,8 +605,8 @@ happyReduction_43 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5))
) `HappyStk` happyRest}}}}
-happyReduce_44 = happyReduce 4# 9# happyReduction_44
-happyReduction_44 (happy_x_4 `HappyStk`
+happyReduce_45 = happyReduce 4# 9# happyReduction_45
+happyReduction_45 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -608,8 +618,8 @@ happyReduction_44 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandAssume (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_45 = happyReduce 4# 9# happyReduction_45
-happyReduction_45 (happy_x_4 `HappyStk`
+happyReduce_46 = happyReduce 4# 9# happyReduction_46
+happyReduction_46 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -621,8 +631,8 @@ happyReduction_45 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariable (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_46 = happyReduce 4# 9# happyReduction_46
-happyReduction_46 (happy_x_4 `HappyStk`
+happyReduce_47 = happyReduce 4# 9# happyReduction_47
+happyReduction_47 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -634,8 +644,8 @@ happyReduction_46 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariables (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_47 = happyReduce 6# 9# happyReduction_47
-happyReduction_47 (happy_x_6 `HappyStk`
+happyReduce_48 = happyReduce 6# 9# happyReduction_48
+happyReduction_48 (happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
@@ -650,8 +660,8 @@ happyReduction_47 (happy_x_6 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSection (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
) `HappyStk` happyRest}}}}
-happyReduce_48 = happyReduce 8# 9# happyReduction_48
-happyReduction_48 (happy_x_8 `HappyStk`
+happyReduce_49 = happyReduce 8# 9# happyReduction_49
+happyReduction_49 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -670,8 +680,8 @@ happyReduction_48 (happy_x_8 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
) `HappyStk` happyRest}}}}}}
-happyReduce_49 = happyReduce 7# 9# happyReduction_49
-happyReduction_49 (happy_x_7 `HappyStk`
+happyReduce_50 = happyReduce 7# 9# happyReduction_50
+happyReduction_50 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -688,8 +698,8 @@ happyReduction_49 (happy_x_7 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
) `HappyStk` happyRest}}}}}
-happyReduce_50 = happyReduce 8# 9# happyReduction_50
-happyReduction_50 (happy_x_8 `HappyStk`
+happyReduce_51 = happyReduce 8# 9# happyReduction_51
+happyReduction_51 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -708,8 +718,8 @@ happyReduction_50 (happy_x_8 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))
) `HappyStk` happyRest}}}}}}
-happyReduce_51 = happyReduce 7# 9# happyReduction_51
-happyReduction_51 (happy_x_7 `HappyStk`
+happyReduce_52 = happyReduce 7# 9# happyReduction_52
+happyReduction_52 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -726,13 +736,13 @@ happyReduction_51 (happy_x_7 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))
) `HappyStk` happyRest}}}}}
-happyReduce_52 = happySpecReduce_0 10# happyReduction_52
-happyReduction_52 = happyIn39
+happyReduce_53 = happySpecReduce_0 10# happyReduction_53
+happyReduction_53 = happyIn39
((Language.Rzk.Syntax.Abs.BNFC'NoPosition, [])
)
-happyReduce_53 = happySpecReduce_3 10# happyReduction_53
-happyReduction_53 happy_x_3
+happyReduce_54 = happySpecReduce_3 10# happyReduction_54
+happyReduction_54 happy_x_3
happy_x_2
happy_x_1
= case happyOut38 happy_x_1 of { (HappyWrap38 happy_var_1) ->
@@ -741,8 +751,8 @@ happyReduction_53 happy_x_3
((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_54 = happyReduce 4# 11# happyReduction_54
-happyReduction_54 (happy_x_4 `HappyStk`
+happyReduce_55 = happyReduce 4# 11# happyReduction_55
+happyReduction_55 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -753,39 +763,39 @@ happyReduction_54 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.DeclUsedVars (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))
) `HappyStk` happyRest}}
-happyReduce_55 = happySpecReduce_0 11# happyReduction_55
-happyReduction_55 = happyIn40
+happyReduce_56 = happySpecReduce_0 11# happyReduction_56
+happyReduction_56 = happyIn40
((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.noDeclUsedVars Language.Rzk.Syntax.Abs.BNFC'NoPosition)
)
-happyReduce_56 = happySpecReduce_0 12# happyReduction_56
-happyReduction_56 = happyIn41
+happyReduce_57 = happySpecReduce_0 12# happyReduction_57
+happyReduction_57 = happyIn41
((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoSectionName Language.Rzk.Syntax.Abs.BNFC'NoPosition)
)
-happyReduce_57 = happySpecReduce_1 12# happyReduction_57
-happyReduction_57 happy_x_1
+happyReduce_58 = happySpecReduce_1 12# happyReduction_58
+happyReduction_58 happy_x_1
= case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->
happyIn41
((fst happy_var_1, Language.Rzk.Syntax.Abs.SomeSectionName (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_58 = happySpecReduce_1 13# happyReduction_58
-happyReduction_58 happy_x_1
+happyReduce_59 = happySpecReduce_1 13# happyReduction_59
+happyReduction_59 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn42
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_59 = happySpecReduce_1 13# happyReduction_59
-happyReduction_59 happy_x_1
+happyReduce_60 = happySpecReduce_1 13# happyReduction_60
+happyReduction_60 happy_x_1
= case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->
happyIn42
((fst happy_var_1, Language.Rzk.Syntax.Abs.PatternVar (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_60 = happyReduce 5# 13# happyReduction_60
-happyReduction_60 (happy_x_5 `HappyStk`
+happyReduce_61 = happyReduce 5# 13# happyReduction_61
+happyReduction_61 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -798,15 +808,15 @@ happyReduction_60 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_61 = happySpecReduce_1 14# happyReduction_61
-happyReduction_61 happy_x_1
+happyReduce_62 = happySpecReduce_1 14# happyReduction_62
+happyReduction_62 happy_x_1
= case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) ->
happyIn43
((fst happy_var_1, (:[]) (snd happy_var_1))
)}
-happyReduce_62 = happySpecReduce_2 14# happyReduction_62
-happyReduction_62 happy_x_2
+happyReduce_63 = happySpecReduce_2 14# happyReduction_63
+happyReduction_63 happy_x_2
happy_x_1
= case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) ->
case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) ->
@@ -814,15 +824,15 @@ happyReduction_62 happy_x_2
((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
)}}
-happyReduce_63 = happySpecReduce_1 15# happyReduction_63
-happyReduction_63 happy_x_1
+happyReduce_64 = happySpecReduce_1 15# happyReduction_64
+happyReduction_64 happy_x_1
= case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) ->
happyIn44
((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamPattern (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_64 = happyReduce 5# 15# happyReduction_64
-happyReduction_64 (happy_x_5 `HappyStk`
+happyReduce_65 = happyReduce 5# 15# happyReduction_65
+happyReduction_65 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -835,8 +845,8 @@ happyReduction_64 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_65 = happyReduce 7# 15# happyReduction_65
-happyReduction_65 (happy_x_7 `HappyStk`
+happyReduce_66 = happyReduce 7# 15# happyReduction_66
+happyReduction_66 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -852,8 +862,8 @@ happyReduction_65 (happy_x_7 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
) `HappyStk` happyRest}}}}
-happyReduce_66 = happyReduce 7# 15# happyReduction_66
-happyReduction_66 (happy_x_7 `HappyStk`
+happyReduce_67 = happyReduce 7# 15# happyReduction_67
+happyReduction_67 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -869,15 +879,15 @@ happyReduction_66 (happy_x_7 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShapeDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
) `HappyStk` happyRest}}}}
-happyReduce_67 = happySpecReduce_1 16# happyReduction_67
-happyReduction_67 happy_x_1
+happyReduce_68 = happySpecReduce_1 16# happyReduction_68
+happyReduction_68 happy_x_1
= case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) ->
happyIn45
((fst happy_var_1, (:[]) (snd happy_var_1))
)}
-happyReduce_68 = happySpecReduce_2 16# happyReduction_68
-happyReduction_68 happy_x_2
+happyReduce_69 = happySpecReduce_2 16# happyReduction_69
+happyReduction_69 happy_x_2
happy_x_1
= case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) ->
case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) ->
@@ -885,15 +895,15 @@ happyReduction_68 happy_x_2
((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))
)}}
-happyReduce_69 = happySpecReduce_1 17# happyReduction_69
-happyReduction_69 happy_x_1
+happyReduce_70 = happySpecReduce_1 17# happyReduction_70
+happyReduction_70 happy_x_1
= case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->
happyIn46
((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamType (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_70 = happyReduce 5# 17# happyReduction_70
-happyReduction_70 (happy_x_5 `HappyStk`
+happyReduce_71 = happyReduce 5# 17# happyReduction_71
+happyReduction_71 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -906,8 +916,8 @@ happyReduction_70 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_71 = happyReduce 7# 17# happyReduction_71
-happyReduction_71 (happy_x_7 `HappyStk`
+happyReduce_72 = happyReduce 7# 17# happyReduction_72
+happyReduction_72 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -923,8 +933,8 @@ happyReduction_71 (happy_x_7 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
) `HappyStk` happyRest}}}}
-happyReduce_72 = happyReduce 5# 17# happyReduction_72
-happyReduction_72 (happy_x_5 `HappyStk`
+happyReduce_73 = happyReduce 5# 17# happyReduction_73
+happyReduction_73 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -937,8 +947,8 @@ happyReduction_72 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamTermTypeDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_73 = happyReduce 9# 17# happyReduction_73
-happyReduction_73 (happy_x_9 `HappyStk`
+happyReduce_74 = happyReduce 9# 17# happyReduction_74
+happyReduction_74 (happy_x_9 `HappyStk`
happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
@@ -956,8 +966,8 @@ happyReduction_73 (happy_x_9 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarShapeDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
) `HappyStk` happyRest}}}}
-happyReduce_74 = happyReduce 7# 17# happyReduction_74
-happyReduction_74 (happy_x_7 `HappyStk`
+happyReduce_75 = happyReduce 7# 17# happyReduction_75
+happyReduction_75 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
@@ -973,8 +983,8 @@ happyReduction_74 (happy_x_7 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarShapeDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))
) `HappyStk` happyRest}}}}
-happyReduce_75 = happySpecReduce_3 18# happyReduction_75
-happyReduction_75 happy_x_3
+happyReduce_76 = happySpecReduce_3 18# happyReduction_76
+happyReduction_76 happy_x_3
happy_x_2
happy_x_1
= case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) ->
@@ -983,8 +993,8 @@ happyReduction_75 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_76 = happySpecReduce_3 18# happyReduction_76
-happyReduction_76 happy_x_3
+happyReduce_77 = happySpecReduce_3 18# happyReduction_77
+happyReduction_77 happy_x_3
happy_x_2
happy_x_1
= case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) ->
@@ -993,15 +1003,15 @@ happyReduction_76 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_77 = happySpecReduce_1 19# happyReduction_77
-happyReduction_77 happy_x_1
+happyReduce_78 = happySpecReduce_1 19# happyReduction_78
+happyReduction_78 happy_x_1
= case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) ->
happyIn48
((fst happy_var_1, (:[]) (snd happy_var_1))
)}
-happyReduce_78 = happySpecReduce_3 19# happyReduction_78
-happyReduction_78 happy_x_3
+happyReduce_79 = happySpecReduce_3 19# happyReduction_79
+happyReduction_79 happy_x_3
happy_x_2
happy_x_1
= case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) ->
@@ -1010,85 +1020,85 @@ happyReduction_78 happy_x_3
((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_79 = happySpecReduce_1 20# happyReduction_79
-happyReduction_79 happy_x_1
- = case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
- )}
-
happyReduce_80 = happySpecReduce_1 20# happyReduction_80
happyReduction_80 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_81 = happySpecReduce_1 20# happyReduction_81
happyReduction_81 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_82 = happySpecReduce_1 20# happyReduction_82
happyReduction_82 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_83 = happySpecReduce_1 20# happyReduction_83
happyReduction_83 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_84 = happySpecReduce_1 20# happyReduction_84
happyReduction_84 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_85 = happySpecReduce_1 20# happyReduction_85
happyReduction_85 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_86 = happySpecReduce_1 20# happyReduction_86
happyReduction_86 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_87 = happySpecReduce_1 20# happyReduction_87
happyReduction_87 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_88 = happySpecReduce_1 20# happyReduction_88
happyReduction_88 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_89 = happySpecReduce_1 20# happyReduction_89
happyReduction_89 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
+ happyIn49
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ )}
+
+happyReduce_90 = happySpecReduce_1 20# happyReduction_90
+happyReduction_90 happy_x_1
+ = case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_90 = happyReduce 4# 20# happyReduction_90
-happyReduction_90 (happy_x_4 `HappyStk`
+happyReduce_91 = happyReduce 4# 20# happyReduction_91
+happyReduction_91 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -1099,8 +1109,8 @@ happyReduction_90 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))
) `HappyStk` happyRest}}
-happyReduce_91 = happyReduce 10# 20# happyReduction_91
-happyReduction_91 (happy_x_10 `HappyStk`
+happyReduce_92 = happyReduce 10# 20# happyReduction_92
+happyReduction_92 (happy_x_10 `HappyStk`
happy_x_9 `HappyStk`
happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
@@ -1120,15 +1130,15 @@ happyReduction_91 (happy_x_10 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOrDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9))
) `HappyStk` happyRest}}}}}
-happyReduce_92 = happySpecReduce_1 20# happyReduction_92
-happyReduction_92 happy_x_1
+happyReduce_93 = happySpecReduce_1 20# happyReduction_93
+happyReduction_93 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_93 = happyReduce 5# 20# happyReduction_93
-happyReduction_93 (happy_x_5 `HappyStk`
+happyReduce_94 = happyReduce 5# 20# happyReduction_94
+happyReduction_94 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -1141,8 +1151,8 @@ happyReduction_93 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeExtensionDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_94 = happyReduce 5# 20# happyReduction_94
-happyReduction_94 (happy_x_5 `HappyStk`
+happyReduce_95 = happyReduce 5# 20# happyReduction_95
+happyReduction_95 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -1155,22 +1165,22 @@ happyReduction_94 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_95 = happySpecReduce_1 20# happyReduction_95
-happyReduction_95 happy_x_1
+happyReduce_96 = happySpecReduce_1 20# happyReduction_96
+happyReduction_96 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Unit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_96 = happySpecReduce_1 20# happyReduction_96
-happyReduction_96 happy_x_1
+happyReduce_97 = happySpecReduce_1 20# happyReduction_97
+happyReduction_97 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_97 = happySpecReduce_3 20# happyReduction_97
-happyReduction_97 happy_x_3
+happyReduce_98 = happySpecReduce_3 20# happyReduction_98
+happyReduction_98 happy_x_3
happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
@@ -1179,8 +1189,8 @@ happyReduction_97 happy_x_3
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_98 = happyReduce 5# 20# happyReduction_98
-happyReduction_98 (happy_x_5 `HappyStk`
+happyReduce_99 = happyReduce 5# 20# happyReduction_99
+happyReduction_99 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -1193,8 +1203,8 @@ happyReduction_98 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_99 = happyReduce 14# 20# happyReduction_99
-happyReduction_99 (happy_x_14 `HappyStk`
+happyReduce_100 = happyReduce 14# 20# happyReduction_100
+happyReduction_100 (happy_x_14 `HappyStk`
happy_x_13 `HappyStk`
happy_x_12 `HappyStk`
happy_x_11 `HappyStk`
@@ -1220,22 +1230,22 @@ happyReduction_99 (happy_x_14 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.IdJ (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9) (snd happy_var_11) (snd happy_var_13))
) `HappyStk` happyRest}}}}}}}
-happyReduce_100 = happySpecReduce_1 20# happyReduction_100
-happyReduction_100 happy_x_1
+happyReduce_101 = happySpecReduce_1 20# happyReduction_101
+happyReduction_101 happy_x_1
= case happyOut33 happy_x_1 of { (HappyWrap33 happy_var_1) ->
happyIn49
((fst happy_var_1, Language.Rzk.Syntax.Abs.Hole (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_101 = happySpecReduce_1 20# happyReduction_101
-happyReduction_101 happy_x_1
+happyReduce_102 = happySpecReduce_1 20# happyReduction_102
+happyReduction_102 happy_x_1
= case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->
happyIn49
((fst happy_var_1, Language.Rzk.Syntax.Abs.Var (fst happy_var_1) (snd happy_var_1))
)}
-happyReduce_102 = happySpecReduce_3 20# happyReduction_102
-happyReduction_102 happy_x_3
+happyReduce_103 = happySpecReduce_3 20# happyReduction_103
+happyReduction_103 happy_x_3
happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
@@ -1244,43 +1254,43 @@ happyReduction_102 happy_x_3
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (snd happy_var_2))
)}}
-happyReduce_103 = happySpecReduce_1 20# happyReduction_103
-happyReduction_103 happy_x_1
- = case happyOutTok happy_x_1 of { happy_var_1 ->
- happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
- )}
-
happyReduce_104 = happySpecReduce_1 20# happyReduction_104
happyReduction_104 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_105 = happySpecReduce_1 20# happyReduction_105
happyReduction_105 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_106 = happySpecReduce_1 20# happyReduction_106
happyReduction_106 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
happyReduce_107 = happySpecReduce_1 20# happyReduction_107
happyReduction_107 happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
+ happyIn49
+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
+ )}
+
+happyReduce_108 = happySpecReduce_1 20# happyReduction_108
+happyReduction_108 happy_x_1
+ = case happyOutTok happy_x_1 of { happy_var_1 ->
happyIn49
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))
)}
-happyReduce_108 = happyReduce 5# 20# happyReduction_108
-happyReduction_108 (happy_x_5 `HappyStk`
+happyReduce_109 = happyReduce 5# 20# happyReduction_109
+happyReduction_109 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -1293,8 +1303,8 @@ happyReduction_108 (happy_x_5 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TypeExtensionDeprecated (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_109 = happySpecReduce_3 21# happyReduction_109
-happyReduction_109 happy_x_3
+happyReduce_110 = happySpecReduce_3 21# happyReduction_110
+happyReduction_110 happy_x_3
happy_x_2
happy_x_1
= case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) ->
@@ -1303,15 +1313,15 @@ happyReduction_109 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_110 = happySpecReduce_1 21# happyReduction_110
-happyReduction_110 happy_x_1
+happyReduce_111 = happySpecReduce_1 21# happyReduction_111
+happyReduction_111 happy_x_1
= case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->
happyIn50
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_111 = happySpecReduce_3 21# happyReduction_111
-happyReduction_111 happy_x_3
+happyReduce_112 = happySpecReduce_3 21# happyReduction_112
+happyReduction_112 happy_x_3
happy_x_2
happy_x_1
= case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) ->
@@ -1320,8 +1330,8 @@ happyReduction_111 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.ascii_CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_112 = happySpecReduce_3 22# happyReduction_112
-happyReduction_112 happy_x_3
+happyReduce_113 = happySpecReduce_3 22# happyReduction_113
+happyReduction_113 happy_x_3
happy_x_2
happy_x_1
= case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) ->
@@ -1330,8 +1340,8 @@ happyReduction_112 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_113 = happySpecReduce_3 22# happyReduction_113
-happyReduction_113 happy_x_3
+happyReduce_114 = happySpecReduce_3 22# happyReduction_114
+happyReduction_114 happy_x_3
happy_x_2
happy_x_1
= case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) ->
@@ -1340,15 +1350,15 @@ happyReduction_113 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_114 = happySpecReduce_1 22# happyReduction_114
-happyReduction_114 happy_x_1
+happyReduce_115 = happySpecReduce_1 22# happyReduction_115
+happyReduction_115 happy_x_1
= case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) ->
happyIn51
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_115 = happySpecReduce_3 22# happyReduction_115
-happyReduction_115 happy_x_3
+happyReduce_116 = happySpecReduce_3 22# happyReduction_116
+happyReduction_116 happy_x_3
happy_x_2
happy_x_1
= case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) ->
@@ -1357,8 +1367,8 @@ happyReduction_115 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_116 = happySpecReduce_3 22# happyReduction_116
-happyReduction_116 happy_x_3
+happyReduce_117 = happySpecReduce_3 22# happyReduction_117
+happyReduction_117 happy_x_3
happy_x_2
happy_x_1
= case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) ->
@@ -1367,8 +1377,8 @@ happyReduction_116 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_117 = happySpecReduce_3 23# happyReduction_117
-happyReduction_117 happy_x_3
+happyReduce_118 = happySpecReduce_3 23# happyReduction_118
+happyReduction_118 happy_x_3
happy_x_2
happy_x_1
= case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) ->
@@ -1377,15 +1387,15 @@ happyReduction_117 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_118 = happySpecReduce_1 23# happyReduction_118
-happyReduction_118 happy_x_1
+happyReduce_119 = happySpecReduce_1 23# happyReduction_119
+happyReduction_119 happy_x_1
= case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) ->
happyIn52
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_119 = happySpecReduce_3 23# happyReduction_119
-happyReduction_119 happy_x_3
+happyReduce_120 = happySpecReduce_3 23# happyReduction_120
+happyReduction_120 happy_x_3
happy_x_2
happy_x_1
= case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) ->
@@ -1394,8 +1404,8 @@ happyReduction_119 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_120 = happySpecReduce_3 24# happyReduction_120
-happyReduction_120 happy_x_3
+happyReduce_121 = happySpecReduce_3 24# happyReduction_121
+happyReduction_121 happy_x_3
happy_x_2
happy_x_1
= case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) ->
@@ -1404,15 +1414,15 @@ happyReduction_120 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_121 = happySpecReduce_1 24# happyReduction_121
-happyReduction_121 happy_x_1
+happyReduce_122 = happySpecReduce_1 24# happyReduction_122
+happyReduction_122 happy_x_1
= case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) ->
happyIn53
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_122 = happySpecReduce_3 24# happyReduction_122
-happyReduction_122 happy_x_3
+happyReduce_123 = happySpecReduce_3 24# happyReduction_123
+happyReduction_123 happy_x_3
happy_x_2
happy_x_1
= case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) ->
@@ -1421,8 +1431,8 @@ happyReduction_122 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_123 = happySpecReduce_3 25# happyReduction_123
-happyReduction_123 happy_x_3
+happyReduce_124 = happySpecReduce_3 25# happyReduction_124
+happyReduction_124 happy_x_3
happy_x_2
happy_x_1
= case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
@@ -1431,8 +1441,8 @@ happyReduction_123 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_124 = happyReduce 8# 25# happyReduction_124
-happyReduction_124 (happy_x_8 `HappyStk`
+happyReduce_125 = happyReduce 8# 25# happyReduction_125
+happyReduction_125 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -1449,8 +1459,8 @@ happyReduction_124 (happy_x_8 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
) `HappyStk` happyRest}}}}
-happyReduce_125 = happyReduce 5# 25# happyReduction_125
-happyReduction_125 (happy_x_5 `HappyStk`
+happyReduce_126 = happyReduce 5# 25# happyReduction_126
+happyReduction_126 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
@@ -1463,8 +1473,8 @@ happyReduction_125 (happy_x_5 `HappyStk`
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeId (fst happy_var_1) (snd happy_var_1) (snd happy_var_3) (snd happy_var_5))
) `HappyStk` happyRest}}}
-happyReduce_126 = happySpecReduce_3 25# happyReduction_126
-happyReduction_126 happy_x_3
+happyReduce_127 = happySpecReduce_3 25# happyReduction_127
+happyReduction_127 happy_x_3
happy_x_2
happy_x_1
= case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) ->
@@ -1473,8 +1483,8 @@ happyReduction_126 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeIdSimple (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_127 = happyReduce 4# 25# happyReduction_127
-happyReduction_127 (happy_x_4 `HappyStk`
+happyReduce_128 = happyReduce 4# 25# happyReduction_128
+happyReduction_128 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -1486,15 +1496,15 @@ happyReduction_127 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_128 = happySpecReduce_1 25# happyReduction_128
-happyReduction_128 happy_x_1
+happyReduce_129 = happySpecReduce_1 25# happyReduction_129
+happyReduction_129 happy_x_1
= case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) ->
happyIn54
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_129 = happySpecReduce_3 25# happyReduction_129
-happyReduction_129 happy_x_3
+happyReduce_130 = happySpecReduce_3 25# happyReduction_130
+happyReduction_130 happy_x_3
happy_x_2
happy_x_1
= case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
@@ -1503,8 +1513,8 @@ happyReduction_129 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.ASCII_TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_130 = happyReduce 8# 25# happyReduction_130
-happyReduction_130 (happy_x_8 `HappyStk`
+happyReduce_131 = happyReduce 8# 25# happyReduction_131
+happyReduction_131 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -1521,8 +1531,8 @@ happyReduction_130 (happy_x_8 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
) `HappyStk` happyRest}}}}
-happyReduce_131 = happyReduce 4# 25# happyReduction_131
-happyReduction_131 (happy_x_4 `HappyStk`
+happyReduce_132 = happyReduce 4# 25# happyReduction_132
+happyReduction_132 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -1534,8 +1544,8 @@ happyReduction_131 (happy_x_4 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))
) `HappyStk` happyRest}}}
-happyReduce_132 = happyReduce 8# 25# happyReduction_132
-happyReduction_132 (happy_x_8 `HappyStk`
+happyReduce_133 = happyReduce 8# 25# happyReduction_133
+happyReduction_133 (happy_x_8 `HappyStk`
happy_x_7 `HappyStk`
happy_x_6 `HappyStk`
happy_x_5 `HappyStk`
@@ -1552,8 +1562,8 @@ happyReduction_132 (happy_x_8 `HappyStk`
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))
) `HappyStk` happyRest}}}}
-happyReduce_133 = happyReduce 4# 26# happyReduction_133
-happyReduction_133 (happy_x_4 `HappyStk`
+happyReduce_134 = happyReduce 4# 26# happyReduction_134
+happyReduction_134 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk`
happy_x_2 `HappyStk`
happy_x_1 `HappyStk`
@@ -1564,8 +1574,8 @@ happyReduction_133 (happy_x_4 `HappyStk`
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeRestricted (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
) `HappyStk` happyRest}}
-happyReduce_134 = happySpecReduce_2 26# happyReduction_134
-happyReduction_134 happy_x_2
+happyReduce_135 = happySpecReduce_2 26# happyReduction_135
+happyReduction_135 happy_x_2
happy_x_1
= case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->
case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) ->
@@ -1573,8 +1583,8 @@ happyReduction_134 happy_x_2
((fst happy_var_1, Language.Rzk.Syntax.Abs.App (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))
)}}
-happyReduce_135 = happySpecReduce_2 26# happyReduction_135
-happyReduction_135 happy_x_2
+happyReduce_136 = happySpecReduce_2 26# happyReduction_136
+happyReduction_136 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) ->
@@ -1582,8 +1592,8 @@ happyReduction_135 happy_x_2
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_136 = happySpecReduce_2 26# happyReduction_136
-happyReduction_136 happy_x_2
+happyReduce_137 = happySpecReduce_2 26# happyReduction_137
+happyReduction_137 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) ->
@@ -1591,15 +1601,15 @@ happyReduction_136 happy_x_2
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_137 = happySpecReduce_1 26# happyReduction_137
-happyReduction_137 happy_x_1
+happyReduce_138 = happySpecReduce_1 26# happyReduction_138
+happyReduction_138 happy_x_1
= case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->
happyIn55
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_138 = happySpecReduce_2 26# happyReduction_138
-happyReduction_138 happy_x_2
+happyReduce_139 = happySpecReduce_2 26# happyReduction_139
+happyReduction_139 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) ->
@@ -1607,8 +1617,8 @@ happyReduction_138 happy_x_2
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_139 = happySpecReduce_2 26# happyReduction_139
-happyReduction_139 happy_x_2
+happyReduce_140 = happySpecReduce_2 26# happyReduction_140
+happyReduction_140 happy_x_2
happy_x_1
= case happyOutTok happy_x_1 of { happy_var_1 ->
case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) ->
@@ -1616,8 +1626,8 @@ happyReduction_139 happy_x_2
((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ASCII_Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))
)}}
-happyReduce_140 = happySpecReduce_3 27# happyReduction_140
-happyReduction_140 happy_x_3
+happyReduce_141 = happySpecReduce_3 27# happyReduction_141
+happyReduction_141 happy_x_3
happy_x_2
happy_x_1
= case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) ->
@@ -1626,22 +1636,22 @@ happyReduction_140 happy_x_3
((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeAsc (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))
)}}
-happyReduce_141 = happySpecReduce_1 27# happyReduction_141
-happyReduction_141 happy_x_1
+happyReduce_142 = happySpecReduce_1 27# happyReduction_142
+happyReduction_142 happy_x_1
= case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) ->
happyIn56
((fst happy_var_1, (snd happy_var_1))
)}
-happyReduce_142 = happySpecReduce_1 28# happyReduction_142
-happyReduction_142 happy_x_1
+happyReduce_143 = happySpecReduce_1 28# happyReduction_143
+happyReduction_143 happy_x_1
= case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) ->
happyIn57
((fst happy_var_1, (:[]) (snd happy_var_1))
)}
-happyReduce_143 = happySpecReduce_3 28# happyReduction_143
-happyReduction_143 happy_x_3
+happyReduce_144 = happySpecReduce_3 28# happyReduction_144
+happyReduction_144 happy_x_3
happy_x_2
happy_x_1
= case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) ->
@@ -1651,7 +1661,7 @@ happyReduction_143 happy_x_3
)}}
happyNewToken action sts stk [] =
- happyDoAction 81# notHappyAtAll action sts stk []
+ happyDoAction 82# notHappyAtAll action sts stk []
happyNewToken action sts stk (tk:tks) =
let cont i = happyDoAction i tk action sts stk tks in
@@ -1733,13 +1743,14 @@ happyNewToken action sts stk (tk:tks) =
PT _ (TS _ 75) -> cont 75#;
PT _ (TS _ 76) -> cont 76#;
PT _ (TS _ 77) -> cont 77#;
- PT _ (TL _) -> cont 78#;
- PT _ (T_VarIdentToken _) -> cont 79#;
- PT _ (T_HoleIdentToken _) -> cont 80#;
+ PT _ (TS _ 78) -> cont 78#;
+ PT _ (TL _) -> cont 79#;
+ PT _ (T_VarIdentToken _) -> cont 80#;
+ PT _ (T_HoleIdentToken _) -> cont 81#;
_ -> happyError' ((tk:tks), [])
}
-happyError_ explist 81# tk tks = happyError' (tks, explist)
+happyError_ explist 82# tk tks = happyError' (tks, explist)
happyError_ explist _ tk tks = happyError' ((tk:tks), explist)
happyThen :: () => Err a -> (a -> Err b) -> Err b
diff --git a/rzk/src/Language/Rzk/Syntax/Par.info b/rzk/src/Language/Rzk/Syntax/Par.info
index 925d8d6cc..33aed4b7b 100644
--- a/rzk/src/Language/Rzk/Syntax/Par.info
+++ b/rzk/src/Language/Rzk/Syntax/Par.info
@@ -42,114 +42,115 @@ Grammar
ListVarIdent -> VarIdent ListVarIdent (33)
LanguageDecl -> '#lang' Language ';' (34)
Language -> 'rzk-1' (35)
- Command -> '#set-option' String '=' String (36)
- Command -> '#unset-option' String (37)
- Command -> '#check' Term ':' Term (38)
- Command -> '#compute' Term (39)
- Command -> '#compute-whnf' Term (40)
- Command -> '#compute-nf' Term (41)
- Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' Term (42)
- Command -> '#postulate' VarIdent DeclUsedVars ':' Term (43)
- Command -> '#assume' ListVarIdent ':' Term (44)
- Command -> '#variable' VarIdent ':' Term (45)
- Command -> '#variables' ListVarIdent ':' Term (46)
- Command -> '#section' SectionName ';' ListCommand '#end' SectionName (47)
- Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' Term (48)
- Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' Term (49)
- Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' Term (50)
- Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' Term (51)
- ListCommand -> (52)
- ListCommand -> Command ';' ListCommand (53)
- DeclUsedVars -> 'uses' '(' ListVarIdent ')' (54)
- DeclUsedVars -> (55)
- SectionName -> (56)
- SectionName -> VarIdent (57)
- Pattern -> 'unit' (58)
- Pattern -> VarIdent (59)
- Pattern -> '(' Pattern ',' Pattern ')' (60)
- ListPattern -> Pattern (61)
- ListPattern -> Pattern ListPattern (62)
- Param -> Pattern (63)
- Param -> '(' ListPattern ':' Term ')' (64)
- Param -> '(' ListPattern ':' Term '|' Term ')' (65)
- Param -> '{' Pattern ':' Term '|' Term '}' (66)
- ListParam -> Param (67)
- ListParam -> Param ListParam (68)
- ParamDecl -> Term6 (69)
- ParamDecl -> '(' Term ':' Term ')' (70)
- ParamDecl -> '(' Term ':' Term '|' Term ')' (71)
- ParamDecl -> '{' Pattern ':' Term '}' (72)
- ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' (73)
- ParamDecl -> '{' Pattern ':' Term '|' Term '}' (74)
- Restriction -> Term '↦' Term (75)
- Restriction -> Term '|->' Term (76)
- ListRestriction -> Restriction (77)
- ListRestriction -> Restriction ',' ListRestriction (78)
- Term7 -> 'U' (79)
- Term7 -> 'CUBE' (80)
- Term7 -> 'TOPE' (81)
- Term7 -> '1' (82)
- Term7 -> '*₁' (83)
- Term7 -> '2' (84)
- Term7 -> '0₂' (85)
- Term7 -> '1₂' (86)
- Term7 -> '⊤' (87)
- Term7 -> '⊥' (88)
- Term7 -> 'recBOT' (89)
- Term7 -> 'recOR' '(' ListRestriction ')' (90)
- Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' (91)
- Term7 -> 'Unit' (92)
- Term7 -> '<' ParamDecl '→' Term '>' (93)
- Term7 -> '(' Term ',' Term ')' (94)
- Term7 -> 'unit' (95)
- Term7 -> 'refl' (96)
- Term7 -> 'refl_{' Term '}' (97)
- Term7 -> 'refl_{' Term ':' Term '}' (98)
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (99)
- Term7 -> HoleIdent (100)
- Term7 -> VarIdent (101)
- Term7 -> '(' Term ')' (102)
- Term7 -> '*_1' (103)
- Term7 -> '0_2' (104)
- Term7 -> '1_2' (105)
- Term7 -> 'TOP' (106)
- Term7 -> 'BOT' (107)
- Term7 -> '<' ParamDecl '->' Term '>' (108)
- Term5 -> Term5 '×' Term6 (109)
- Term5 -> Term6 (110)
- Term5 -> Term5 '*' Term6 (111)
- Term4 -> Term5 '≡' Term5 (112)
- Term4 -> Term5 '≤' Term5 (113)
- Term4 -> Term5 (114)
- Term4 -> Term5 '===' Term5 (115)
- Term4 -> Term5 '<=' Term5 (116)
- Term3 -> Term4 '∧' Term3 (117)
- Term3 -> Term4 (118)
- Term3 -> Term4 '/\\' Term3 (119)
- Term2 -> Term3 '∨' Term2 (120)
- Term2 -> Term3 (121)
- Term2 -> Term3 '\\/' Term2 (122)
- Term1 -> ParamDecl '→' Term1 (123)
- Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 (124)
- Term1 -> Term2 '=_{' Term '}' Term2 (125)
- Term1 -> Term2 '=' Term2 (126)
- Term1 -> '\\' ListParam '→' Term1 (127)
- Term1 -> Term2 (128)
- Term1 -> ParamDecl '->' Term1 (129)
- Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 (130)
- Term1 -> '\\' ListParam '->' Term1 (131)
- Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 (132)
- Term6 -> Term6 '[' ListRestriction ']' (133)
- Term6 -> Term6 Term7 (134)
- Term6 -> 'π₁' Term7 (135)
- Term6 -> 'π₂' Term7 (136)
- Term6 -> Term7 (137)
- Term6 -> 'first' Term7 (138)
- Term6 -> 'second' Term7 (139)
- Term -> Term2 'as' Term1 (140)
- Term -> Term1 (141)
- ListTerm -> Term (142)
- ListTerm -> Term ',' ListTerm (143)
+ Command -> '#require-file' String (36)
+ Command -> '#set-option' String '=' String (37)
+ Command -> '#unset-option' String (38)
+ Command -> '#check' Term ':' Term (39)
+ Command -> '#compute' Term (40)
+ Command -> '#compute-whnf' Term (41)
+ Command -> '#compute-nf' Term (42)
+ Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' Term (43)
+ Command -> '#postulate' VarIdent DeclUsedVars ':' Term (44)
+ Command -> '#assume' ListVarIdent ':' Term (45)
+ Command -> '#variable' VarIdent ':' Term (46)
+ Command -> '#variables' ListVarIdent ':' Term (47)
+ Command -> '#section' SectionName ';' ListCommand '#end' SectionName (48)
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' Term (49)
+ Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' Term (50)
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' Term (51)
+ Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' Term (52)
+ ListCommand -> (53)
+ ListCommand -> Command ';' ListCommand (54)
+ DeclUsedVars -> 'uses' '(' ListVarIdent ')' (55)
+ DeclUsedVars -> (56)
+ SectionName -> (57)
+ SectionName -> VarIdent (58)
+ Pattern -> 'unit' (59)
+ Pattern -> VarIdent (60)
+ Pattern -> '(' Pattern ',' Pattern ')' (61)
+ ListPattern -> Pattern (62)
+ ListPattern -> Pattern ListPattern (63)
+ Param -> Pattern (64)
+ Param -> '(' ListPattern ':' Term ')' (65)
+ Param -> '(' ListPattern ':' Term '|' Term ')' (66)
+ Param -> '{' Pattern ':' Term '|' Term '}' (67)
+ ListParam -> Param (68)
+ ListParam -> Param ListParam (69)
+ ParamDecl -> Term6 (70)
+ ParamDecl -> '(' Term ':' Term ')' (71)
+ ParamDecl -> '(' Term ':' Term '|' Term ')' (72)
+ ParamDecl -> '{' Pattern ':' Term '}' (73)
+ ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' (74)
+ ParamDecl -> '{' Pattern ':' Term '|' Term '}' (75)
+ Restriction -> Term '↦' Term (76)
+ Restriction -> Term '|->' Term (77)
+ ListRestriction -> Restriction (78)
+ ListRestriction -> Restriction ',' ListRestriction (79)
+ Term7 -> 'U' (80)
+ Term7 -> 'CUBE' (81)
+ Term7 -> 'TOPE' (82)
+ Term7 -> '1' (83)
+ Term7 -> '*₁' (84)
+ Term7 -> '2' (85)
+ Term7 -> '0₂' (86)
+ Term7 -> '1₂' (87)
+ Term7 -> '⊤' (88)
+ Term7 -> '⊥' (89)
+ Term7 -> 'recBOT' (90)
+ Term7 -> 'recOR' '(' ListRestriction ')' (91)
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' (92)
+ Term7 -> 'Unit' (93)
+ Term7 -> '<' ParamDecl '→' Term '>' (94)
+ Term7 -> '(' Term ',' Term ')' (95)
+ Term7 -> 'unit' (96)
+ Term7 -> 'refl' (97)
+ Term7 -> 'refl_{' Term '}' (98)
+ Term7 -> 'refl_{' Term ':' Term '}' (99)
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (100)
+ Term7 -> HoleIdent (101)
+ Term7 -> VarIdent (102)
+ Term7 -> '(' Term ')' (103)
+ Term7 -> '*_1' (104)
+ Term7 -> '0_2' (105)
+ Term7 -> '1_2' (106)
+ Term7 -> 'TOP' (107)
+ Term7 -> 'BOT' (108)
+ Term7 -> '<' ParamDecl '->' Term '>' (109)
+ Term5 -> Term5 '×' Term6 (110)
+ Term5 -> Term6 (111)
+ Term5 -> Term5 '*' Term6 (112)
+ Term4 -> Term5 '≡' Term5 (113)
+ Term4 -> Term5 '≤' Term5 (114)
+ Term4 -> Term5 (115)
+ Term4 -> Term5 '===' Term5 (116)
+ Term4 -> Term5 '<=' Term5 (117)
+ Term3 -> Term4 '∧' Term3 (118)
+ Term3 -> Term4 (119)
+ Term3 -> Term4 '/\\' Term3 (120)
+ Term2 -> Term3 '∨' Term2 (121)
+ Term2 -> Term3 (122)
+ Term2 -> Term3 '\\/' Term2 (123)
+ Term1 -> ParamDecl '→' Term1 (124)
+ Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 (125)
+ Term1 -> Term2 '=_{' Term '}' Term2 (126)
+ Term1 -> Term2 '=' Term2 (127)
+ Term1 -> '\\' ListParam '→' Term1 (128)
+ Term1 -> Term2 (129)
+ Term1 -> ParamDecl '->' Term1 (130)
+ Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 (131)
+ Term1 -> '\\' ListParam '->' Term1 (132)
+ Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 (133)
+ Term6 -> Term6 '[' ListRestriction ']' (134)
+ Term6 -> Term6 Term7 (135)
+ Term6 -> 'π₁' Term7 (136)
+ Term6 -> 'π₂' Term7 (137)
+ Term6 -> Term7 (138)
+ Term6 -> 'first' Term7 (139)
+ Term6 -> 'second' Term7 (140)
+ Term -> Term2 'as' Term1 (141)
+ Term -> Term1 (142)
+ ListTerm -> Term (143)
+ ListTerm -> Term ',' ListTerm (144)
-----------------------------------------------------------------------------
Terminals
@@ -164,73 +165,74 @@ Terminals
'#end' { PT _ (TS _ 8) }
'#lang' { PT _ (TS _ 9) }
'#postulate' { PT _ (TS _ 10) }
- '#section' { PT _ (TS _ 11) }
- '#set-option' { PT _ (TS _ 12) }
- '#unset-option'{ PT _ (TS _ 13) }
- '#variable' { PT _ (TS _ 14) }
- '#variables' { PT _ (TS _ 15) }
- '(' { PT _ (TS _ 16) }
- ')' { PT _ (TS _ 17) }
- '*' { PT _ (TS _ 18) }
- '*_1' { PT _ (TS _ 19) }
- '*₁' { PT _ (TS _ 20) }
- ',' { PT _ (TS _ 21) }
- '->' { PT _ (TS _ 22) }
- '/\\' { PT _ (TS _ 23) }
- '0_2' { PT _ (TS _ 24) }
- '0₂' { PT _ (TS _ 25) }
- '1' { PT _ (TS _ 26) }
- '1_2' { PT _ (TS _ 27) }
- '1₂' { PT _ (TS _ 28) }
- '2' { PT _ (TS _ 29) }
- ':' { PT _ (TS _ 30) }
- ':=' { PT _ (TS _ 31) }
- ';' { PT _ (TS _ 32) }
- '<' { PT _ (TS _ 33) }
- '<=' { PT _ (TS _ 34) }
- '=' { PT _ (TS _ 35) }
- '===' { PT _ (TS _ 36) }
- '=_{' { PT _ (TS _ 37) }
- '>' { PT _ (TS _ 38) }
- 'BOT' { PT _ (TS _ 39) }
- 'CUBE' { PT _ (TS _ 40) }
- 'Sigma' { PT _ (TS _ 41) }
- 'TOP' { PT _ (TS _ 42) }
- 'TOPE' { PT _ (TS _ 43) }
- 'U' { PT _ (TS _ 44) }
- 'Unit' { PT _ (TS _ 45) }
- '[' { PT _ (TS _ 46) }
- '\\' { PT _ (TS _ 47) }
- '\\/' { PT _ (TS _ 48) }
- ']' { PT _ (TS _ 49) }
- 'as' { PT _ (TS _ 50) }
- 'first' { PT _ (TS _ 51) }
- 'idJ' { PT _ (TS _ 52) }
- 'recBOT' { PT _ (TS _ 53) }
- 'recOR' { PT _ (TS _ 54) }
- 'refl' { PT _ (TS _ 55) }
- 'refl_{' { PT _ (TS _ 56) }
- 'rzk-1' { PT _ (TS _ 57) }
- 'second' { PT _ (TS _ 58) }
- 'unit' { PT _ (TS _ 59) }
- 'uses' { PT _ (TS _ 60) }
- '{' { PT _ (TS _ 61) }
- '|' { PT _ (TS _ 62) }
- '|->' { PT _ (TS _ 63) }
- '}' { PT _ (TS _ 64) }
- '×' { PT _ (TS _ 65) }
- 'Σ' { PT _ (TS _ 66) }
- 'π₁' { PT _ (TS _ 67) }
- 'π₂' { PT _ (TS _ 68) }
- '→' { PT _ (TS _ 69) }
- '↦' { PT _ (TS _ 70) }
- '∑' { PT _ (TS _ 71) }
- '∧' { PT _ (TS _ 72) }
- '∨' { PT _ (TS _ 73) }
- '≡' { PT _ (TS _ 74) }
- '≤' { PT _ (TS _ 75) }
- '⊤' { PT _ (TS _ 76) }
- '⊥' { PT _ (TS _ 77) }
+ '#require-file'{ PT _ (TS _ 11) }
+ '#section' { PT _ (TS _ 12) }
+ '#set-option' { PT _ (TS _ 13) }
+ '#unset-option'{ PT _ (TS _ 14) }
+ '#variable' { PT _ (TS _ 15) }
+ '#variables' { PT _ (TS _ 16) }
+ '(' { PT _ (TS _ 17) }
+ ')' { PT _ (TS _ 18) }
+ '*' { PT _ (TS _ 19) }
+ '*_1' { PT _ (TS _ 20) }
+ '*₁' { PT _ (TS _ 21) }
+ ',' { PT _ (TS _ 22) }
+ '->' { PT _ (TS _ 23) }
+ '/\\' { PT _ (TS _ 24) }
+ '0_2' { PT _ (TS _ 25) }
+ '0₂' { PT _ (TS _ 26) }
+ '1' { PT _ (TS _ 27) }
+ '1_2' { PT _ (TS _ 28) }
+ '1₂' { PT _ (TS _ 29) }
+ '2' { PT _ (TS _ 30) }
+ ':' { PT _ (TS _ 31) }
+ ':=' { PT _ (TS _ 32) }
+ ';' { PT _ (TS _ 33) }
+ '<' { PT _ (TS _ 34) }
+ '<=' { PT _ (TS _ 35) }
+ '=' { PT _ (TS _ 36) }
+ '===' { PT _ (TS _ 37) }
+ '=_{' { PT _ (TS _ 38) }
+ '>' { PT _ (TS _ 39) }
+ 'BOT' { PT _ (TS _ 40) }
+ 'CUBE' { PT _ (TS _ 41) }
+ 'Sigma' { PT _ (TS _ 42) }
+ 'TOP' { PT _ (TS _ 43) }
+ 'TOPE' { PT _ (TS _ 44) }
+ 'U' { PT _ (TS _ 45) }
+ 'Unit' { PT _ (TS _ 46) }
+ '[' { PT _ (TS _ 47) }
+ '\\' { PT _ (TS _ 48) }
+ '\\/' { PT _ (TS _ 49) }
+ ']' { PT _ (TS _ 50) }
+ 'as' { PT _ (TS _ 51) }
+ 'first' { PT _ (TS _ 52) }
+ 'idJ' { PT _ (TS _ 53) }
+ 'recBOT' { PT _ (TS _ 54) }
+ 'recOR' { PT _ (TS _ 55) }
+ 'refl' { PT _ (TS _ 56) }
+ 'refl_{' { PT _ (TS _ 57) }
+ 'rzk-1' { PT _ (TS _ 58) }
+ 'second' { PT _ (TS _ 59) }
+ 'unit' { PT _ (TS _ 60) }
+ 'uses' { PT _ (TS _ 61) }
+ '{' { PT _ (TS _ 62) }
+ '|' { PT _ (TS _ 63) }
+ '|->' { PT _ (TS _ 64) }
+ '}' { PT _ (TS _ 65) }
+ '×' { PT _ (TS _ 66) }
+ 'Σ' { PT _ (TS _ 67) }
+ 'π₁' { PT _ (TS _ 68) }
+ 'π₂' { PT _ (TS _ 69) }
+ '→' { PT _ (TS _ 70) }
+ '↦' { PT _ (TS _ 71) }
+ '∑' { PT _ (TS _ 72) }
+ '∧' { PT _ (TS _ 73) }
+ '∨' { PT _ (TS _ 74) }
+ '≡' { PT _ (TS _ 75) }
+ '≤' { PT _ (TS _ 76) }
+ '⊤' { PT _ (TS _ 77) }
+ '⊥' { PT _ (TS _ 78) }
L_quoted { PT _ (TL _) }
L_VarIdentToken{ PT _ (T_VarIdentToken _) }
L_HoleIdentToken{ PT _ (T_HoleIdentToken _) }
@@ -273,26 +275,26 @@ Non-terminals
ListVarIdent rules 32, 33
LanguageDecl rule 34
Language rule 35
- Command rules 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51
- ListCommand rules 52, 53
- DeclUsedVars rules 54, 55
- SectionName rules 56, 57
- Pattern rules 58, 59, 60
- ListPattern rules 61, 62
- Param rules 63, 64, 65, 66
- ListParam rules 67, 68
- ParamDecl rules 69, 70, 71, 72, 73, 74
- Restriction rules 75, 76
- ListRestriction rules 77, 78
- Term7 rules 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108
- Term5 rules 109, 110, 111
- Term4 rules 112, 113, 114, 115, 116
- Term3 rules 117, 118, 119
- Term2 rules 120, 121, 122
- Term1 rules 123, 124, 125, 126, 127, 128, 129, 130, 131, 132
- Term6 rules 133, 134, 135, 136, 137, 138, 139
- Term rules 140, 141
- ListTerm rules 142, 143
+ Command rules 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52
+ ListCommand rules 53, 54
+ DeclUsedVars rules 55, 56
+ SectionName rules 57, 58
+ Pattern rules 59, 60, 61
+ ListPattern rules 62, 63
+ Param rules 64, 65, 66, 67
+ ListParam rules 68, 69
+ ParamDecl rules 70, 71, 72, 73, 74, 75
+ Restriction rules 76, 77
+ ListRestriction rules 78, 79
+ Term7 rules 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109
+ Term5 rules 110, 111, 112
+ Term4 rules 113, 114, 115, 116, 117
+ Term3 rules 118, 119, 120
+ Term2 rules 121, 122, 123
+ Term1 rules 124, 125, 126, 127, 128, 129, 130, 131, 132, 133
+ Term6 rules 134, 135, 136, 137, 138, 139, 140
+ Term rules 141, 142
+ ListTerm rules 143, 144
-----------------------------------------------------------------------------
States
@@ -301,10 +303,10 @@ State 0
%start_pModule_internal -> . Module (rule 0)
- '#lang' shift, and enter state 129
+ '#lang' shift, and enter state 130
- Module goto state 134
- LanguageDecl goto state 135
+ Module goto state 135
+ LanguageDecl goto state 136
State 1
@@ -313,7 +315,7 @@ State 1
L_HoleIdentTokenshift, and enter state 76
HoleIdentToken goto state 29
- HoleIdent goto state 133
+ HoleIdent goto state 134
State 2
@@ -322,7 +324,7 @@ State 2
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 132
+ VarIdent goto state 133
State 3
@@ -331,24 +333,24 @@ State 3
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 130
- ListVarIdent goto state 131
+ VarIdent goto state 131
+ ListVarIdent goto state 132
State 4
%start_pLanguageDecl_internal -> . LanguageDecl (rule 4)
- '#lang' shift, and enter state 129
+ '#lang' shift, and enter state 130
- LanguageDecl goto state 128
+ LanguageDecl goto state 129
State 5
%start_pLanguage_internal -> . Language (rule 5)
- 'rzk-1' shift, and enter state 127
+ 'rzk-1' shift, and enter state 128
- Language goto state 126
+ Language goto state 127
State 6
@@ -362,13 +364,14 @@ State 6
'#def' shift, and enter state 117
'#define' shift, and enter state 118
'#postulate' shift, and enter state 119
- '#section' shift, and enter state 120
- '#set-option' shift, and enter state 121
- '#unset-option'shift, and enter state 122
- '#variable' shift, and enter state 123
- '#variables' shift, and enter state 124
+ '#require-file'shift, and enter state 120
+ '#section' shift, and enter state 121
+ '#set-option' shift, and enter state 122
+ '#unset-option'shift, and enter state 123
+ '#variable' shift, and enter state 124
+ '#variables' shift, and enter state 125
- Command goto state 125
+ Command goto state 126
State 7
@@ -382,12 +385,13 @@ State 7
'#def' shift, and enter state 117
'#define' shift, and enter state 118
'#postulate' shift, and enter state 119
- '#section' shift, and enter state 120
- '#set-option' shift, and enter state 121
- '#unset-option'shift, and enter state 122
- '#variable' shift, and enter state 123
- '#variables' shift, and enter state 124
- %eof reduce using rule 52
+ '#require-file'shift, and enter state 120
+ '#section' shift, and enter state 121
+ '#set-option' shift, and enter state 122
+ '#unset-option'shift, and enter state 123
+ '#variable' shift, and enter state 124
+ '#variables' shift, and enter state 125
+ %eof reduce using rule 53
Command goto state 110
ListCommand goto state 111
@@ -397,7 +401,7 @@ State 8
%start_pDeclUsedVars_internal -> . DeclUsedVars (rule 8)
'uses' shift, and enter state 109
- %eof reduce using rule 55
+ %eof reduce using rule 56
DeclUsedVars goto state 108
@@ -406,7 +410,7 @@ State 9
%start_pSectionName_internal -> . SectionName (rule 9)
L_VarIdentTokenshift, and enter state 75
- %eof reduce using rule 56
+ %eof reduce using rule 57
VarIdentToken goto state 28
VarIdent goto state 106
@@ -1180,67 +1184,7 @@ State 29
State 30
- Term7 -> HoleIdent . (rule 100)
-
- '(' reduce using rule 100
- ')' reduce using rule 100
- '*' reduce using rule 100
- '*_1' reduce using rule 100
- '*₁' reduce using rule 100
- ',' reduce using rule 100
- '->' reduce using rule 100
- '/\\' reduce using rule 100
- '0_2' reduce using rule 100
- '0₂' reduce using rule 100
- '1' reduce using rule 100
- '1_2' reduce using rule 100
- '1₂' reduce using rule 100
- '2' reduce using rule 100
- ':' reduce using rule 100
- ':=' reduce using rule 100
- ';' reduce using rule 100
- '<' reduce using rule 100
- '<=' reduce using rule 100
- '=' reduce using rule 100
- '===' reduce using rule 100
- '=_{' reduce using rule 100
- '>' reduce using rule 100
- 'BOT' reduce using rule 100
- 'CUBE' reduce using rule 100
- 'TOP' reduce using rule 100
- 'TOPE' reduce using rule 100
- 'U' reduce using rule 100
- 'Unit' reduce using rule 100
- '[' reduce using rule 100
- '\\/' reduce using rule 100
- ']' reduce using rule 100
- 'as' reduce using rule 100
- 'idJ' reduce using rule 100
- 'recBOT' reduce using rule 100
- 'recOR' reduce using rule 100
- 'refl' reduce using rule 100
- 'refl_{' reduce using rule 100
- 'unit' reduce using rule 100
- '|' reduce using rule 100
- '|->' reduce using rule 100
- '}' reduce using rule 100
- '×' reduce using rule 100
- '→' reduce using rule 100
- '↦' reduce using rule 100
- '∧' reduce using rule 100
- '∨' reduce using rule 100
- '≡' reduce using rule 100
- '≤' reduce using rule 100
- '⊤' reduce using rule 100
- '⊥' reduce using rule 100
- L_VarIdentTokenreduce using rule 100
- L_HoleIdentTokenreduce using rule 100
- %eof reduce using rule 100
-
-
-State 31
-
- Term7 -> VarIdent . (rule 101)
+ Term7 -> HoleIdent . (rule 101)
'(' reduce using rule 101
')' reduce using rule 101
@@ -1298,281 +1242,341 @@ State 31
%eof reduce using rule 101
-State 32
+State 31
- Term1 -> ParamDecl . '→' Term1 (rule 123)
- Term1 -> ParamDecl . '->' Term1 (rule 129)
+ Term7 -> VarIdent . (rule 102)
- '->' shift, and enter state 195
- '→' shift, and enter state 196
+ '(' reduce using rule 102
+ ')' reduce using rule 102
+ '*' reduce using rule 102
+ '*_1' reduce using rule 102
+ '*₁' reduce using rule 102
+ ',' reduce using rule 102
+ '->' reduce using rule 102
+ '/\\' reduce using rule 102
+ '0_2' reduce using rule 102
+ '0₂' reduce using rule 102
+ '1' reduce using rule 102
+ '1_2' reduce using rule 102
+ '1₂' reduce using rule 102
+ '2' reduce using rule 102
+ ':' reduce using rule 102
+ ':=' reduce using rule 102
+ ';' reduce using rule 102
+ '<' reduce using rule 102
+ '<=' reduce using rule 102
+ '=' reduce using rule 102
+ '===' reduce using rule 102
+ '=_{' reduce using rule 102
+ '>' reduce using rule 102
+ 'BOT' reduce using rule 102
+ 'CUBE' reduce using rule 102
+ 'TOP' reduce using rule 102
+ 'TOPE' reduce using rule 102
+ 'U' reduce using rule 102
+ 'Unit' reduce using rule 102
+ '[' reduce using rule 102
+ '\\/' reduce using rule 102
+ ']' reduce using rule 102
+ 'as' reduce using rule 102
+ 'idJ' reduce using rule 102
+ 'recBOT' reduce using rule 102
+ 'recOR' reduce using rule 102
+ 'refl' reduce using rule 102
+ 'refl_{' reduce using rule 102
+ 'unit' reduce using rule 102
+ '|' reduce using rule 102
+ '|->' reduce using rule 102
+ '}' reduce using rule 102
+ '×' reduce using rule 102
+ '→' reduce using rule 102
+ '↦' reduce using rule 102
+ '∧' reduce using rule 102
+ '∨' reduce using rule 102
+ '≡' reduce using rule 102
+ '≤' reduce using rule 102
+ '⊤' reduce using rule 102
+ '⊥' reduce using rule 102
+ L_VarIdentTokenreduce using rule 102
+ L_HoleIdentTokenreduce using rule 102
+ %eof reduce using rule 102
-State 33
+State 32
- Term6 -> Term7 . (rule 137)
+ Term1 -> ParamDecl . '→' Term1 (rule 124)
+ Term1 -> ParamDecl . '->' Term1 (rule 130)
- '(' reduce using rule 137
- ')' reduce using rule 137
- '*' reduce using rule 137
- '*_1' reduce using rule 137
- '*₁' reduce using rule 137
- ',' reduce using rule 137
- '->' reduce using rule 137
- '/\\' reduce using rule 137
- '0_2' reduce using rule 137
- '0₂' reduce using rule 137
- '1' reduce using rule 137
- '1_2' reduce using rule 137
- '1₂' reduce using rule 137
- '2' reduce using rule 137
- ':' reduce using rule 137
- ':=' reduce using rule 137
- ';' reduce using rule 137
- '<' reduce using rule 137
- '<=' reduce using rule 137
- '=' reduce using rule 137
- '===' reduce using rule 137
- '=_{' reduce using rule 137
- '>' reduce using rule 137
- 'BOT' reduce using rule 137
- 'CUBE' reduce using rule 137
- 'TOP' reduce using rule 137
- 'TOPE' reduce using rule 137
- 'U' reduce using rule 137
- 'Unit' reduce using rule 137
- '[' reduce using rule 137
- '\\/' reduce using rule 137
- ']' reduce using rule 137
- 'as' reduce using rule 137
- 'idJ' reduce using rule 137
- 'recBOT' reduce using rule 137
- 'recOR' reduce using rule 137
- 'refl' reduce using rule 137
- 'refl_{' reduce using rule 137
- 'unit' reduce using rule 137
- '|' reduce using rule 137
- '|->' reduce using rule 137
- '}' reduce using rule 137
- '×' reduce using rule 137
- '→' reduce using rule 137
- '↦' reduce using rule 137
- '∧' reduce using rule 137
- '∨' reduce using rule 137
- '≡' reduce using rule 137
- '≤' reduce using rule 137
- '⊤' reduce using rule 137
- '⊥' reduce using rule 137
- L_VarIdentTokenreduce using rule 137
- L_HoleIdentTokenreduce using rule 137
- %eof reduce using rule 137
+ '->' shift, and enter state 197
+ '→' shift, and enter state 198
-State 34
+State 33
- Term5 -> Term5 . '×' Term6 (rule 109)
- Term5 -> Term5 . '*' Term6 (rule 111)
- Term4 -> Term5 . '≡' Term5 (rule 112)
- Term4 -> Term5 . '≤' Term5 (rule 113)
- Term4 -> Term5 . (rule 114)
- Term4 -> Term5 . '===' Term5 (rule 115)
- Term4 -> Term5 . '<=' Term5 (rule 116)
+ Term6 -> Term7 . (rule 138)
- ')' reduce using rule 114
- '*' shift, and enter state 165
- ',' reduce using rule 114
- '/\\' reduce using rule 114
- ':' reduce using rule 114
- ':=' reduce using rule 114
- ';' reduce using rule 114
- '<=' shift, and enter state 191
- '=' reduce using rule 114
- '===' shift, and enter state 192
- '=_{' reduce using rule 114
- '>' reduce using rule 114
- '\\/' reduce using rule 114
- ']' reduce using rule 114
- 'as' reduce using rule 114
- '|' reduce using rule 114
- '|->' reduce using rule 114
- '}' reduce using rule 114
- '×' shift, and enter state 166
- '↦' reduce using rule 114
- '∧' reduce using rule 114
- '∨' reduce using rule 114
- '≡' shift, and enter state 193
- '≤' shift, and enter state 194
- %eof reduce using rule 114
+ '(' reduce using rule 138
+ ')' reduce using rule 138
+ '*' reduce using rule 138
+ '*_1' reduce using rule 138
+ '*₁' reduce using rule 138
+ ',' reduce using rule 138
+ '->' reduce using rule 138
+ '/\\' reduce using rule 138
+ '0_2' reduce using rule 138
+ '0₂' reduce using rule 138
+ '1' reduce using rule 138
+ '1_2' reduce using rule 138
+ '1₂' reduce using rule 138
+ '2' reduce using rule 138
+ ':' reduce using rule 138
+ ':=' reduce using rule 138
+ ';' reduce using rule 138
+ '<' reduce using rule 138
+ '<=' reduce using rule 138
+ '=' reduce using rule 138
+ '===' reduce using rule 138
+ '=_{' reduce using rule 138
+ '>' reduce using rule 138
+ 'BOT' reduce using rule 138
+ 'CUBE' reduce using rule 138
+ 'TOP' reduce using rule 138
+ 'TOPE' reduce using rule 138
+ 'U' reduce using rule 138
+ 'Unit' reduce using rule 138
+ '[' reduce using rule 138
+ '\\/' reduce using rule 138
+ ']' reduce using rule 138
+ 'as' reduce using rule 138
+ 'idJ' reduce using rule 138
+ 'recBOT' reduce using rule 138
+ 'recOR' reduce using rule 138
+ 'refl' reduce using rule 138
+ 'refl_{' reduce using rule 138
+ 'unit' reduce using rule 138
+ '|' reduce using rule 138
+ '|->' reduce using rule 138
+ '}' reduce using rule 138
+ '×' reduce using rule 138
+ '→' reduce using rule 138
+ '↦' reduce using rule 138
+ '∧' reduce using rule 138
+ '∨' reduce using rule 138
+ '≡' reduce using rule 138
+ '≤' reduce using rule 138
+ '⊤' reduce using rule 138
+ '⊥' reduce using rule 138
+ L_VarIdentTokenreduce using rule 138
+ L_HoleIdentTokenreduce using rule 138
+ %eof reduce using rule 138
-State 35
+State 34
- Term3 -> Term4 . '∧' Term3 (rule 117)
- Term3 -> Term4 . (rule 118)
- Term3 -> Term4 . '/\\' Term3 (rule 119)
+ Term5 -> Term5 . '×' Term6 (rule 110)
+ Term5 -> Term5 . '*' Term6 (rule 112)
+ Term4 -> Term5 . '≡' Term5 (rule 113)
+ Term4 -> Term5 . '≤' Term5 (rule 114)
+ Term4 -> Term5 . (rule 115)
+ Term4 -> Term5 . '===' Term5 (rule 116)
+ Term4 -> Term5 . '<=' Term5 (rule 117)
- ')' reduce using rule 118
- ',' reduce using rule 118
- '/\\' shift, and enter state 189
- ':' reduce using rule 118
- ':=' reduce using rule 118
- ';' reduce using rule 118
- '=' reduce using rule 118
- '=_{' reduce using rule 118
- '>' reduce using rule 118
- '\\/' reduce using rule 118
- ']' reduce using rule 118
- 'as' reduce using rule 118
- '|' reduce using rule 118
- '|->' reduce using rule 118
- '}' reduce using rule 118
- '↦' reduce using rule 118
- '∧' shift, and enter state 190
- '∨' reduce using rule 118
- %eof reduce using rule 118
+ ')' reduce using rule 115
+ '*' shift, and enter state 167
+ ',' reduce using rule 115
+ '/\\' reduce using rule 115
+ ':' reduce using rule 115
+ ':=' reduce using rule 115
+ ';' reduce using rule 115
+ '<=' shift, and enter state 193
+ '=' reduce using rule 115
+ '===' shift, and enter state 194
+ '=_{' reduce using rule 115
+ '>' reduce using rule 115
+ '\\/' reduce using rule 115
+ ']' reduce using rule 115
+ 'as' reduce using rule 115
+ '|' reduce using rule 115
+ '|->' reduce using rule 115
+ '}' reduce using rule 115
+ '×' shift, and enter state 168
+ '↦' reduce using rule 115
+ '∧' reduce using rule 115
+ '∨' reduce using rule 115
+ '≡' shift, and enter state 195
+ '≤' shift, and enter state 196
+ %eof reduce using rule 115
+
+
+State 35
+
+ Term3 -> Term4 . '∧' Term3 (rule 118)
+ Term3 -> Term4 . (rule 119)
+ Term3 -> Term4 . '/\\' Term3 (rule 120)
+
+ ')' reduce using rule 119
+ ',' reduce using rule 119
+ '/\\' shift, and enter state 191
+ ':' reduce using rule 119
+ ':=' reduce using rule 119
+ ';' reduce using rule 119
+ '=' reduce using rule 119
+ '=_{' reduce using rule 119
+ '>' reduce using rule 119
+ '\\/' reduce using rule 119
+ ']' reduce using rule 119
+ 'as' reduce using rule 119
+ '|' reduce using rule 119
+ '|->' reduce using rule 119
+ '}' reduce using rule 119
+ '↦' reduce using rule 119
+ '∧' shift, and enter state 192
+ '∨' reduce using rule 119
+ %eof reduce using rule 119
State 36
- Term2 -> Term3 . '∨' Term2 (rule 120)
- Term2 -> Term3 . (rule 121)
- Term2 -> Term3 . '\\/' Term2 (rule 122)
+ Term2 -> Term3 . '∨' Term2 (rule 121)
+ Term2 -> Term3 . (rule 122)
+ Term2 -> Term3 . '\\/' Term2 (rule 123)
- ')' reduce using rule 121
- ',' reduce using rule 121
- ':' reduce using rule 121
- ':=' reduce using rule 121
- ';' reduce using rule 121
- '=' reduce using rule 121
- '=_{' reduce using rule 121
- '>' reduce using rule 121
- '\\/' shift, and enter state 187
- ']' reduce using rule 121
- 'as' reduce using rule 121
- '|' reduce using rule 121
- '|->' reduce using rule 121
- '}' reduce using rule 121
- '↦' reduce using rule 121
- '∨' shift, and enter state 188
- %eof reduce using rule 121
+ ')' reduce using rule 122
+ ',' reduce using rule 122
+ ':' reduce using rule 122
+ ':=' reduce using rule 122
+ ';' reduce using rule 122
+ '=' reduce using rule 122
+ '=_{' reduce using rule 122
+ '>' reduce using rule 122
+ '\\/' shift, and enter state 189
+ ']' reduce using rule 122
+ 'as' reduce using rule 122
+ '|' reduce using rule 122
+ '|->' reduce using rule 122
+ '}' reduce using rule 122
+ '↦' reduce using rule 122
+ '∨' shift, and enter state 190
+ %eof reduce using rule 122
State 37
- Term1 -> Term2 . '=_{' Term '}' Term2 (rule 125)
- Term1 -> Term2 . '=' Term2 (rule 126)
- Term1 -> Term2 . (rule 128)
- Term -> Term2 . 'as' Term1 (rule 140)
+ Term1 -> Term2 . '=_{' Term '}' Term2 (rule 126)
+ Term1 -> Term2 . '=' Term2 (rule 127)
+ Term1 -> Term2 . (rule 129)
+ Term -> Term2 . 'as' Term1 (rule 141)
- ')' reduce using rule 128
- ',' reduce using rule 128
- ':' reduce using rule 128
- ':=' reduce using rule 128
- ';' reduce using rule 128
- '=' shift, and enter state 167
- '=_{' shift, and enter state 168
- '>' reduce using rule 128
- ']' reduce using rule 128
- 'as' shift, and enter state 186
- '|' reduce using rule 128
- '|->' reduce using rule 128
- '}' reduce using rule 128
- '↦' reduce using rule 128
- %eof reduce using rule 128
+ ')' reduce using rule 129
+ ',' reduce using rule 129
+ ':' reduce using rule 129
+ ':=' reduce using rule 129
+ ';' reduce using rule 129
+ '=' shift, and enter state 169
+ '=_{' shift, and enter state 170
+ '>' reduce using rule 129
+ ']' reduce using rule 129
+ 'as' shift, and enter state 188
+ '|' reduce using rule 129
+ '|->' reduce using rule 129
+ '}' reduce using rule 129
+ '↦' reduce using rule 129
+ %eof reduce using rule 129
State 38
- Term -> Term1 . (rule 141)
-
- ')' reduce using rule 141
- ',' reduce using rule 141
- ':' reduce using rule 141
- ':=' reduce using rule 141
- ';' reduce using rule 141
- '>' reduce using rule 141
- ']' reduce using rule 141
- '|' reduce using rule 141
- '|->' reduce using rule 141
- '}' reduce using rule 141
- '↦' reduce using rule 141
- %eof reduce using rule 141
+ Term -> Term1 . (rule 142)
+
+ ')' reduce using rule 142
+ ',' reduce using rule 142
+ ':' reduce using rule 142
+ ':=' reduce using rule 142
+ ';' reduce using rule 142
+ '>' reduce using rule 142
+ ']' reduce using rule 142
+ '|' reduce using rule 142
+ '|->' reduce using rule 142
+ '}' reduce using rule 142
+ '↦' reduce using rule 142
+ %eof reduce using rule 142
State 39
- ParamDecl -> Term6 . (rule 69)
- Term5 -> Term6 . (rule 110)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 133)
- Term6 -> Term6 . Term7 (rule 134)
+ ParamDecl -> Term6 . (rule 70)
+ Term5 -> Term6 . (rule 111)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 134)
+ Term6 -> Term6 . Term7 (rule 135)
'(' shift, and enter state 79
- ')' reduce using rule 110
- '*' reduce using rule 110
+ ')' reduce using rule 111
+ '*' reduce using rule 111
'*_1' shift, and enter state 43
'*₁' shift, and enter state 44
- ',' reduce using rule 110
- '->' reduce using rule 69
- '/\\' reduce using rule 110
+ ',' reduce using rule 111
+ '->' reduce using rule 70
+ '/\\' reduce using rule 111
'0_2' shift, and enter state 45
'0₂' shift, and enter state 46
'1' shift, and enter state 47
'1_2' shift, and enter state 48
'1₂' shift, and enter state 49
'2' shift, and enter state 50
- ':' reduce using rule 110
- ':=' reduce using rule 110
- ';' reduce using rule 110
+ ':' reduce using rule 111
+ ':=' reduce using rule 111
+ ';' reduce using rule 111
'<' shift, and enter state 51
- '<=' reduce using rule 110
- '=' reduce using rule 110
- '===' reduce using rule 110
- '=_{' reduce using rule 110
- '>' reduce using rule 110
+ '<=' reduce using rule 111
+ '=' reduce using rule 111
+ '===' reduce using rule 111
+ '=_{' reduce using rule 111
+ '>' reduce using rule 111
'BOT' shift, and enter state 52
'CUBE' shift, and enter state 53
'TOP' shift, and enter state 55
'TOPE' shift, and enter state 56
'U' shift, and enter state 57
'Unit' shift, and enter state 58
- '[' shift, and enter state 161
- '\\/' reduce using rule 110
- ']' reduce using rule 110
- 'as' reduce using rule 110
+ '[' shift, and enter state 163
+ '\\/' reduce using rule 111
+ ']' reduce using rule 111
+ 'as' reduce using rule 111
'idJ' shift, and enter state 61
'recBOT' shift, and enter state 62
'recOR' shift, and enter state 63
'refl' shift, and enter state 64
'refl_{' shift, and enter state 65
'unit' shift, and enter state 67
- '|' reduce using rule 110
- '|->' reduce using rule 110
- '}' reduce using rule 110
- '×' reduce using rule 110
- '→' reduce using rule 69
- '↦' reduce using rule 110
- '∧' reduce using rule 110
- '∨' reduce using rule 110
- '≡' reduce using rule 110
- '≤' reduce using rule 110
+ '|' reduce using rule 111
+ '|->' reduce using rule 111
+ '}' reduce using rule 111
+ '×' reduce using rule 111
+ '→' reduce using rule 70
+ '↦' reduce using rule 111
+ '∧' reduce using rule 111
+ '∨' reduce using rule 111
+ '≡' reduce using rule 111
+ '≤' reduce using rule 111
'⊤' shift, and enter state 73
'⊥' shift, and enter state 74
L_VarIdentTokenshift, and enter state 75
L_HoleIdentTokenshift, and enter state 76
- %eof reduce using rule 110
+ %eof reduce using rule 111
VarIdentToken goto state 28
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- Term7 goto state 160
+ Term7 goto state 162
State 40
- ListTerm -> Term . (rule 142)
- ListTerm -> Term . ',' ListTerm (rule 143)
+ ListTerm -> Term . (rule 143)
+ ListTerm -> Term . ',' ListTerm (rule 144)
- ',' shift, and enter state 185
- %eof reduce using rule 142
+ ',' shift, and enter state 187
+ %eof reduce using rule 143
State 41
@@ -1584,10 +1588,10 @@ State 41
State 42
- ParamDecl -> '(' . Term ':' Term ')' (rule 70)
- ParamDecl -> '(' . Term ':' Term '|' Term ')' (rule 71)
- Term7 -> '(' . Term ',' Term ')' (rule 94)
- Term7 -> '(' . Term ')' (rule 102)
+ ParamDecl -> '(' . Term ':' Term ')' (rule 71)
+ ParamDecl -> '(' . Term ':' Term '|' Term ')' (rule 72)
+ Term7 -> '(' . Term ',' Term ')' (rule 95)
+ Term7 -> '(' . Term ')' (rule 103)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -1637,131 +1641,11 @@ State 42
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 184
+ Term goto state 186
State 43
- Term7 -> '*_1' . (rule 103)
-
- '(' reduce using rule 103
- ')' reduce using rule 103
- '*' reduce using rule 103
- '*_1' reduce using rule 103
- '*₁' reduce using rule 103
- ',' reduce using rule 103
- '->' reduce using rule 103
- '/\\' reduce using rule 103
- '0_2' reduce using rule 103
- '0₂' reduce using rule 103
- '1' reduce using rule 103
- '1_2' reduce using rule 103
- '1₂' reduce using rule 103
- '2' reduce using rule 103
- ':' reduce using rule 103
- ':=' reduce using rule 103
- ';' reduce using rule 103
- '<' reduce using rule 103
- '<=' reduce using rule 103
- '=' reduce using rule 103
- '===' reduce using rule 103
- '=_{' reduce using rule 103
- '>' reduce using rule 103
- 'BOT' reduce using rule 103
- 'CUBE' reduce using rule 103
- 'TOP' reduce using rule 103
- 'TOPE' reduce using rule 103
- 'U' reduce using rule 103
- 'Unit' reduce using rule 103
- '[' reduce using rule 103
- '\\/' reduce using rule 103
- ']' reduce using rule 103
- 'as' reduce using rule 103
- 'idJ' reduce using rule 103
- 'recBOT' reduce using rule 103
- 'recOR' reduce using rule 103
- 'refl' reduce using rule 103
- 'refl_{' reduce using rule 103
- 'unit' reduce using rule 103
- '|' reduce using rule 103
- '|->' reduce using rule 103
- '}' reduce using rule 103
- '×' reduce using rule 103
- '→' reduce using rule 103
- '↦' reduce using rule 103
- '∧' reduce using rule 103
- '∨' reduce using rule 103
- '≡' reduce using rule 103
- '≤' reduce using rule 103
- '⊤' reduce using rule 103
- '⊥' reduce using rule 103
- L_VarIdentTokenreduce using rule 103
- L_HoleIdentTokenreduce using rule 103
- %eof reduce using rule 103
-
-
-State 44
-
- Term7 -> '*₁' . (rule 83)
-
- '(' reduce using rule 83
- ')' reduce using rule 83
- '*' reduce using rule 83
- '*_1' reduce using rule 83
- '*₁' reduce using rule 83
- ',' reduce using rule 83
- '->' reduce using rule 83
- '/\\' reduce using rule 83
- '0_2' reduce using rule 83
- '0₂' reduce using rule 83
- '1' reduce using rule 83
- '1_2' reduce using rule 83
- '1₂' reduce using rule 83
- '2' reduce using rule 83
- ':' reduce using rule 83
- ':=' reduce using rule 83
- ';' reduce using rule 83
- '<' reduce using rule 83
- '<=' reduce using rule 83
- '=' reduce using rule 83
- '===' reduce using rule 83
- '=_{' reduce using rule 83
- '>' reduce using rule 83
- 'BOT' reduce using rule 83
- 'CUBE' reduce using rule 83
- 'TOP' reduce using rule 83
- 'TOPE' reduce using rule 83
- 'U' reduce using rule 83
- 'Unit' reduce using rule 83
- '[' reduce using rule 83
- '\\/' reduce using rule 83
- ']' reduce using rule 83
- 'as' reduce using rule 83
- 'idJ' reduce using rule 83
- 'recBOT' reduce using rule 83
- 'recOR' reduce using rule 83
- 'refl' reduce using rule 83
- 'refl_{' reduce using rule 83
- 'unit' reduce using rule 83
- '|' reduce using rule 83
- '|->' reduce using rule 83
- '}' reduce using rule 83
- '×' reduce using rule 83
- '→' reduce using rule 83
- '↦' reduce using rule 83
- '∧' reduce using rule 83
- '∨' reduce using rule 83
- '≡' reduce using rule 83
- '≤' reduce using rule 83
- '⊤' reduce using rule 83
- '⊥' reduce using rule 83
- L_VarIdentTokenreduce using rule 83
- L_HoleIdentTokenreduce using rule 83
- %eof reduce using rule 83
-
-
-State 45
-
- Term7 -> '0_2' . (rule 104)
+ Term7 -> '*_1' . (rule 104)
'(' reduce using rule 104
')' reduce using rule 104
@@ -1819,129 +1703,69 @@ State 45
%eof reduce using rule 104
-State 46
-
- Term7 -> '0₂' . (rule 85)
-
- '(' reduce using rule 85
- ')' reduce using rule 85
- '*' reduce using rule 85
- '*_1' reduce using rule 85
- '*₁' reduce using rule 85
- ',' reduce using rule 85
- '->' reduce using rule 85
- '/\\' reduce using rule 85
- '0_2' reduce using rule 85
- '0₂' reduce using rule 85
- '1' reduce using rule 85
- '1_2' reduce using rule 85
- '1₂' reduce using rule 85
- '2' reduce using rule 85
- ':' reduce using rule 85
- ':=' reduce using rule 85
- ';' reduce using rule 85
- '<' reduce using rule 85
- '<=' reduce using rule 85
- '=' reduce using rule 85
- '===' reduce using rule 85
- '=_{' reduce using rule 85
- '>' reduce using rule 85
- 'BOT' reduce using rule 85
- 'CUBE' reduce using rule 85
- 'TOP' reduce using rule 85
- 'TOPE' reduce using rule 85
- 'U' reduce using rule 85
- 'Unit' reduce using rule 85
- '[' reduce using rule 85
- '\\/' reduce using rule 85
- ']' reduce using rule 85
- 'as' reduce using rule 85
- 'idJ' reduce using rule 85
- 'recBOT' reduce using rule 85
- 'recOR' reduce using rule 85
- 'refl' reduce using rule 85
- 'refl_{' reduce using rule 85
- 'unit' reduce using rule 85
- '|' reduce using rule 85
- '|->' reduce using rule 85
- '}' reduce using rule 85
- '×' reduce using rule 85
- '→' reduce using rule 85
- '↦' reduce using rule 85
- '∧' reduce using rule 85
- '∨' reduce using rule 85
- '≡' reduce using rule 85
- '≤' reduce using rule 85
- '⊤' reduce using rule 85
- '⊥' reduce using rule 85
- L_VarIdentTokenreduce using rule 85
- L_HoleIdentTokenreduce using rule 85
- %eof reduce using rule 85
-
-
-State 47
+State 44
- Term7 -> '1' . (rule 82)
+ Term7 -> '*₁' . (rule 84)
- '(' reduce using rule 82
- ')' reduce using rule 82
- '*' reduce using rule 82
- '*_1' reduce using rule 82
- '*₁' reduce using rule 82
- ',' reduce using rule 82
- '->' reduce using rule 82
- '/\\' reduce using rule 82
- '0_2' reduce using rule 82
- '0₂' reduce using rule 82
- '1' reduce using rule 82
- '1_2' reduce using rule 82
- '1₂' reduce using rule 82
- '2' reduce using rule 82
- ':' reduce using rule 82
- ':=' reduce using rule 82
- ';' reduce using rule 82
- '<' reduce using rule 82
- '<=' reduce using rule 82
- '=' reduce using rule 82
- '===' reduce using rule 82
- '=_{' reduce using rule 82
- '>' reduce using rule 82
- 'BOT' reduce using rule 82
- 'CUBE' reduce using rule 82
- 'TOP' reduce using rule 82
- 'TOPE' reduce using rule 82
- 'U' reduce using rule 82
- 'Unit' reduce using rule 82
- '[' reduce using rule 82
- '\\/' reduce using rule 82
- ']' reduce using rule 82
- 'as' reduce using rule 82
- 'idJ' reduce using rule 82
- 'recBOT' reduce using rule 82
- 'recOR' reduce using rule 82
- 'refl' reduce using rule 82
- 'refl_{' reduce using rule 82
- 'unit' reduce using rule 82
- '|' reduce using rule 82
- '|->' reduce using rule 82
- '}' reduce using rule 82
- '×' reduce using rule 82
- '→' reduce using rule 82
- '↦' reduce using rule 82
- '∧' reduce using rule 82
- '∨' reduce using rule 82
- '≡' reduce using rule 82
- '≤' reduce using rule 82
- '⊤' reduce using rule 82
- '⊥' reduce using rule 82
- L_VarIdentTokenreduce using rule 82
- L_HoleIdentTokenreduce using rule 82
- %eof reduce using rule 82
+ '(' reduce using rule 84
+ ')' reduce using rule 84
+ '*' reduce using rule 84
+ '*_1' reduce using rule 84
+ '*₁' reduce using rule 84
+ ',' reduce using rule 84
+ '->' reduce using rule 84
+ '/\\' reduce using rule 84
+ '0_2' reduce using rule 84
+ '0₂' reduce using rule 84
+ '1' reduce using rule 84
+ '1_2' reduce using rule 84
+ '1₂' reduce using rule 84
+ '2' reduce using rule 84
+ ':' reduce using rule 84
+ ':=' reduce using rule 84
+ ';' reduce using rule 84
+ '<' reduce using rule 84
+ '<=' reduce using rule 84
+ '=' reduce using rule 84
+ '===' reduce using rule 84
+ '=_{' reduce using rule 84
+ '>' reduce using rule 84
+ 'BOT' reduce using rule 84
+ 'CUBE' reduce using rule 84
+ 'TOP' reduce using rule 84
+ 'TOPE' reduce using rule 84
+ 'U' reduce using rule 84
+ 'Unit' reduce using rule 84
+ '[' reduce using rule 84
+ '\\/' reduce using rule 84
+ ']' reduce using rule 84
+ 'as' reduce using rule 84
+ 'idJ' reduce using rule 84
+ 'recBOT' reduce using rule 84
+ 'recOR' reduce using rule 84
+ 'refl' reduce using rule 84
+ 'refl_{' reduce using rule 84
+ 'unit' reduce using rule 84
+ '|' reduce using rule 84
+ '|->' reduce using rule 84
+ '}' reduce using rule 84
+ '×' reduce using rule 84
+ '→' reduce using rule 84
+ '↦' reduce using rule 84
+ '∧' reduce using rule 84
+ '∨' reduce using rule 84
+ '≡' reduce using rule 84
+ '≤' reduce using rule 84
+ '⊤' reduce using rule 84
+ '⊥' reduce using rule 84
+ L_VarIdentTokenreduce using rule 84
+ L_HoleIdentTokenreduce using rule 84
+ %eof reduce using rule 84
-State 48
+State 45
- Term7 -> '1_2' . (rule 105)
+ Term7 -> '0_2' . (rule 105)
'(' reduce using rule 105
')' reduce using rule 105
@@ -1999,9 +1823,9 @@ State 48
%eof reduce using rule 105
-State 49
+State 46
- Term7 -> '1₂' . (rule 86)
+ Term7 -> '0₂' . (rule 86)
'(' reduce using rule 86
')' reduce using rule 86
@@ -2059,241 +1883,69 @@ State 49
%eof reduce using rule 86
-State 50
+State 47
- Term7 -> '2' . (rule 84)
+ Term7 -> '1' . (rule 83)
- '(' reduce using rule 84
- ')' reduce using rule 84
- '*' reduce using rule 84
- '*_1' reduce using rule 84
- '*₁' reduce using rule 84
- ',' reduce using rule 84
- '->' reduce using rule 84
- '/\\' reduce using rule 84
- '0_2' reduce using rule 84
- '0₂' reduce using rule 84
- '1' reduce using rule 84
- '1_2' reduce using rule 84
- '1₂' reduce using rule 84
- '2' reduce using rule 84
- ':' reduce using rule 84
- ':=' reduce using rule 84
- ';' reduce using rule 84
- '<' reduce using rule 84
- '<=' reduce using rule 84
- '=' reduce using rule 84
- '===' reduce using rule 84
- '=_{' reduce using rule 84
- '>' reduce using rule 84
- 'BOT' reduce using rule 84
- 'CUBE' reduce using rule 84
- 'TOP' reduce using rule 84
- 'TOPE' reduce using rule 84
- 'U' reduce using rule 84
- 'Unit' reduce using rule 84
- '[' reduce using rule 84
- '\\/' reduce using rule 84
- ']' reduce using rule 84
- 'as' reduce using rule 84
- 'idJ' reduce using rule 84
- 'recBOT' reduce using rule 84
- 'recOR' reduce using rule 84
- 'refl' reduce using rule 84
- 'refl_{' reduce using rule 84
- 'unit' reduce using rule 84
- '|' reduce using rule 84
- '|->' reduce using rule 84
- '}' reduce using rule 84
- '×' reduce using rule 84
- '→' reduce using rule 84
- '↦' reduce using rule 84
- '∧' reduce using rule 84
- '∨' reduce using rule 84
- '≡' reduce using rule 84
- '≤' reduce using rule 84
- '⊤' reduce using rule 84
- '⊥' reduce using rule 84
- L_VarIdentTokenreduce using rule 84
- L_HoleIdentTokenreduce using rule 84
- %eof reduce using rule 84
-
-
-State 51
-
- Term7 -> '<' . ParamDecl '→' Term '>' (rule 93)
- Term7 -> '<' . ParamDecl '->' Term '>' (rule 108)
-
- '(' shift, and enter state 42
- '*_1' shift, and enter state 43
- '*₁' shift, and enter state 44
- '0_2' shift, and enter state 45
- '0₂' shift, and enter state 46
- '1' shift, and enter state 47
- '1_2' shift, and enter state 48
- '1₂' shift, and enter state 49
- '2' shift, and enter state 50
- '<' shift, and enter state 51
- 'BOT' shift, and enter state 52
- 'CUBE' shift, and enter state 53
- 'TOP' shift, and enter state 55
- 'TOPE' shift, and enter state 56
- 'U' shift, and enter state 57
- 'Unit' shift, and enter state 58
- 'first' shift, and enter state 60
- 'idJ' shift, and enter state 61
- 'recBOT' shift, and enter state 62
- 'recOR' shift, and enter state 63
- 'refl' shift, and enter state 64
- 'refl_{' shift, and enter state 65
- 'second' shift, and enter state 66
- 'unit' shift, and enter state 67
- '{' shift, and enter state 68
- 'π₁' shift, and enter state 70
- 'π₂' shift, and enter state 71
- '⊤' shift, and enter state 73
- '⊥' shift, and enter state 74
- L_VarIdentTokenshift, and enter state 75
- L_HoleIdentTokenshift, and enter state 76
-
- VarIdentToken goto state 28
- HoleIdentToken goto state 29
- HoleIdent goto state 30
- VarIdent goto state 31
- ParamDecl goto state 183
- Term7 goto state 33
- Term6 goto state 93
-
-State 52
-
- Term7 -> 'BOT' . (rule 107)
-
- '(' reduce using rule 107
- ')' reduce using rule 107
- '*' reduce using rule 107
- '*_1' reduce using rule 107
- '*₁' reduce using rule 107
- ',' reduce using rule 107
- '->' reduce using rule 107
- '/\\' reduce using rule 107
- '0_2' reduce using rule 107
- '0₂' reduce using rule 107
- '1' reduce using rule 107
- '1_2' reduce using rule 107
- '1₂' reduce using rule 107
- '2' reduce using rule 107
- ':' reduce using rule 107
- ':=' reduce using rule 107
- ';' reduce using rule 107
- '<' reduce using rule 107
- '<=' reduce using rule 107
- '=' reduce using rule 107
- '===' reduce using rule 107
- '=_{' reduce using rule 107
- '>' reduce using rule 107
- 'BOT' reduce using rule 107
- 'CUBE' reduce using rule 107
- 'TOP' reduce using rule 107
- 'TOPE' reduce using rule 107
- 'U' reduce using rule 107
- 'Unit' reduce using rule 107
- '[' reduce using rule 107
- '\\/' reduce using rule 107
- ']' reduce using rule 107
- 'as' reduce using rule 107
- 'idJ' reduce using rule 107
- 'recBOT' reduce using rule 107
- 'recOR' reduce using rule 107
- 'refl' reduce using rule 107
- 'refl_{' reduce using rule 107
- 'unit' reduce using rule 107
- '|' reduce using rule 107
- '|->' reduce using rule 107
- '}' reduce using rule 107
- '×' reduce using rule 107
- '→' reduce using rule 107
- '↦' reduce using rule 107
- '∧' reduce using rule 107
- '∨' reduce using rule 107
- '≡' reduce using rule 107
- '≤' reduce using rule 107
- '⊤' reduce using rule 107
- '⊥' reduce using rule 107
- L_VarIdentTokenreduce using rule 107
- L_HoleIdentTokenreduce using rule 107
- %eof reduce using rule 107
-
-
-State 53
-
- Term7 -> 'CUBE' . (rule 80)
-
- '(' reduce using rule 80
- ')' reduce using rule 80
- '*' reduce using rule 80
- '*_1' reduce using rule 80
- '*₁' reduce using rule 80
- ',' reduce using rule 80
- '->' reduce using rule 80
- '/\\' reduce using rule 80
- '0_2' reduce using rule 80
- '0₂' reduce using rule 80
- '1' reduce using rule 80
- '1_2' reduce using rule 80
- '1₂' reduce using rule 80
- '2' reduce using rule 80
- ':' reduce using rule 80
- ':=' reduce using rule 80
- ';' reduce using rule 80
- '<' reduce using rule 80
- '<=' reduce using rule 80
- '=' reduce using rule 80
- '===' reduce using rule 80
- '=_{' reduce using rule 80
- '>' reduce using rule 80
- 'BOT' reduce using rule 80
- 'CUBE' reduce using rule 80
- 'TOP' reduce using rule 80
- 'TOPE' reduce using rule 80
- 'U' reduce using rule 80
- 'Unit' reduce using rule 80
- '[' reduce using rule 80
- '\\/' reduce using rule 80
- ']' reduce using rule 80
- 'as' reduce using rule 80
- 'idJ' reduce using rule 80
- 'recBOT' reduce using rule 80
- 'recOR' reduce using rule 80
- 'refl' reduce using rule 80
- 'refl_{' reduce using rule 80
- 'unit' reduce using rule 80
- '|' reduce using rule 80
- '|->' reduce using rule 80
- '}' reduce using rule 80
- '×' reduce using rule 80
- '→' reduce using rule 80
- '↦' reduce using rule 80
- '∧' reduce using rule 80
- '∨' reduce using rule 80
- '≡' reduce using rule 80
- '≤' reduce using rule 80
- '⊤' reduce using rule 80
- '⊥' reduce using rule 80
- L_VarIdentTokenreduce using rule 80
- L_HoleIdentTokenreduce using rule 80
- %eof reduce using rule 80
-
-
-State 54
-
- Term1 -> 'Sigma' . '(' Pattern ':' Term ')' ',' Term1 (rule 130)
-
- '(' shift, and enter state 182
+ '(' reduce using rule 83
+ ')' reduce using rule 83
+ '*' reduce using rule 83
+ '*_1' reduce using rule 83
+ '*₁' reduce using rule 83
+ ',' reduce using rule 83
+ '->' reduce using rule 83
+ '/\\' reduce using rule 83
+ '0_2' reduce using rule 83
+ '0₂' reduce using rule 83
+ '1' reduce using rule 83
+ '1_2' reduce using rule 83
+ '1₂' reduce using rule 83
+ '2' reduce using rule 83
+ ':' reduce using rule 83
+ ':=' reduce using rule 83
+ ';' reduce using rule 83
+ '<' reduce using rule 83
+ '<=' reduce using rule 83
+ '=' reduce using rule 83
+ '===' reduce using rule 83
+ '=_{' reduce using rule 83
+ '>' reduce using rule 83
+ 'BOT' reduce using rule 83
+ 'CUBE' reduce using rule 83
+ 'TOP' reduce using rule 83
+ 'TOPE' reduce using rule 83
+ 'U' reduce using rule 83
+ 'Unit' reduce using rule 83
+ '[' reduce using rule 83
+ '\\/' reduce using rule 83
+ ']' reduce using rule 83
+ 'as' reduce using rule 83
+ 'idJ' reduce using rule 83
+ 'recBOT' reduce using rule 83
+ 'recOR' reduce using rule 83
+ 'refl' reduce using rule 83
+ 'refl_{' reduce using rule 83
+ 'unit' reduce using rule 83
+ '|' reduce using rule 83
+ '|->' reduce using rule 83
+ '}' reduce using rule 83
+ '×' reduce using rule 83
+ '→' reduce using rule 83
+ '↦' reduce using rule 83
+ '∧' reduce using rule 83
+ '∨' reduce using rule 83
+ '≡' reduce using rule 83
+ '≤' reduce using rule 83
+ '⊤' reduce using rule 83
+ '⊥' reduce using rule 83
+ L_VarIdentTokenreduce using rule 83
+ L_HoleIdentTokenreduce using rule 83
+ %eof reduce using rule 83
-State 55
+State 48
- Term7 -> 'TOP' . (rule 106)
+ Term7 -> '1_2' . (rule 106)
'(' reduce using rule 106
')' reduce using rule 106
@@ -2351,28 +2003,253 @@ State 55
%eof reduce using rule 106
-State 56
+State 49
- Term7 -> 'TOPE' . (rule 81)
+ Term7 -> '1₂' . (rule 87)
- '(' reduce using rule 81
- ')' reduce using rule 81
- '*' reduce using rule 81
- '*_1' reduce using rule 81
- '*₁' reduce using rule 81
- ',' reduce using rule 81
- '->' reduce using rule 81
- '/\\' reduce using rule 81
- '0_2' reduce using rule 81
- '0₂' reduce using rule 81
- '1' reduce using rule 81
- '1_2' reduce using rule 81
- '1₂' reduce using rule 81
- '2' reduce using rule 81
- ':' reduce using rule 81
- ':=' reduce using rule 81
- ';' reduce using rule 81
- '<' reduce using rule 81
+ '(' reduce using rule 87
+ ')' reduce using rule 87
+ '*' reduce using rule 87
+ '*_1' reduce using rule 87
+ '*₁' reduce using rule 87
+ ',' reduce using rule 87
+ '->' reduce using rule 87
+ '/\\' reduce using rule 87
+ '0_2' reduce using rule 87
+ '0₂' reduce using rule 87
+ '1' reduce using rule 87
+ '1_2' reduce using rule 87
+ '1₂' reduce using rule 87
+ '2' reduce using rule 87
+ ':' reduce using rule 87
+ ':=' reduce using rule 87
+ ';' reduce using rule 87
+ '<' reduce using rule 87
+ '<=' reduce using rule 87
+ '=' reduce using rule 87
+ '===' reduce using rule 87
+ '=_{' reduce using rule 87
+ '>' reduce using rule 87
+ 'BOT' reduce using rule 87
+ 'CUBE' reduce using rule 87
+ 'TOP' reduce using rule 87
+ 'TOPE' reduce using rule 87
+ 'U' reduce using rule 87
+ 'Unit' reduce using rule 87
+ '[' reduce using rule 87
+ '\\/' reduce using rule 87
+ ']' reduce using rule 87
+ 'as' reduce using rule 87
+ 'idJ' reduce using rule 87
+ 'recBOT' reduce using rule 87
+ 'recOR' reduce using rule 87
+ 'refl' reduce using rule 87
+ 'refl_{' reduce using rule 87
+ 'unit' reduce using rule 87
+ '|' reduce using rule 87
+ '|->' reduce using rule 87
+ '}' reduce using rule 87
+ '×' reduce using rule 87
+ '→' reduce using rule 87
+ '↦' reduce using rule 87
+ '∧' reduce using rule 87
+ '∨' reduce using rule 87
+ '≡' reduce using rule 87
+ '≤' reduce using rule 87
+ '⊤' reduce using rule 87
+ '⊥' reduce using rule 87
+ L_VarIdentTokenreduce using rule 87
+ L_HoleIdentTokenreduce using rule 87
+ %eof reduce using rule 87
+
+
+State 50
+
+ Term7 -> '2' . (rule 85)
+
+ '(' reduce using rule 85
+ ')' reduce using rule 85
+ '*' reduce using rule 85
+ '*_1' reduce using rule 85
+ '*₁' reduce using rule 85
+ ',' reduce using rule 85
+ '->' reduce using rule 85
+ '/\\' reduce using rule 85
+ '0_2' reduce using rule 85
+ '0₂' reduce using rule 85
+ '1' reduce using rule 85
+ '1_2' reduce using rule 85
+ '1₂' reduce using rule 85
+ '2' reduce using rule 85
+ ':' reduce using rule 85
+ ':=' reduce using rule 85
+ ';' reduce using rule 85
+ '<' reduce using rule 85
+ '<=' reduce using rule 85
+ '=' reduce using rule 85
+ '===' reduce using rule 85
+ '=_{' reduce using rule 85
+ '>' reduce using rule 85
+ 'BOT' reduce using rule 85
+ 'CUBE' reduce using rule 85
+ 'TOP' reduce using rule 85
+ 'TOPE' reduce using rule 85
+ 'U' reduce using rule 85
+ 'Unit' reduce using rule 85
+ '[' reduce using rule 85
+ '\\/' reduce using rule 85
+ ']' reduce using rule 85
+ 'as' reduce using rule 85
+ 'idJ' reduce using rule 85
+ 'recBOT' reduce using rule 85
+ 'recOR' reduce using rule 85
+ 'refl' reduce using rule 85
+ 'refl_{' reduce using rule 85
+ 'unit' reduce using rule 85
+ '|' reduce using rule 85
+ '|->' reduce using rule 85
+ '}' reduce using rule 85
+ '×' reduce using rule 85
+ '→' reduce using rule 85
+ '↦' reduce using rule 85
+ '∧' reduce using rule 85
+ '∨' reduce using rule 85
+ '≡' reduce using rule 85
+ '≤' reduce using rule 85
+ '⊤' reduce using rule 85
+ '⊥' reduce using rule 85
+ L_VarIdentTokenreduce using rule 85
+ L_HoleIdentTokenreduce using rule 85
+ %eof reduce using rule 85
+
+
+State 51
+
+ Term7 -> '<' . ParamDecl '→' Term '>' (rule 94)
+ Term7 -> '<' . ParamDecl '->' Term '>' (rule 109)
+
+ '(' shift, and enter state 42
+ '*_1' shift, and enter state 43
+ '*₁' shift, and enter state 44
+ '0_2' shift, and enter state 45
+ '0₂' shift, and enter state 46
+ '1' shift, and enter state 47
+ '1_2' shift, and enter state 48
+ '1₂' shift, and enter state 49
+ '2' shift, and enter state 50
+ '<' shift, and enter state 51
+ 'BOT' shift, and enter state 52
+ 'CUBE' shift, and enter state 53
+ 'TOP' shift, and enter state 55
+ 'TOPE' shift, and enter state 56
+ 'U' shift, and enter state 57
+ 'Unit' shift, and enter state 58
+ 'first' shift, and enter state 60
+ 'idJ' shift, and enter state 61
+ 'recBOT' shift, and enter state 62
+ 'recOR' shift, and enter state 63
+ 'refl' shift, and enter state 64
+ 'refl_{' shift, and enter state 65
+ 'second' shift, and enter state 66
+ 'unit' shift, and enter state 67
+ '{' shift, and enter state 68
+ 'π₁' shift, and enter state 70
+ 'π₂' shift, and enter state 71
+ '⊤' shift, and enter state 73
+ '⊥' shift, and enter state 74
+ L_VarIdentTokenshift, and enter state 75
+ L_HoleIdentTokenshift, and enter state 76
+
+ VarIdentToken goto state 28
+ HoleIdentToken goto state 29
+ HoleIdent goto state 30
+ VarIdent goto state 31
+ ParamDecl goto state 185
+ Term7 goto state 33
+ Term6 goto state 93
+
+State 52
+
+ Term7 -> 'BOT' . (rule 108)
+
+ '(' reduce using rule 108
+ ')' reduce using rule 108
+ '*' reduce using rule 108
+ '*_1' reduce using rule 108
+ '*₁' reduce using rule 108
+ ',' reduce using rule 108
+ '->' reduce using rule 108
+ '/\\' reduce using rule 108
+ '0_2' reduce using rule 108
+ '0₂' reduce using rule 108
+ '1' reduce using rule 108
+ '1_2' reduce using rule 108
+ '1₂' reduce using rule 108
+ '2' reduce using rule 108
+ ':' reduce using rule 108
+ ':=' reduce using rule 108
+ ';' reduce using rule 108
+ '<' reduce using rule 108
+ '<=' reduce using rule 108
+ '=' reduce using rule 108
+ '===' reduce using rule 108
+ '=_{' reduce using rule 108
+ '>' reduce using rule 108
+ 'BOT' reduce using rule 108
+ 'CUBE' reduce using rule 108
+ 'TOP' reduce using rule 108
+ 'TOPE' reduce using rule 108
+ 'U' reduce using rule 108
+ 'Unit' reduce using rule 108
+ '[' reduce using rule 108
+ '\\/' reduce using rule 108
+ ']' reduce using rule 108
+ 'as' reduce using rule 108
+ 'idJ' reduce using rule 108
+ 'recBOT' reduce using rule 108
+ 'recOR' reduce using rule 108
+ 'refl' reduce using rule 108
+ 'refl_{' reduce using rule 108
+ 'unit' reduce using rule 108
+ '|' reduce using rule 108
+ '|->' reduce using rule 108
+ '}' reduce using rule 108
+ '×' reduce using rule 108
+ '→' reduce using rule 108
+ '↦' reduce using rule 108
+ '∧' reduce using rule 108
+ '∨' reduce using rule 108
+ '≡' reduce using rule 108
+ '≤' reduce using rule 108
+ '⊤' reduce using rule 108
+ '⊥' reduce using rule 108
+ L_VarIdentTokenreduce using rule 108
+ L_HoleIdentTokenreduce using rule 108
+ %eof reduce using rule 108
+
+
+State 53
+
+ Term7 -> 'CUBE' . (rule 81)
+
+ '(' reduce using rule 81
+ ')' reduce using rule 81
+ '*' reduce using rule 81
+ '*_1' reduce using rule 81
+ '*₁' reduce using rule 81
+ ',' reduce using rule 81
+ '->' reduce using rule 81
+ '/\\' reduce using rule 81
+ '0_2' reduce using rule 81
+ '0₂' reduce using rule 81
+ '1' reduce using rule 81
+ '1_2' reduce using rule 81
+ '1₂' reduce using rule 81
+ '2' reduce using rule 81
+ ':' reduce using rule 81
+ ':=' reduce using rule 81
+ ';' reduce using rule 81
+ '<' reduce using rule 81
'<=' reduce using rule 81
'=' reduce using rule 81
'===' reduce using rule 81
@@ -2411,320 +2288,274 @@ State 56
%eof reduce using rule 81
-State 57
+State 54
- Term7 -> 'U' . (rule 79)
+ Term1 -> 'Sigma' . '(' Pattern ':' Term ')' ',' Term1 (rule 131)
- '(' reduce using rule 79
- ')' reduce using rule 79
- '*' reduce using rule 79
- '*_1' reduce using rule 79
- '*₁' reduce using rule 79
- ',' reduce using rule 79
- '->' reduce using rule 79
- '/\\' reduce using rule 79
- '0_2' reduce using rule 79
- '0₂' reduce using rule 79
- '1' reduce using rule 79
- '1_2' reduce using rule 79
- '1₂' reduce using rule 79
- '2' reduce using rule 79
- ':' reduce using rule 79
- ':=' reduce using rule 79
- ';' reduce using rule 79
- '<' reduce using rule 79
- '<=' reduce using rule 79
- '=' reduce using rule 79
- '===' reduce using rule 79
- '=_{' reduce using rule 79
- '>' reduce using rule 79
- 'BOT' reduce using rule 79
- 'CUBE' reduce using rule 79
- 'TOP' reduce using rule 79
- 'TOPE' reduce using rule 79
- 'U' reduce using rule 79
- 'Unit' reduce using rule 79
- '[' reduce using rule 79
- '\\/' reduce using rule 79
- ']' reduce using rule 79
- 'as' reduce using rule 79
- 'idJ' reduce using rule 79
- 'recBOT' reduce using rule 79
- 'recOR' reduce using rule 79
- 'refl' reduce using rule 79
- 'refl_{' reduce using rule 79
- 'unit' reduce using rule 79
- '|' reduce using rule 79
- '|->' reduce using rule 79
- '}' reduce using rule 79
- '×' reduce using rule 79
- '→' reduce using rule 79
- '↦' reduce using rule 79
- '∧' reduce using rule 79
- '∨' reduce using rule 79
- '≡' reduce using rule 79
- '≤' reduce using rule 79
- '⊤' reduce using rule 79
- '⊥' reduce using rule 79
- L_VarIdentTokenreduce using rule 79
- L_HoleIdentTokenreduce using rule 79
- %eof reduce using rule 79
+ '(' shift, and enter state 184
-State 58
+State 55
- Term7 -> 'Unit' . (rule 92)
+ Term7 -> 'TOP' . (rule 107)
- '(' reduce using rule 92
- ')' reduce using rule 92
- '*' reduce using rule 92
- '*_1' reduce using rule 92
- '*₁' reduce using rule 92
- ',' reduce using rule 92
- '->' reduce using rule 92
- '/\\' reduce using rule 92
- '0_2' reduce using rule 92
- '0₂' reduce using rule 92
- '1' reduce using rule 92
- '1_2' reduce using rule 92
- '1₂' reduce using rule 92
- '2' reduce using rule 92
- ':' reduce using rule 92
- ':=' reduce using rule 92
- ';' reduce using rule 92
- '<' reduce using rule 92
- '<=' reduce using rule 92
- '=' reduce using rule 92
- '===' reduce using rule 92
- '=_{' reduce using rule 92
- '>' reduce using rule 92
- 'BOT' reduce using rule 92
- 'CUBE' reduce using rule 92
- 'TOP' reduce using rule 92
- 'TOPE' reduce using rule 92
- 'U' reduce using rule 92
- 'Unit' reduce using rule 92
- '[' reduce using rule 92
- '\\/' reduce using rule 92
- ']' reduce using rule 92
- 'as' reduce using rule 92
- 'idJ' reduce using rule 92
- 'recBOT' reduce using rule 92
- 'recOR' reduce using rule 92
- 'refl' reduce using rule 92
- 'refl_{' reduce using rule 92
- 'unit' reduce using rule 92
- '|' reduce using rule 92
- '|->' reduce using rule 92
- '}' reduce using rule 92
- '×' reduce using rule 92
- '→' reduce using rule 92
- '↦' reduce using rule 92
- '∧' reduce using rule 92
- '∨' reduce using rule 92
- '≡' reduce using rule 92
- '≤' reduce using rule 92
- '⊤' reduce using rule 92
- '⊥' reduce using rule 92
- L_VarIdentTokenreduce using rule 92
- L_HoleIdentTokenreduce using rule 92
- %eof reduce using rule 92
-
-
-State 59
-
- Term1 -> '\\' . ListParam '→' Term1 (rule 127)
- Term1 -> '\\' . ListParam '->' Term1 (rule 131)
-
- '(' shift, and enter state 98
- 'unit' shift, and enter state 99
- '{' shift, and enter state 100
- L_VarIdentTokenshift, and enter state 75
-
- VarIdentToken goto state 28
- VarIdent goto state 94
- Pattern goto state 95
- Param goto state 96
- ListParam goto state 181
-
-State 60
-
- Term6 -> 'first' . Term7 (rule 138)
-
- '(' shift, and enter state 79
- '*_1' shift, and enter state 43
- '*₁' shift, and enter state 44
- '0_2' shift, and enter state 45
- '0₂' shift, and enter state 46
- '1' shift, and enter state 47
- '1_2' shift, and enter state 48
- '1₂' shift, and enter state 49
- '2' shift, and enter state 50
- '<' shift, and enter state 51
- 'BOT' shift, and enter state 52
- 'CUBE' shift, and enter state 53
- 'TOP' shift, and enter state 55
- 'TOPE' shift, and enter state 56
- 'U' shift, and enter state 57
- 'Unit' shift, and enter state 58
- 'idJ' shift, and enter state 61
- 'recBOT' shift, and enter state 62
- 'recOR' shift, and enter state 63
- 'refl' shift, and enter state 64
- 'refl_{' shift, and enter state 65
- 'unit' shift, and enter state 67
- '⊤' shift, and enter state 73
- '⊥' shift, and enter state 74
- L_VarIdentTokenshift, and enter state 75
- L_HoleIdentTokenshift, and enter state 76
-
- VarIdentToken goto state 28
- HoleIdentToken goto state 29
- HoleIdent goto state 30
- VarIdent goto state 31
- Term7 goto state 180
-
-State 61
-
- Term7 -> 'idJ' . '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 99)
-
- '(' shift, and enter state 179
+ '(' reduce using rule 107
+ ')' reduce using rule 107
+ '*' reduce using rule 107
+ '*_1' reduce using rule 107
+ '*₁' reduce using rule 107
+ ',' reduce using rule 107
+ '->' reduce using rule 107
+ '/\\' reduce using rule 107
+ '0_2' reduce using rule 107
+ '0₂' reduce using rule 107
+ '1' reduce using rule 107
+ '1_2' reduce using rule 107
+ '1₂' reduce using rule 107
+ '2' reduce using rule 107
+ ':' reduce using rule 107
+ ':=' reduce using rule 107
+ ';' reduce using rule 107
+ '<' reduce using rule 107
+ '<=' reduce using rule 107
+ '=' reduce using rule 107
+ '===' reduce using rule 107
+ '=_{' reduce using rule 107
+ '>' reduce using rule 107
+ 'BOT' reduce using rule 107
+ 'CUBE' reduce using rule 107
+ 'TOP' reduce using rule 107
+ 'TOPE' reduce using rule 107
+ 'U' reduce using rule 107
+ 'Unit' reduce using rule 107
+ '[' reduce using rule 107
+ '\\/' reduce using rule 107
+ ']' reduce using rule 107
+ 'as' reduce using rule 107
+ 'idJ' reduce using rule 107
+ 'recBOT' reduce using rule 107
+ 'recOR' reduce using rule 107
+ 'refl' reduce using rule 107
+ 'refl_{' reduce using rule 107
+ 'unit' reduce using rule 107
+ '|' reduce using rule 107
+ '|->' reduce using rule 107
+ '}' reduce using rule 107
+ '×' reduce using rule 107
+ '→' reduce using rule 107
+ '↦' reduce using rule 107
+ '∧' reduce using rule 107
+ '∨' reduce using rule 107
+ '≡' reduce using rule 107
+ '≤' reduce using rule 107
+ '⊤' reduce using rule 107
+ '⊥' reduce using rule 107
+ L_VarIdentTokenreduce using rule 107
+ L_HoleIdentTokenreduce using rule 107
+ %eof reduce using rule 107
-State 62
+State 56
- Term7 -> 'recBOT' . (rule 89)
+ Term7 -> 'TOPE' . (rule 82)
- '(' reduce using rule 89
- ')' reduce using rule 89
- '*' reduce using rule 89
- '*_1' reduce using rule 89
- '*₁' reduce using rule 89
- ',' reduce using rule 89
- '->' reduce using rule 89
- '/\\' reduce using rule 89
- '0_2' reduce using rule 89
- '0₂' reduce using rule 89
- '1' reduce using rule 89
- '1_2' reduce using rule 89
- '1₂' reduce using rule 89
- '2' reduce using rule 89
- ':' reduce using rule 89
- ':=' reduce using rule 89
- ';' reduce using rule 89
- '<' reduce using rule 89
- '<=' reduce using rule 89
- '=' reduce using rule 89
- '===' reduce using rule 89
- '=_{' reduce using rule 89
- '>' reduce using rule 89
- 'BOT' reduce using rule 89
- 'CUBE' reduce using rule 89
- 'TOP' reduce using rule 89
- 'TOPE' reduce using rule 89
- 'U' reduce using rule 89
- 'Unit' reduce using rule 89
- '[' reduce using rule 89
- '\\/' reduce using rule 89
- ']' reduce using rule 89
- 'as' reduce using rule 89
- 'idJ' reduce using rule 89
- 'recBOT' reduce using rule 89
- 'recOR' reduce using rule 89
- 'refl' reduce using rule 89
- 'refl_{' reduce using rule 89
- 'unit' reduce using rule 89
- '|' reduce using rule 89
- '|->' reduce using rule 89
- '}' reduce using rule 89
- '×' reduce using rule 89
- '→' reduce using rule 89
- '↦' reduce using rule 89
- '∧' reduce using rule 89
- '∨' reduce using rule 89
- '≡' reduce using rule 89
- '≤' reduce using rule 89
- '⊤' reduce using rule 89
- '⊥' reduce using rule 89
- L_VarIdentTokenreduce using rule 89
- L_HoleIdentTokenreduce using rule 89
- %eof reduce using rule 89
+ '(' reduce using rule 82
+ ')' reduce using rule 82
+ '*' reduce using rule 82
+ '*_1' reduce using rule 82
+ '*₁' reduce using rule 82
+ ',' reduce using rule 82
+ '->' reduce using rule 82
+ '/\\' reduce using rule 82
+ '0_2' reduce using rule 82
+ '0₂' reduce using rule 82
+ '1' reduce using rule 82
+ '1_2' reduce using rule 82
+ '1₂' reduce using rule 82
+ '2' reduce using rule 82
+ ':' reduce using rule 82
+ ':=' reduce using rule 82
+ ';' reduce using rule 82
+ '<' reduce using rule 82
+ '<=' reduce using rule 82
+ '=' reduce using rule 82
+ '===' reduce using rule 82
+ '=_{' reduce using rule 82
+ '>' reduce using rule 82
+ 'BOT' reduce using rule 82
+ 'CUBE' reduce using rule 82
+ 'TOP' reduce using rule 82
+ 'TOPE' reduce using rule 82
+ 'U' reduce using rule 82
+ 'Unit' reduce using rule 82
+ '[' reduce using rule 82
+ '\\/' reduce using rule 82
+ ']' reduce using rule 82
+ 'as' reduce using rule 82
+ 'idJ' reduce using rule 82
+ 'recBOT' reduce using rule 82
+ 'recOR' reduce using rule 82
+ 'refl' reduce using rule 82
+ 'refl_{' reduce using rule 82
+ 'unit' reduce using rule 82
+ '|' reduce using rule 82
+ '|->' reduce using rule 82
+ '}' reduce using rule 82
+ '×' reduce using rule 82
+ '→' reduce using rule 82
+ '↦' reduce using rule 82
+ '∧' reduce using rule 82
+ '∨' reduce using rule 82
+ '≡' reduce using rule 82
+ '≤' reduce using rule 82
+ '⊤' reduce using rule 82
+ '⊥' reduce using rule 82
+ L_VarIdentTokenreduce using rule 82
+ L_HoleIdentTokenreduce using rule 82
+ %eof reduce using rule 82
-State 63
+State 57
- Term7 -> 'recOR' . '(' ListRestriction ')' (rule 90)
- Term7 -> 'recOR' . '(' Term ',' Term ',' Term ',' Term ')' (rule 91)
+ Term7 -> 'U' . (rule 80)
- '(' shift, and enter state 178
+ '(' reduce using rule 80
+ ')' reduce using rule 80
+ '*' reduce using rule 80
+ '*_1' reduce using rule 80
+ '*₁' reduce using rule 80
+ ',' reduce using rule 80
+ '->' reduce using rule 80
+ '/\\' reduce using rule 80
+ '0_2' reduce using rule 80
+ '0₂' reduce using rule 80
+ '1' reduce using rule 80
+ '1_2' reduce using rule 80
+ '1₂' reduce using rule 80
+ '2' reduce using rule 80
+ ':' reduce using rule 80
+ ':=' reduce using rule 80
+ ';' reduce using rule 80
+ '<' reduce using rule 80
+ '<=' reduce using rule 80
+ '=' reduce using rule 80
+ '===' reduce using rule 80
+ '=_{' reduce using rule 80
+ '>' reduce using rule 80
+ 'BOT' reduce using rule 80
+ 'CUBE' reduce using rule 80
+ 'TOP' reduce using rule 80
+ 'TOPE' reduce using rule 80
+ 'U' reduce using rule 80
+ 'Unit' reduce using rule 80
+ '[' reduce using rule 80
+ '\\/' reduce using rule 80
+ ']' reduce using rule 80
+ 'as' reduce using rule 80
+ 'idJ' reduce using rule 80
+ 'recBOT' reduce using rule 80
+ 'recOR' reduce using rule 80
+ 'refl' reduce using rule 80
+ 'refl_{' reduce using rule 80
+ 'unit' reduce using rule 80
+ '|' reduce using rule 80
+ '|->' reduce using rule 80
+ '}' reduce using rule 80
+ '×' reduce using rule 80
+ '→' reduce using rule 80
+ '↦' reduce using rule 80
+ '∧' reduce using rule 80
+ '∨' reduce using rule 80
+ '≡' reduce using rule 80
+ '≤' reduce using rule 80
+ '⊤' reduce using rule 80
+ '⊥' reduce using rule 80
+ L_VarIdentTokenreduce using rule 80
+ L_HoleIdentTokenreduce using rule 80
+ %eof reduce using rule 80
-State 64
+State 58
- Term7 -> 'refl' . (rule 96)
+ Term7 -> 'Unit' . (rule 93)
- '(' reduce using rule 96
- ')' reduce using rule 96
- '*' reduce using rule 96
- '*_1' reduce using rule 96
- '*₁' reduce using rule 96
- ',' reduce using rule 96
- '->' reduce using rule 96
- '/\\' reduce using rule 96
- '0_2' reduce using rule 96
- '0₂' reduce using rule 96
- '1' reduce using rule 96
- '1_2' reduce using rule 96
- '1₂' reduce using rule 96
- '2' reduce using rule 96
- ':' reduce using rule 96
- ':=' reduce using rule 96
- ';' reduce using rule 96
- '<' reduce using rule 96
- '<=' reduce using rule 96
- '=' reduce using rule 96
- '===' reduce using rule 96
- '=_{' reduce using rule 96
- '>' reduce using rule 96
- 'BOT' reduce using rule 96
- 'CUBE' reduce using rule 96
- 'TOP' reduce using rule 96
- 'TOPE' reduce using rule 96
- 'U' reduce using rule 96
- 'Unit' reduce using rule 96
- '[' reduce using rule 96
- '\\/' reduce using rule 96
- ']' reduce using rule 96
- 'as' reduce using rule 96
- 'idJ' reduce using rule 96
- 'recBOT' reduce using rule 96
- 'recOR' reduce using rule 96
- 'refl' reduce using rule 96
- 'refl_{' reduce using rule 96
- 'unit' reduce using rule 96
- '|' reduce using rule 96
- '|->' reduce using rule 96
- '}' reduce using rule 96
- '×' reduce using rule 96
- '→' reduce using rule 96
- '↦' reduce using rule 96
- '∧' reduce using rule 96
- '∨' reduce using rule 96
- '≡' reduce using rule 96
- '≤' reduce using rule 96
- '⊤' reduce using rule 96
- '⊥' reduce using rule 96
- L_VarIdentTokenreduce using rule 96
- L_HoleIdentTokenreduce using rule 96
- %eof reduce using rule 96
+ '(' reduce using rule 93
+ ')' reduce using rule 93
+ '*' reduce using rule 93
+ '*_1' reduce using rule 93
+ '*₁' reduce using rule 93
+ ',' reduce using rule 93
+ '->' reduce using rule 93
+ '/\\' reduce using rule 93
+ '0_2' reduce using rule 93
+ '0₂' reduce using rule 93
+ '1' reduce using rule 93
+ '1_2' reduce using rule 93
+ '1₂' reduce using rule 93
+ '2' reduce using rule 93
+ ':' reduce using rule 93
+ ':=' reduce using rule 93
+ ';' reduce using rule 93
+ '<' reduce using rule 93
+ '<=' reduce using rule 93
+ '=' reduce using rule 93
+ '===' reduce using rule 93
+ '=_{' reduce using rule 93
+ '>' reduce using rule 93
+ 'BOT' reduce using rule 93
+ 'CUBE' reduce using rule 93
+ 'TOP' reduce using rule 93
+ 'TOPE' reduce using rule 93
+ 'U' reduce using rule 93
+ 'Unit' reduce using rule 93
+ '[' reduce using rule 93
+ '\\/' reduce using rule 93
+ ']' reduce using rule 93
+ 'as' reduce using rule 93
+ 'idJ' reduce using rule 93
+ 'recBOT' reduce using rule 93
+ 'recOR' reduce using rule 93
+ 'refl' reduce using rule 93
+ 'refl_{' reduce using rule 93
+ 'unit' reduce using rule 93
+ '|' reduce using rule 93
+ '|->' reduce using rule 93
+ '}' reduce using rule 93
+ '×' reduce using rule 93
+ '→' reduce using rule 93
+ '↦' reduce using rule 93
+ '∧' reduce using rule 93
+ '∨' reduce using rule 93
+ '≡' reduce using rule 93
+ '≤' reduce using rule 93
+ '⊤' reduce using rule 93
+ '⊥' reduce using rule 93
+ L_VarIdentTokenreduce using rule 93
+ L_HoleIdentTokenreduce using rule 93
+ %eof reduce using rule 93
-State 65
+State 59
- Term7 -> 'refl_{' . Term '}' (rule 97)
- Term7 -> 'refl_{' . Term ':' Term '}' (rule 98)
+ Term1 -> '\\' . ListParam '→' Term1 (rule 128)
+ Term1 -> '\\' . ListParam '->' Term1 (rule 132)
- '(' shift, and enter state 42
+ '(' shift, and enter state 98
+ 'unit' shift, and enter state 99
+ '{' shift, and enter state 100
+ L_VarIdentTokenshift, and enter state 75
+
+ VarIdentToken goto state 28
+ VarIdent goto state 94
+ Pattern goto state 95
+ Param goto state 96
+ ListParam goto state 183
+
+State 60
+
+ Term6 -> 'first' . Term7 (rule 139)
+
+ '(' shift, and enter state 79
'*_1' shift, and enter state 43
'*₁' shift, and enter state 44
'0_2' shift, and enter state 45
@@ -2736,25 +2567,16 @@ State 65
'<' shift, and enter state 51
'BOT' shift, and enter state 52
'CUBE' shift, and enter state 53
- 'Sigma' shift, and enter state 54
'TOP' shift, and enter state 55
'TOPE' shift, and enter state 56
'U' shift, and enter state 57
'Unit' shift, and enter state 58
- '\\' shift, and enter state 59
- 'first' shift, and enter state 60
'idJ' shift, and enter state 61
'recBOT' shift, and enter state 62
'recOR' shift, and enter state 63
'refl' shift, and enter state 64
'refl_{' shift, and enter state 65
- 'second' shift, and enter state 66
'unit' shift, and enter state 67
- '{' shift, and enter state 68
- 'Σ' shift, and enter state 69
- 'π₁' shift, and enter state 70
- 'π₂' shift, and enter state 71
- '∑' shift, and enter state 72
'⊤' shift, and enter state 73
'⊥' shift, and enter state 74
L_VarIdentTokenshift, and enter state 75
@@ -2764,21 +2586,149 @@ State 65
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- ParamDecl goto state 32
- Term7 goto state 33
- Term5 goto state 34
- Term4 goto state 35
- Term3 goto state 36
- Term2 goto state 37
- Term1 goto state 38
- Term6 goto state 39
- Term goto state 177
+ Term7 goto state 182
-State 66
+State 61
- Term6 -> 'second' . Term7 (rule 139)
+ Term7 -> 'idJ' . '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 100)
- '(' shift, and enter state 79
+ '(' shift, and enter state 181
+
+
+State 62
+
+ Term7 -> 'recBOT' . (rule 90)
+
+ '(' reduce using rule 90
+ ')' reduce using rule 90
+ '*' reduce using rule 90
+ '*_1' reduce using rule 90
+ '*₁' reduce using rule 90
+ ',' reduce using rule 90
+ '->' reduce using rule 90
+ '/\\' reduce using rule 90
+ '0_2' reduce using rule 90
+ '0₂' reduce using rule 90
+ '1' reduce using rule 90
+ '1_2' reduce using rule 90
+ '1₂' reduce using rule 90
+ '2' reduce using rule 90
+ ':' reduce using rule 90
+ ':=' reduce using rule 90
+ ';' reduce using rule 90
+ '<' reduce using rule 90
+ '<=' reduce using rule 90
+ '=' reduce using rule 90
+ '===' reduce using rule 90
+ '=_{' reduce using rule 90
+ '>' reduce using rule 90
+ 'BOT' reduce using rule 90
+ 'CUBE' reduce using rule 90
+ 'TOP' reduce using rule 90
+ 'TOPE' reduce using rule 90
+ 'U' reduce using rule 90
+ 'Unit' reduce using rule 90
+ '[' reduce using rule 90
+ '\\/' reduce using rule 90
+ ']' reduce using rule 90
+ 'as' reduce using rule 90
+ 'idJ' reduce using rule 90
+ 'recBOT' reduce using rule 90
+ 'recOR' reduce using rule 90
+ 'refl' reduce using rule 90
+ 'refl_{' reduce using rule 90
+ 'unit' reduce using rule 90
+ '|' reduce using rule 90
+ '|->' reduce using rule 90
+ '}' reduce using rule 90
+ '×' reduce using rule 90
+ '→' reduce using rule 90
+ '↦' reduce using rule 90
+ '∧' reduce using rule 90
+ '∨' reduce using rule 90
+ '≡' reduce using rule 90
+ '≤' reduce using rule 90
+ '⊤' reduce using rule 90
+ '⊥' reduce using rule 90
+ L_VarIdentTokenreduce using rule 90
+ L_HoleIdentTokenreduce using rule 90
+ %eof reduce using rule 90
+
+
+State 63
+
+ Term7 -> 'recOR' . '(' ListRestriction ')' (rule 91)
+ Term7 -> 'recOR' . '(' Term ',' Term ',' Term ',' Term ')' (rule 92)
+
+ '(' shift, and enter state 180
+
+
+State 64
+
+ Term7 -> 'refl' . (rule 97)
+
+ '(' reduce using rule 97
+ ')' reduce using rule 97
+ '*' reduce using rule 97
+ '*_1' reduce using rule 97
+ '*₁' reduce using rule 97
+ ',' reduce using rule 97
+ '->' reduce using rule 97
+ '/\\' reduce using rule 97
+ '0_2' reduce using rule 97
+ '0₂' reduce using rule 97
+ '1' reduce using rule 97
+ '1_2' reduce using rule 97
+ '1₂' reduce using rule 97
+ '2' reduce using rule 97
+ ':' reduce using rule 97
+ ':=' reduce using rule 97
+ ';' reduce using rule 97
+ '<' reduce using rule 97
+ '<=' reduce using rule 97
+ '=' reduce using rule 97
+ '===' reduce using rule 97
+ '=_{' reduce using rule 97
+ '>' reduce using rule 97
+ 'BOT' reduce using rule 97
+ 'CUBE' reduce using rule 97
+ 'TOP' reduce using rule 97
+ 'TOPE' reduce using rule 97
+ 'U' reduce using rule 97
+ 'Unit' reduce using rule 97
+ '[' reduce using rule 97
+ '\\/' reduce using rule 97
+ ']' reduce using rule 97
+ 'as' reduce using rule 97
+ 'idJ' reduce using rule 97
+ 'recBOT' reduce using rule 97
+ 'recOR' reduce using rule 97
+ 'refl' reduce using rule 97
+ 'refl_{' reduce using rule 97
+ 'unit' reduce using rule 97
+ '|' reduce using rule 97
+ '|->' reduce using rule 97
+ '}' reduce using rule 97
+ '×' reduce using rule 97
+ '→' reduce using rule 97
+ '↦' reduce using rule 97
+ '∧' reduce using rule 97
+ '∨' reduce using rule 97
+ '≡' reduce using rule 97
+ '≤' reduce using rule 97
+ '⊤' reduce using rule 97
+ '⊥' reduce using rule 97
+ L_VarIdentTokenreduce using rule 97
+ L_HoleIdentTokenreduce using rule 97
+ %eof reduce using rule 97
+
+
+State 65
+
+ Term7 -> 'refl_{' . Term '}' (rule 98)
+ Term7 -> 'refl_{' . Term ':' Term '}' (rule 99)
+
+ '(' shift, and enter state 42
'*_1' shift, and enter state 43
'*₁' shift, and enter state 44
'0_2' shift, and enter state 45
@@ -2790,111 +2740,165 @@ State 66
'<' shift, and enter state 51
'BOT' shift, and enter state 52
'CUBE' shift, and enter state 53
+ 'Sigma' shift, and enter state 54
'TOP' shift, and enter state 55
'TOPE' shift, and enter state 56
'U' shift, and enter state 57
'Unit' shift, and enter state 58
+ '\\' shift, and enter state 59
+ 'first' shift, and enter state 60
'idJ' shift, and enter state 61
'recBOT' shift, and enter state 62
'recOR' shift, and enter state 63
'refl' shift, and enter state 64
'refl_{' shift, and enter state 65
+ 'second' shift, and enter state 66
'unit' shift, and enter state 67
+ '{' shift, and enter state 68
+ 'Σ' shift, and enter state 69
+ 'π₁' shift, and enter state 70
+ 'π₂' shift, and enter state 71
+ '∑' shift, and enter state 72
'⊤' shift, and enter state 73
'⊥' shift, and enter state 74
L_VarIdentTokenshift, and enter state 75
L_HoleIdentTokenshift, and enter state 76
- VarIdentToken goto state 28
- HoleIdentToken goto state 29
- HoleIdent goto state 30
- VarIdent goto state 31
- Term7 goto state 176
-
-State 67
-
- Term7 -> 'unit' . (rule 95)
-
- '(' reduce using rule 95
- ')' reduce using rule 95
- '*' reduce using rule 95
- '*_1' reduce using rule 95
- '*₁' reduce using rule 95
- ',' reduce using rule 95
- '->' reduce using rule 95
- '/\\' reduce using rule 95
- '0_2' reduce using rule 95
- '0₂' reduce using rule 95
- '1' reduce using rule 95
- '1_2' reduce using rule 95
- '1₂' reduce using rule 95
- '2' reduce using rule 95
- ':' reduce using rule 95
- ':=' reduce using rule 95
- ';' reduce using rule 95
- '<' reduce using rule 95
- '<=' reduce using rule 95
- '=' reduce using rule 95
- '===' reduce using rule 95
- '=_{' reduce using rule 95
- '>' reduce using rule 95
- 'BOT' reduce using rule 95
- 'CUBE' reduce using rule 95
- 'TOP' reduce using rule 95
- 'TOPE' reduce using rule 95
- 'U' reduce using rule 95
- 'Unit' reduce using rule 95
- '[' reduce using rule 95
- '\\/' reduce using rule 95
- ']' reduce using rule 95
- 'as' reduce using rule 95
- 'idJ' reduce using rule 95
- 'recBOT' reduce using rule 95
- 'recOR' reduce using rule 95
- 'refl' reduce using rule 95
- 'refl_{' reduce using rule 95
- 'unit' reduce using rule 95
- '|' reduce using rule 95
- '|->' reduce using rule 95
- '}' reduce using rule 95
- '×' reduce using rule 95
- '→' reduce using rule 95
- '↦' reduce using rule 95
- '∧' reduce using rule 95
- '∨' reduce using rule 95
- '≡' reduce using rule 95
- '≤' reduce using rule 95
- '⊤' reduce using rule 95
- '⊥' reduce using rule 95
- L_VarIdentTokenreduce using rule 95
- L_HoleIdentTokenreduce using rule 95
- %eof reduce using rule 95
-
+ VarIdentToken goto state 28
+ HoleIdentToken goto state 29
+ HoleIdent goto state 30
+ VarIdent goto state 31
+ ParamDecl goto state 32
+ Term7 goto state 33
+ Term5 goto state 34
+ Term4 goto state 35
+ Term3 goto state 36
+ Term2 goto state 37
+ Term1 goto state 38
+ Term6 goto state 39
+ Term goto state 179
+
+State 66
+
+ Term6 -> 'second' . Term7 (rule 140)
+
+ '(' shift, and enter state 79
+ '*_1' shift, and enter state 43
+ '*₁' shift, and enter state 44
+ '0_2' shift, and enter state 45
+ '0₂' shift, and enter state 46
+ '1' shift, and enter state 47
+ '1_2' shift, and enter state 48
+ '1₂' shift, and enter state 49
+ '2' shift, and enter state 50
+ '<' shift, and enter state 51
+ 'BOT' shift, and enter state 52
+ 'CUBE' shift, and enter state 53
+ 'TOP' shift, and enter state 55
+ 'TOPE' shift, and enter state 56
+ 'U' shift, and enter state 57
+ 'Unit' shift, and enter state 58
+ 'idJ' shift, and enter state 61
+ 'recBOT' shift, and enter state 62
+ 'recOR' shift, and enter state 63
+ 'refl' shift, and enter state 64
+ 'refl_{' shift, and enter state 65
+ 'unit' shift, and enter state 67
+ '⊤' shift, and enter state 73
+ '⊥' shift, and enter state 74
+ L_VarIdentTokenshift, and enter state 75
+ L_HoleIdentTokenshift, and enter state 76
+
+ VarIdentToken goto state 28
+ HoleIdentToken goto state 29
+ HoleIdent goto state 30
+ VarIdent goto state 31
+ Term7 goto state 178
+
+State 67
+
+ Term7 -> 'unit' . (rule 96)
+
+ '(' reduce using rule 96
+ ')' reduce using rule 96
+ '*' reduce using rule 96
+ '*_1' reduce using rule 96
+ '*₁' reduce using rule 96
+ ',' reduce using rule 96
+ '->' reduce using rule 96
+ '/\\' reduce using rule 96
+ '0_2' reduce using rule 96
+ '0₂' reduce using rule 96
+ '1' reduce using rule 96
+ '1_2' reduce using rule 96
+ '1₂' reduce using rule 96
+ '2' reduce using rule 96
+ ':' reduce using rule 96
+ ':=' reduce using rule 96
+ ';' reduce using rule 96
+ '<' reduce using rule 96
+ '<=' reduce using rule 96
+ '=' reduce using rule 96
+ '===' reduce using rule 96
+ '=_{' reduce using rule 96
+ '>' reduce using rule 96
+ 'BOT' reduce using rule 96
+ 'CUBE' reduce using rule 96
+ 'TOP' reduce using rule 96
+ 'TOPE' reduce using rule 96
+ 'U' reduce using rule 96
+ 'Unit' reduce using rule 96
+ '[' reduce using rule 96
+ '\\/' reduce using rule 96
+ ']' reduce using rule 96
+ 'as' reduce using rule 96
+ 'idJ' reduce using rule 96
+ 'recBOT' reduce using rule 96
+ 'recOR' reduce using rule 96
+ 'refl' reduce using rule 96
+ 'refl_{' reduce using rule 96
+ 'unit' reduce using rule 96
+ '|' reduce using rule 96
+ '|->' reduce using rule 96
+ '}' reduce using rule 96
+ '×' reduce using rule 96
+ '→' reduce using rule 96
+ '↦' reduce using rule 96
+ '∧' reduce using rule 96
+ '∨' reduce using rule 96
+ '≡' reduce using rule 96
+ '≤' reduce using rule 96
+ '⊤' reduce using rule 96
+ '⊥' reduce using rule 96
+ L_VarIdentTokenreduce using rule 96
+ L_HoleIdentTokenreduce using rule 96
+ %eof reduce using rule 96
+
State 68
- ParamDecl -> '{' . Pattern ':' Term '}' (rule 72)
- ParamDecl -> '{' . '(' Pattern ':' Term ')' '|' Term '}' (rule 73)
- ParamDecl -> '{' . Pattern ':' Term '|' Term '}' (rule 74)
+ ParamDecl -> '{' . Pattern ':' Term '}' (rule 73)
+ ParamDecl -> '{' . '(' Pattern ':' Term ')' '|' Term '}' (rule 74)
+ ParamDecl -> '{' . Pattern ':' Term '|' Term '}' (rule 75)
- '(' shift, and enter state 175
+ '(' shift, and enter state 177
'unit' shift, and enter state 99
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 174
+ Pattern goto state 176
State 69
- Term1 -> 'Σ' . '(' Pattern ':' Term ')' ',' Term1 (rule 124)
+ Term1 -> 'Σ' . '(' Pattern ':' Term ')' ',' Term1 (rule 125)
- '(' shift, and enter state 173
+ '(' shift, and enter state 175
State 70
- Term6 -> 'π₁' . Term7 (rule 135)
+ Term6 -> 'π₁' . Term7 (rule 136)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -2927,11 +2931,11 @@ State 70
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- Term7 goto state 172
+ Term7 goto state 174
State 71
- Term6 -> 'π₂' . Term7 (rule 136)
+ Term6 -> 'π₂' . Term7 (rule 137)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -2964,78 +2968,18 @@ State 71
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- Term7 goto state 171
+ Term7 goto state 173
State 72
- Term1 -> '∑' . '(' Pattern ':' Term ')' ',' Term1 (rule 132)
+ Term1 -> '∑' . '(' Pattern ':' Term ')' ',' Term1 (rule 133)
- '(' shift, and enter state 170
+ '(' shift, and enter state 172
State 73
- Term7 -> '⊤' . (rule 87)
-
- '(' reduce using rule 87
- ')' reduce using rule 87
- '*' reduce using rule 87
- '*_1' reduce using rule 87
- '*₁' reduce using rule 87
- ',' reduce using rule 87
- '->' reduce using rule 87
- '/\\' reduce using rule 87
- '0_2' reduce using rule 87
- '0₂' reduce using rule 87
- '1' reduce using rule 87
- '1_2' reduce using rule 87
- '1₂' reduce using rule 87
- '2' reduce using rule 87
- ':' reduce using rule 87
- ':=' reduce using rule 87
- ';' reduce using rule 87
- '<' reduce using rule 87
- '<=' reduce using rule 87
- '=' reduce using rule 87
- '===' reduce using rule 87
- '=_{' reduce using rule 87
- '>' reduce using rule 87
- 'BOT' reduce using rule 87
- 'CUBE' reduce using rule 87
- 'TOP' reduce using rule 87
- 'TOPE' reduce using rule 87
- 'U' reduce using rule 87
- 'Unit' reduce using rule 87
- '[' reduce using rule 87
- '\\/' reduce using rule 87
- ']' reduce using rule 87
- 'as' reduce using rule 87
- 'idJ' reduce using rule 87
- 'recBOT' reduce using rule 87
- 'recOR' reduce using rule 87
- 'refl' reduce using rule 87
- 'refl_{' reduce using rule 87
- 'unit' reduce using rule 87
- '|' reduce using rule 87
- '|->' reduce using rule 87
- '}' reduce using rule 87
- '×' reduce using rule 87
- '→' reduce using rule 87
- '↦' reduce using rule 87
- '∧' reduce using rule 87
- '∨' reduce using rule 87
- '≡' reduce using rule 87
- '≤' reduce using rule 87
- '⊤' reduce using rule 87
- '⊥' reduce using rule 87
- L_VarIdentTokenreduce using rule 87
- L_HoleIdentTokenreduce using rule 87
- %eof reduce using rule 87
-
-
-State 74
-
- Term7 -> '⊥' . (rule 88)
+ Term7 -> '⊤' . (rule 88)
'(' reduce using rule 88
')' reduce using rule 88
@@ -3093,6 +3037,66 @@ State 74
%eof reduce using rule 88
+State 74
+
+ Term7 -> '⊥' . (rule 89)
+
+ '(' reduce using rule 89
+ ')' reduce using rule 89
+ '*' reduce using rule 89
+ '*_1' reduce using rule 89
+ '*₁' reduce using rule 89
+ ',' reduce using rule 89
+ '->' reduce using rule 89
+ '/\\' reduce using rule 89
+ '0_2' reduce using rule 89
+ '0₂' reduce using rule 89
+ '1' reduce using rule 89
+ '1_2' reduce using rule 89
+ '1₂' reduce using rule 89
+ '2' reduce using rule 89
+ ':' reduce using rule 89
+ ':=' reduce using rule 89
+ ';' reduce using rule 89
+ '<' reduce using rule 89
+ '<=' reduce using rule 89
+ '=' reduce using rule 89
+ '===' reduce using rule 89
+ '=_{' reduce using rule 89
+ '>' reduce using rule 89
+ 'BOT' reduce using rule 89
+ 'CUBE' reduce using rule 89
+ 'TOP' reduce using rule 89
+ 'TOPE' reduce using rule 89
+ 'U' reduce using rule 89
+ 'Unit' reduce using rule 89
+ '[' reduce using rule 89
+ '\\/' reduce using rule 89
+ ']' reduce using rule 89
+ 'as' reduce using rule 89
+ 'idJ' reduce using rule 89
+ 'recBOT' reduce using rule 89
+ 'recOR' reduce using rule 89
+ 'refl' reduce using rule 89
+ 'refl_{' reduce using rule 89
+ 'unit' reduce using rule 89
+ '|' reduce using rule 89
+ '|->' reduce using rule 89
+ '}' reduce using rule 89
+ '×' reduce using rule 89
+ '→' reduce using rule 89
+ '↦' reduce using rule 89
+ '∧' reduce using rule 89
+ '∨' reduce using rule 89
+ '≡' reduce using rule 89
+ '≤' reduce using rule 89
+ '⊤' reduce using rule 89
+ '⊥' reduce using rule 89
+ L_VarIdentTokenreduce using rule 89
+ L_HoleIdentTokenreduce using rule 89
+ %eof reduce using rule 89
+
+
State 75
VarIdentToken -> L_VarIdentToken . (rule 27)
@@ -3225,8 +3229,8 @@ State 77
State 78
%start_pTerm6_internal -> Term6 . (rule 23)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 133)
- Term6 -> Term6 . Term7 (rule 134)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 134)
+ Term6 -> Term6 . Term7 (rule 135)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -3244,7 +3248,7 @@ State 78
'TOPE' shift, and enter state 56
'U' shift, and enter state 57
'Unit' shift, and enter state 58
- '[' shift, and enter state 161
+ '[' shift, and enter state 163
'idJ' shift, and enter state 61
'recBOT' shift, and enter state 62
'recOR' shift, and enter state 63
@@ -3261,12 +3265,12 @@ State 78
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- Term7 goto state 160
+ Term7 goto state 162
State 79
- Term7 -> '(' . Term ',' Term ')' (rule 94)
- Term7 -> '(' . Term ')' (rule 102)
+ Term7 -> '(' . Term ',' Term ')' (rule 95)
+ Term7 -> '(' . Term ')' (rule 103)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -3316,28 +3320,28 @@ State 79
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 169
+ Term goto state 171
State 80
- Term1 -> Term2 . '=_{' Term '}' Term2 (rule 125)
- Term1 -> Term2 . '=' Term2 (rule 126)
- Term1 -> Term2 . (rule 128)
+ Term1 -> Term2 . '=_{' Term '}' Term2 (rule 126)
+ Term1 -> Term2 . '=' Term2 (rule 127)
+ Term1 -> Term2 . (rule 129)
- ')' reduce using rule 128
- ',' reduce using rule 128
- ':' reduce using rule 128
- ':=' reduce using rule 128
- ';' reduce using rule 128
- '=' shift, and enter state 167
- '=_{' shift, and enter state 168
- '>' reduce using rule 128
- ']' reduce using rule 128
- '|' reduce using rule 128
- '|->' reduce using rule 128
- '}' reduce using rule 128
- '↦' reduce using rule 128
- %eof reduce using rule 128
+ ')' reduce using rule 129
+ ',' reduce using rule 129
+ ':' reduce using rule 129
+ ':=' reduce using rule 129
+ ';' reduce using rule 129
+ '=' shift, and enter state 169
+ '=_{' shift, and enter state 170
+ '>' reduce using rule 129
+ ']' reduce using rule 129
+ '|' reduce using rule 129
+ '|->' reduce using rule 129
+ '}' reduce using rule 129
+ '↦' reduce using rule 129
+ %eof reduce using rule 129
State 81
@@ -3356,68 +3360,68 @@ State 82
State 83
- Term5 -> Term6 . (rule 110)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 133)
- Term6 -> Term6 . Term7 (rule 134)
+ Term5 -> Term6 . (rule 111)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 134)
+ Term6 -> Term6 . Term7 (rule 135)
'(' shift, and enter state 79
- ')' reduce using rule 110
- '*' reduce using rule 110
+ ')' reduce using rule 111
+ '*' reduce using rule 111
'*_1' shift, and enter state 43
'*₁' shift, and enter state 44
- ',' reduce using rule 110
- '/\\' reduce using rule 110
+ ',' reduce using rule 111
+ '/\\' reduce using rule 111
'0_2' shift, and enter state 45
'0₂' shift, and enter state 46
'1' shift, and enter state 47
'1_2' shift, and enter state 48
'1₂' shift, and enter state 49
'2' shift, and enter state 50
- ':' reduce using rule 110
- ':=' reduce using rule 110
- ';' reduce using rule 110
+ ':' reduce using rule 111
+ ':=' reduce using rule 111
+ ';' reduce using rule 111
'<' shift, and enter state 51
- '<=' reduce using rule 110
- '=' reduce using rule 110
- '===' reduce using rule 110
- '=_{' reduce using rule 110
- '>' reduce using rule 110
+ '<=' reduce using rule 111
+ '=' reduce using rule 111
+ '===' reduce using rule 111
+ '=_{' reduce using rule 111
+ '>' reduce using rule 111
'BOT' shift, and enter state 52
'CUBE' shift, and enter state 53
'TOP' shift, and enter state 55
'TOPE' shift, and enter state 56
'U' shift, and enter state 57
'Unit' shift, and enter state 58
- '[' shift, and enter state 161
- '\\/' reduce using rule 110
- ']' reduce using rule 110
- 'as' reduce using rule 110
+ '[' shift, and enter state 163
+ '\\/' reduce using rule 111
+ ']' reduce using rule 111
+ 'as' reduce using rule 111
'idJ' shift, and enter state 61
'recBOT' shift, and enter state 62
'recOR' shift, and enter state 63
'refl' shift, and enter state 64
'refl_{' shift, and enter state 65
'unit' shift, and enter state 67
- '|' reduce using rule 110
- '|->' reduce using rule 110
- '}' reduce using rule 110
- '×' reduce using rule 110
- '↦' reduce using rule 110
- '∧' reduce using rule 110
- '∨' reduce using rule 110
- '≡' reduce using rule 110
- '≤' reduce using rule 110
+ '|' reduce using rule 111
+ '|->' reduce using rule 111
+ '}' reduce using rule 111
+ '×' reduce using rule 111
+ '↦' reduce using rule 111
+ '∧' reduce using rule 111
+ '∨' reduce using rule 111
+ '≡' reduce using rule 111
+ '≤' reduce using rule 111
'⊤' shift, and enter state 73
'⊥' shift, and enter state 74
L_VarIdentTokenshift, and enter state 75
L_HoleIdentTokenshift, and enter state 76
- %eof reduce using rule 110
+ %eof reduce using rule 111
VarIdentToken goto state 28
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- Term7 goto state 160
+ Term7 goto state 162
State 84
@@ -3436,11 +3440,11 @@ State 85
State 86
%start_pTerm5_internal -> Term5 . (rule 18)
- Term5 -> Term5 . '×' Term6 (rule 109)
- Term5 -> Term5 . '*' Term6 (rule 111)
+ Term5 -> Term5 . '×' Term6 (rule 110)
+ Term5 -> Term5 . '*' Term6 (rule 112)
- '*' shift, and enter state 165
- '×' shift, and enter state 166
+ '*' shift, and enter state 167
+ '×' shift, and enter state 168
%eof accept
@@ -3453,13 +3457,13 @@ State 87
State 88
- ListRestriction -> Restriction . (rule 77)
- ListRestriction -> Restriction . ',' ListRestriction (rule 78)
+ ListRestriction -> Restriction . (rule 78)
+ ListRestriction -> Restriction . ',' ListRestriction (rule 79)
- ')' reduce using rule 77
- ',' shift, and enter state 164
- ']' reduce using rule 77
- %eof reduce using rule 77
+ ')' reduce using rule 78
+ ',' shift, and enter state 166
+ ']' reduce using rule 78
+ %eof reduce using rule 78
State 89
@@ -3471,11 +3475,11 @@ State 89
State 90
- Restriction -> Term . '↦' Term (rule 75)
- Restriction -> Term . '|->' Term (rule 76)
+ Restriction -> Term . '↦' Term (rule 76)
+ Restriction -> Term . '|->' Term (rule 77)
- '|->' shift, and enter state 162
- '↦' shift, and enter state 163
+ '|->' shift, and enter state 164
+ '↦' shift, and enter state 165
State 91
@@ -3494,14 +3498,14 @@ State 92
State 93
- ParamDecl -> Term6 . (rule 69)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 133)
- Term6 -> Term6 . Term7 (rule 134)
+ ParamDecl -> Term6 . (rule 70)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 134)
+ Term6 -> Term6 . Term7 (rule 135)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
'*₁' shift, and enter state 44
- '->' reduce using rule 69
+ '->' reduce using rule 70
'0_2' shift, and enter state 45
'0₂' shift, and enter state 46
'1' shift, and enter state 47
@@ -3515,75 +3519,75 @@ State 93
'TOPE' shift, and enter state 56
'U' shift, and enter state 57
'Unit' shift, and enter state 58
- '[' shift, and enter state 161
+ '[' shift, and enter state 163
'idJ' shift, and enter state 61
'recBOT' shift, and enter state 62
'recOR' shift, and enter state 63
'refl' shift, and enter state 64
'refl_{' shift, and enter state 65
'unit' shift, and enter state 67
- '→' reduce using rule 69
+ '→' reduce using rule 70
'⊤' shift, and enter state 73
'⊥' shift, and enter state 74
L_VarIdentTokenshift, and enter state 75
L_HoleIdentTokenshift, and enter state 76
- %eof reduce using rule 69
+ %eof reduce using rule 70
VarIdentToken goto state 28
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- Term7 goto state 160
+ Term7 goto state 162
State 94
- Pattern -> VarIdent . (rule 59)
+ Pattern -> VarIdent . (rule 60)
- '(' reduce using rule 59
- ')' reduce using rule 59
- ',' reduce using rule 59
- '->' reduce using rule 59
- ':' reduce using rule 59
- 'unit' reduce using rule 59
- '{' reduce using rule 59
- '→' reduce using rule 59
- L_VarIdentTokenreduce using rule 59
- %eof reduce using rule 59
+ '(' reduce using rule 60
+ ')' reduce using rule 60
+ ',' reduce using rule 60
+ '->' reduce using rule 60
+ ':' reduce using rule 60
+ 'unit' reduce using rule 60
+ '{' reduce using rule 60
+ '→' reduce using rule 60
+ L_VarIdentTokenreduce using rule 60
+ %eof reduce using rule 60
State 95
- Param -> Pattern . (rule 63)
+ Param -> Pattern . (rule 64)
- '(' reduce using rule 63
- '->' reduce using rule 63
- ':' reduce using rule 63
- 'unit' reduce using rule 63
- '{' reduce using rule 63
- '→' reduce using rule 63
- L_VarIdentTokenreduce using rule 63
- %eof reduce using rule 63
+ '(' reduce using rule 64
+ '->' reduce using rule 64
+ ':' reduce using rule 64
+ 'unit' reduce using rule 64
+ '{' reduce using rule 64
+ '→' reduce using rule 64
+ L_VarIdentTokenreduce using rule 64
+ %eof reduce using rule 64
State 96
- ListParam -> Param . (rule 67)
- ListParam -> Param . ListParam (rule 68)
+ ListParam -> Param . (rule 68)
+ ListParam -> Param . ListParam (rule 69)
'(' shift, and enter state 98
- '->' reduce using rule 67
- ':' reduce using rule 67
+ '->' reduce using rule 68
+ ':' reduce using rule 68
'unit' shift, and enter state 99
'{' shift, and enter state 100
- '→' reduce using rule 67
+ '→' reduce using rule 68
L_VarIdentTokenshift, and enter state 75
- %eof reduce using rule 67
+ %eof reduce using rule 68
VarIdentToken goto state 28
VarIdent goto state 94
Pattern goto state 95
Param goto state 96
- ListParam goto state 159
+ ListParam goto state 161
State 97
@@ -3594,9 +3598,9 @@ State 97
State 98
- Pattern -> '(' . Pattern ',' Pattern ')' (rule 60)
- Param -> '(' . ListPattern ':' Term ')' (rule 64)
- Param -> '(' . ListPattern ':' Term '|' Term ')' (rule 65)
+ Pattern -> '(' . Pattern ',' Pattern ')' (rule 61)
+ Param -> '(' . ListPattern ':' Term ')' (rule 65)
+ Param -> '(' . ListPattern ':' Term '|' Term ')' (rule 66)
'(' shift, and enter state 104
'unit' shift, and enter state 99
@@ -3604,28 +3608,28 @@ State 98
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 157
- ListPattern goto state 158
+ Pattern goto state 159
+ ListPattern goto state 160
State 99
- Pattern -> 'unit' . (rule 58)
-
- '(' reduce using rule 58
- ')' reduce using rule 58
- ',' reduce using rule 58
- '->' reduce using rule 58
- ':' reduce using rule 58
- 'unit' reduce using rule 58
- '{' reduce using rule 58
- '→' reduce using rule 58
- L_VarIdentTokenreduce using rule 58
- %eof reduce using rule 58
+ Pattern -> 'unit' . (rule 59)
+
+ '(' reduce using rule 59
+ ')' reduce using rule 59
+ ',' reduce using rule 59
+ '->' reduce using rule 59
+ ':' reduce using rule 59
+ 'unit' reduce using rule 59
+ '{' reduce using rule 59
+ '→' reduce using rule 59
+ L_VarIdentTokenreduce using rule 59
+ %eof reduce using rule 59
State 100
- Param -> '{' . Pattern ':' Term '|' Term '}' (rule 66)
+ Param -> '{' . Pattern ':' Term '|' Term '}' (rule 67)
'(' shift, and enter state 104
'unit' shift, and enter state 99
@@ -3633,7 +3637,7 @@ State 100
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 156
+ Pattern goto state 158
State 101
@@ -3644,19 +3648,19 @@ State 101
State 102
- ListPattern -> Pattern . (rule 61)
- ListPattern -> Pattern . ListPattern (rule 62)
+ ListPattern -> Pattern . (rule 62)
+ ListPattern -> Pattern . ListPattern (rule 63)
'(' shift, and enter state 104
- ':' reduce using rule 61
+ ':' reduce using rule 62
'unit' shift, and enter state 99
L_VarIdentTokenshift, and enter state 75
- %eof reduce using rule 61
+ %eof reduce using rule 62
VarIdentToken goto state 28
VarIdent goto state 94
Pattern goto state 102
- ListPattern goto state 155
+ ListPattern goto state 157
State 103
@@ -3667,7 +3671,7 @@ State 103
State 104
- Pattern -> '(' . Pattern ',' Pattern ')' (rule 60)
+ Pattern -> '(' . Pattern ',' Pattern ')' (rule 61)
'(' shift, and enter state 104
'unit' shift, and enter state 99
@@ -3675,7 +3679,7 @@ State 104
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 154
+ Pattern goto state 156
State 105
@@ -3686,10 +3690,10 @@ State 105
State 106
- SectionName -> VarIdent . (rule 57)
+ SectionName -> VarIdent . (rule 58)
- ';' reduce using rule 57
- %eof reduce using rule 57
+ ';' reduce using rule 58
+ %eof reduce using rule 58
State 107
@@ -3708,16 +3712,16 @@ State 108
State 109
- DeclUsedVars -> 'uses' . '(' ListVarIdent ')' (rule 54)
+ DeclUsedVars -> 'uses' . '(' ListVarIdent ')' (rule 55)
- '(' shift, and enter state 153
+ '(' shift, and enter state 155
State 110
- ListCommand -> Command . ';' ListCommand (rule 53)
+ ListCommand -> Command . ';' ListCommand (rule 54)
- ';' shift, and enter state 152
+ ';' shift, and enter state 154
State 111
@@ -3729,17 +3733,17 @@ State 111
State 112
- Command -> '#assume' . ListVarIdent ':' Term (rule 44)
+ Command -> '#assume' . ListVarIdent ':' Term (rule 45)
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 130
- ListVarIdent goto state 151
+ VarIdent goto state 131
+ ListVarIdent goto state 153
State 113
- Command -> '#check' . Term ':' Term (rule 38)
+ Command -> '#check' . Term ':' Term (rule 39)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -3789,11 +3793,11 @@ State 113
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 150
+ Term goto state 152
State 114
- Command -> '#compute' . Term (rule 39)
+ Command -> '#compute' . Term (rule 40)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -3843,11 +3847,11 @@ State 114
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 149
+ Term goto state 151
State 115
- Command -> '#compute-nf' . Term (rule 41)
+ Command -> '#compute-nf' . Term (rule 42)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -3897,11 +3901,11 @@ State 115
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 148
+ Term goto state 150
State 116
- Command -> '#compute-whnf' . Term (rule 40)
+ Command -> '#compute-whnf' . Term (rule 41)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -3951,99 +3955,107 @@ State 116
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 147
+ Term goto state 149
State 117
- Command -> '#def' . VarIdent DeclUsedVars ListParam ':' Term ':=' Term (rule 50)
- Command -> '#def' . VarIdent DeclUsedVars ':' Term ':=' Term (rule 51)
+ Command -> '#def' . VarIdent DeclUsedVars ListParam ':' Term ':=' Term (rule 51)
+ Command -> '#def' . VarIdent DeclUsedVars ':' Term ':=' Term (rule 52)
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 146
+ VarIdent goto state 148
State 118
- Command -> '#define' . VarIdent DeclUsedVars ListParam ':' Term ':=' Term (rule 48)
- Command -> '#define' . VarIdent DeclUsedVars ':' Term ':=' Term (rule 49)
+ Command -> '#define' . VarIdent DeclUsedVars ListParam ':' Term ':=' Term (rule 49)
+ Command -> '#define' . VarIdent DeclUsedVars ':' Term ':=' Term (rule 50)
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 145
+ VarIdent goto state 147
State 119
- Command -> '#postulate' . VarIdent DeclUsedVars ListParam ':' Term (rule 42)
- Command -> '#postulate' . VarIdent DeclUsedVars ':' Term (rule 43)
+ Command -> '#postulate' . VarIdent DeclUsedVars ListParam ':' Term (rule 43)
+ Command -> '#postulate' . VarIdent DeclUsedVars ':' Term (rule 44)
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 144
+ VarIdent goto state 146
State 120
- Command -> '#section' . SectionName ';' ListCommand '#end' SectionName (rule 47)
+ Command -> '#require-file' . String (rule 36)
+
+ L_quoted shift, and enter state 27
+
+ String goto state 145
- ';' reduce using rule 56
+State 121
+
+ Command -> '#section' . SectionName ';' ListCommand '#end' SectionName (rule 48)
+
+ ';' reduce using rule 57
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
VarIdent goto state 106
- SectionName goto state 143
+ SectionName goto state 144
-State 121
+State 122
- Command -> '#set-option' . String '=' String (rule 36)
+ Command -> '#set-option' . String '=' String (rule 37)
L_quoted shift, and enter state 27
- String goto state 142
+ String goto state 143
-State 122
+State 123
- Command -> '#unset-option' . String (rule 37)
+ Command -> '#unset-option' . String (rule 38)
L_quoted shift, and enter state 27
- String goto state 141
+ String goto state 142
-State 123
+State 124
- Command -> '#variable' . VarIdent ':' Term (rule 45)
+ Command -> '#variable' . VarIdent ':' Term (rule 46)
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 140
+ VarIdent goto state 141
-State 124
+State 125
- Command -> '#variables' . ListVarIdent ':' Term (rule 46)
+ Command -> '#variables' . ListVarIdent ':' Term (rule 47)
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 130
- ListVarIdent goto state 139
+ VarIdent goto state 131
+ ListVarIdent goto state 140
-State 125
+State 126
%start_pCommand_internal -> Command . (rule 6)
%eof accept
-State 126
+State 127
%start_pLanguage_internal -> Language . (rule 5)
%eof accept
-State 127
+State 128
Language -> 'rzk-1' . (rule 35)
@@ -4051,22 +4063,22 @@ State 127
%eof reduce using rule 35
-State 128
+State 129
%start_pLanguageDecl_internal -> LanguageDecl . (rule 4)
%eof accept
-State 129
+State 130
LanguageDecl -> '#lang' . Language ';' (rule 34)
- 'rzk-1' shift, and enter state 127
+ 'rzk-1' shift, and enter state 128
- Language goto state 138
+ Language goto state 139
-State 130
+State 131
ListVarIdent -> VarIdent . (rule 32)
ListVarIdent -> VarIdent . ListVarIdent (rule 33)
@@ -4077,38 +4089,38 @@ State 130
%eof reduce using rule 32
VarIdentToken goto state 28
- VarIdent goto state 130
- ListVarIdent goto state 137
+ VarIdent goto state 131
+ ListVarIdent goto state 138
-State 131
+State 132
%start_pListVarIdent_internal -> ListVarIdent . (rule 3)
%eof accept
-State 132
+State 133
%start_pVarIdent_internal -> VarIdent . (rule 2)
%eof accept
-State 133
+State 134
%start_pHoleIdent_internal -> HoleIdent . (rule 1)
%eof accept
-State 134
+State 135
%start_pModule_internal -> Module . (rule 0)
%eof accept
-State 135
+State 136
Module -> LanguageDecl . ListCommand (rule 29)
@@ -4120,24 +4132,25 @@ State 135
'#def' shift, and enter state 117
'#define' shift, and enter state 118
'#postulate' shift, and enter state 119
- '#section' shift, and enter state 120
- '#set-option' shift, and enter state 121
- '#unset-option'shift, and enter state 122
- '#variable' shift, and enter state 123
- '#variables' shift, and enter state 124
- %eof reduce using rule 52
+ '#require-file'shift, and enter state 120
+ '#section' shift, and enter state 121
+ '#set-option' shift, and enter state 122
+ '#unset-option'shift, and enter state 123
+ '#variable' shift, and enter state 124
+ '#variables' shift, and enter state 125
+ %eof reduce using rule 53
Command goto state 110
- ListCommand goto state 136
+ ListCommand goto state 137
-State 136
+State 137
Module -> LanguageDecl ListCommand . (rule 29)
%eof reduce using rule 29
-State 137
+State 138
ListVarIdent -> VarIdent ListVarIdent . (rule 33)
@@ -4146,132 +4159,140 @@ State 137
%eof reduce using rule 33
-State 138
-
- LanguageDecl -> '#lang' Language . ';' (rule 34)
-
- ';' shift, and enter state 248
-
-
State 139
- Command -> '#variables' ListVarIdent . ':' Term (rule 46)
+ LanguageDecl -> '#lang' Language . ';' (rule 34)
- ':' shift, and enter state 247
+ ';' shift, and enter state 250
State 140
- Command -> '#variable' VarIdent . ':' Term (rule 45)
+ Command -> '#variables' ListVarIdent . ':' Term (rule 47)
- ':' shift, and enter state 246
+ ':' shift, and enter state 249
State 141
- Command -> '#unset-option' String . (rule 37)
+ Command -> '#variable' VarIdent . ':' Term (rule 46)
- ';' reduce using rule 37
- %eof reduce using rule 37
+ ':' shift, and enter state 248
State 142
- Command -> '#set-option' String . '=' String (rule 36)
+ Command -> '#unset-option' String . (rule 38)
- '=' shift, and enter state 245
+ ';' reduce using rule 38
+ %eof reduce using rule 38
State 143
- Command -> '#section' SectionName . ';' ListCommand '#end' SectionName (rule 47)
+ Command -> '#set-option' String . '=' String (rule 37)
- ';' shift, and enter state 244
+ '=' shift, and enter state 247
State 144
- Command -> '#postulate' VarIdent . DeclUsedVars ListParam ':' Term (rule 42)
- Command -> '#postulate' VarIdent . DeclUsedVars ':' Term (rule 43)
+ Command -> '#section' SectionName . ';' ListCommand '#end' SectionName (rule 48)
- '(' reduce using rule 55
- ':' reduce using rule 55
- 'unit' reduce using rule 55
- 'uses' shift, and enter state 109
- '{' reduce using rule 55
- L_VarIdentTokenreduce using rule 55
+ ';' shift, and enter state 246
- DeclUsedVars goto state 243
State 145
- Command -> '#define' VarIdent . DeclUsedVars ListParam ':' Term ':=' Term (rule 48)
- Command -> '#define' VarIdent . DeclUsedVars ':' Term ':=' Term (rule 49)
+ Command -> '#require-file' String . (rule 36)
- '(' reduce using rule 55
- ':' reduce using rule 55
- 'unit' reduce using rule 55
- 'uses' shift, and enter state 109
- '{' reduce using rule 55
- L_VarIdentTokenreduce using rule 55
+ ';' reduce using rule 36
+ %eof reduce using rule 36
- DeclUsedVars goto state 242
State 146
- Command -> '#def' VarIdent . DeclUsedVars ListParam ':' Term ':=' Term (rule 50)
- Command -> '#def' VarIdent . DeclUsedVars ':' Term ':=' Term (rule 51)
+ Command -> '#postulate' VarIdent . DeclUsedVars ListParam ':' Term (rule 43)
+ Command -> '#postulate' VarIdent . DeclUsedVars ':' Term (rule 44)
- '(' reduce using rule 55
- ':' reduce using rule 55
- 'unit' reduce using rule 55
+ '(' reduce using rule 56
+ ':' reduce using rule 56
+ 'unit' reduce using rule 56
'uses' shift, and enter state 109
- '{' reduce using rule 55
- L_VarIdentTokenreduce using rule 55
+ '{' reduce using rule 56
+ L_VarIdentTokenreduce using rule 56
- DeclUsedVars goto state 241
+ DeclUsedVars goto state 245
State 147
- Command -> '#compute-whnf' Term . (rule 40)
+ Command -> '#define' VarIdent . DeclUsedVars ListParam ':' Term ':=' Term (rule 49)
+ Command -> '#define' VarIdent . DeclUsedVars ':' Term ':=' Term (rule 50)
- ';' reduce using rule 40
- %eof reduce using rule 40
+ '(' reduce using rule 56
+ ':' reduce using rule 56
+ 'unit' reduce using rule 56
+ 'uses' shift, and enter state 109
+ '{' reduce using rule 56
+ L_VarIdentTokenreduce using rule 56
+ DeclUsedVars goto state 244
State 148
- Command -> '#compute-nf' Term . (rule 41)
+ Command -> '#def' VarIdent . DeclUsedVars ListParam ':' Term ':=' Term (rule 51)
+ Command -> '#def' VarIdent . DeclUsedVars ':' Term ':=' Term (rule 52)
- ';' reduce using rule 41
- %eof reduce using rule 41
+ '(' reduce using rule 56
+ ':' reduce using rule 56
+ 'unit' reduce using rule 56
+ 'uses' shift, and enter state 109
+ '{' reduce using rule 56
+ L_VarIdentTokenreduce using rule 56
+ DeclUsedVars goto state 243
State 149
- Command -> '#compute' Term . (rule 39)
+ Command -> '#compute-whnf' Term . (rule 41)
- ';' reduce using rule 39
- %eof reduce using rule 39
+ ';' reduce using rule 41
+ %eof reduce using rule 41
State 150
- Command -> '#check' Term . ':' Term (rule 38)
+ Command -> '#compute-nf' Term . (rule 42)
- ':' shift, and enter state 240
+ ';' reduce using rule 42
+ %eof reduce using rule 42
State 151
- Command -> '#assume' ListVarIdent . ':' Term (rule 44)
+ Command -> '#compute' Term . (rule 40)
- ':' shift, and enter state 239
+ ';' reduce using rule 40
+ %eof reduce using rule 40
State 152
- ListCommand -> Command ';' . ListCommand (rule 53)
+ Command -> '#check' Term . ':' Term (rule 39)
+
+ ':' shift, and enter state 242
+
+
+State 153
+
+ Command -> '#assume' ListVarIdent . ':' Term (rule 45)
+
+ ':' shift, and enter state 241
+
+
+State 154
+
+ ListCommand -> Command ';' . ListCommand (rule 54)
'#assume' shift, and enter state 112
'#check' shift, and enter state 113
@@ -4280,148 +4301,149 @@ State 152
'#compute-whnf'shift, and enter state 116
'#def' shift, and enter state 117
'#define' shift, and enter state 118
- '#end' reduce using rule 52
+ '#end' reduce using rule 53
'#postulate' shift, and enter state 119
- '#section' shift, and enter state 120
- '#set-option' shift, and enter state 121
- '#unset-option'shift, and enter state 122
- '#variable' shift, and enter state 123
- '#variables' shift, and enter state 124
- %eof reduce using rule 52
+ '#require-file'shift, and enter state 120
+ '#section' shift, and enter state 121
+ '#set-option' shift, and enter state 122
+ '#unset-option'shift, and enter state 123
+ '#variable' shift, and enter state 124
+ '#variables' shift, and enter state 125
+ %eof reduce using rule 53
Command goto state 110
- ListCommand goto state 238
+ ListCommand goto state 240
-State 153
+State 155
- DeclUsedVars -> 'uses' '(' . ListVarIdent ')' (rule 54)
+ DeclUsedVars -> 'uses' '(' . ListVarIdent ')' (rule 55)
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
- VarIdent goto state 130
- ListVarIdent goto state 237
+ VarIdent goto state 131
+ ListVarIdent goto state 239
-State 154
+State 156
- Pattern -> '(' Pattern . ',' Pattern ')' (rule 60)
+ Pattern -> '(' Pattern . ',' Pattern ')' (rule 61)
- ',' shift, and enter state 235
+ ',' shift, and enter state 237
-State 155
+State 157
- ListPattern -> Pattern ListPattern . (rule 62)
+ ListPattern -> Pattern ListPattern . (rule 63)
- ':' reduce using rule 62
- %eof reduce using rule 62
+ ':' reduce using rule 63
+ %eof reduce using rule 63
-State 156
+State 158
- Param -> '{' Pattern . ':' Term '|' Term '}' (rule 66)
+ Param -> '{' Pattern . ':' Term '|' Term '}' (rule 67)
- ':' shift, and enter state 236
+ ':' shift, and enter state 238
-State 157
+State 159
- Pattern -> '(' Pattern . ',' Pattern ')' (rule 60)
- ListPattern -> Pattern . (rule 61)
- ListPattern -> Pattern . ListPattern (rule 62)
+ Pattern -> '(' Pattern . ',' Pattern ')' (rule 61)
+ ListPattern -> Pattern . (rule 62)
+ ListPattern -> Pattern . ListPattern (rule 63)
'(' shift, and enter state 104
- ',' shift, and enter state 235
- ':' reduce using rule 61
+ ',' shift, and enter state 237
+ ':' reduce using rule 62
'unit' shift, and enter state 99
L_VarIdentTokenshift, and enter state 75
VarIdentToken goto state 28
VarIdent goto state 94
Pattern goto state 102
- ListPattern goto state 155
+ ListPattern goto state 157
-State 158
+State 160
- Param -> '(' ListPattern . ':' Term ')' (rule 64)
- Param -> '(' ListPattern . ':' Term '|' Term ')' (rule 65)
+ Param -> '(' ListPattern . ':' Term ')' (rule 65)
+ Param -> '(' ListPattern . ':' Term '|' Term ')' (rule 66)
- ':' shift, and enter state 234
+ ':' shift, and enter state 236
-State 159
+State 161
- ListParam -> Param ListParam . (rule 68)
+ ListParam -> Param ListParam . (rule 69)
- '->' reduce using rule 68
- ':' reduce using rule 68
- '→' reduce using rule 68
- %eof reduce using rule 68
+ '->' reduce using rule 69
+ ':' reduce using rule 69
+ '→' reduce using rule 69
+ %eof reduce using rule 69
-State 160
+State 162
- Term6 -> Term6 Term7 . (rule 134)
+ Term6 -> Term6 Term7 . (rule 135)
- '(' reduce using rule 134
- ')' reduce using rule 134
- '*' reduce using rule 134
- '*_1' reduce using rule 134
- '*₁' reduce using rule 134
- ',' reduce using rule 134
- '->' reduce using rule 134
- '/\\' reduce using rule 134
- '0_2' reduce using rule 134
- '0₂' reduce using rule 134
- '1' reduce using rule 134
- '1_2' reduce using rule 134
- '1₂' reduce using rule 134
- '2' reduce using rule 134
- ':' reduce using rule 134
- ':=' reduce using rule 134
- ';' reduce using rule 134
- '<' reduce using rule 134
- '<=' reduce using rule 134
- '=' reduce using rule 134
- '===' reduce using rule 134
- '=_{' reduce using rule 134
- '>' reduce using rule 134
- 'BOT' reduce using rule 134
- 'CUBE' reduce using rule 134
- 'TOP' reduce using rule 134
- 'TOPE' reduce using rule 134
- 'U' reduce using rule 134
- 'Unit' reduce using rule 134
- '[' reduce using rule 134
- '\\/' reduce using rule 134
- ']' reduce using rule 134
- 'as' reduce using rule 134
- 'idJ' reduce using rule 134
- 'recBOT' reduce using rule 134
- 'recOR' reduce using rule 134
- 'refl' reduce using rule 134
- 'refl_{' reduce using rule 134
- 'unit' reduce using rule 134
- '|' reduce using rule 134
- '|->' reduce using rule 134
- '}' reduce using rule 134
- '×' reduce using rule 134
- '→' reduce using rule 134
- '↦' reduce using rule 134
- '∧' reduce using rule 134
- '∨' reduce using rule 134
- '≡' reduce using rule 134
- '≤' reduce using rule 134
- '⊤' reduce using rule 134
- '⊥' reduce using rule 134
- L_VarIdentTokenreduce using rule 134
- L_HoleIdentTokenreduce using rule 134
- %eof reduce using rule 134
+ '(' reduce using rule 135
+ ')' reduce using rule 135
+ '*' reduce using rule 135
+ '*_1' reduce using rule 135
+ '*₁' reduce using rule 135
+ ',' reduce using rule 135
+ '->' reduce using rule 135
+ '/\\' reduce using rule 135
+ '0_2' reduce using rule 135
+ '0₂' reduce using rule 135
+ '1' reduce using rule 135
+ '1_2' reduce using rule 135
+ '1₂' reduce using rule 135
+ '2' reduce using rule 135
+ ':' reduce using rule 135
+ ':=' reduce using rule 135
+ ';' reduce using rule 135
+ '<' reduce using rule 135
+ '<=' reduce using rule 135
+ '=' reduce using rule 135
+ '===' reduce using rule 135
+ '=_{' reduce using rule 135
+ '>' reduce using rule 135
+ 'BOT' reduce using rule 135
+ 'CUBE' reduce using rule 135
+ 'TOP' reduce using rule 135
+ 'TOPE' reduce using rule 135
+ 'U' reduce using rule 135
+ 'Unit' reduce using rule 135
+ '[' reduce using rule 135
+ '\\/' reduce using rule 135
+ ']' reduce using rule 135
+ 'as' reduce using rule 135
+ 'idJ' reduce using rule 135
+ 'recBOT' reduce using rule 135
+ 'recOR' reduce using rule 135
+ 'refl' reduce using rule 135
+ 'refl_{' reduce using rule 135
+ 'unit' reduce using rule 135
+ '|' reduce using rule 135
+ '|->' reduce using rule 135
+ '}' reduce using rule 135
+ '×' reduce using rule 135
+ '→' reduce using rule 135
+ '↦' reduce using rule 135
+ '∧' reduce using rule 135
+ '∨' reduce using rule 135
+ '≡' reduce using rule 135
+ '≤' reduce using rule 135
+ '⊤' reduce using rule 135
+ '⊥' reduce using rule 135
+ L_VarIdentTokenreduce using rule 135
+ L_HoleIdentTokenreduce using rule 135
+ %eof reduce using rule 135
-State 161
+State 163
- Term6 -> Term6 '[' . ListRestriction ']' (rule 133)
+ Term6 -> Term6 '[' . ListRestriction ']' (rule 134)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -4465,7 +4487,7 @@ State 161
VarIdent goto state 31
ParamDecl goto state 32
Restriction goto state 88
- ListRestrictiongoto state 233
+ ListRestrictiongoto state 235
Term7 goto state 33
Term5 goto state 34
Term4 goto state 35
@@ -4475,9 +4497,9 @@ State 161
Term6 goto state 39
Term goto state 90
-State 162
+State 164
- Restriction -> Term '|->' . Term (rule 76)
+ Restriction -> Term '|->' . Term (rule 77)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -4527,11 +4549,11 @@ State 162
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 232
+ Term goto state 234
-State 163
+State 165
- Restriction -> Term '↦' . Term (rule 75)
+ Restriction -> Term '↦' . Term (rule 76)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -4581,11 +4603,11 @@ State 163
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 231
+ Term goto state 233
-State 164
+State 166
- ListRestriction -> Restriction ',' . ListRestriction (rule 78)
+ ListRestriction -> Restriction ',' . ListRestriction (rule 79)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -4629,7 +4651,7 @@ State 164
VarIdent goto state 31
ParamDecl goto state 32
Restriction goto state 88
- ListRestrictiongoto state 230
+ ListRestrictiongoto state 232
Term7 goto state 33
Term5 goto state 34
Term4 goto state 35
@@ -4639,9 +4661,9 @@ State 164
Term6 goto state 39
Term goto state 90
-State 165
+State 167
- Term5 -> Term5 '*' . Term6 (rule 111)
+ Term5 -> Term5 '*' . Term6 (rule 112)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -4679,11 +4701,11 @@ State 165
HoleIdent goto state 30
VarIdent goto state 31
Term7 goto state 33
- Term6 goto state 229
+ Term6 goto state 231
-State 166
+State 168
- Term5 -> Term5 '×' . Term6 (rule 109)
+ Term5 -> Term5 '×' . Term6 (rule 110)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -4721,11 +4743,11 @@ State 166
HoleIdent goto state 30
VarIdent goto state 31
Term7 goto state 33
- Term6 goto state 228
+ Term6 goto state 230
-State 167
+State 169
- Term1 -> Term2 '=' . Term2 (rule 126)
+ Term1 -> Term2 '=' . Term2 (rule 127)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -4766,12 +4788,12 @@ State 167
Term5 goto state 34
Term4 goto state 35
Term3 goto state 36
- Term2 goto state 227
+ Term2 goto state 229
Term6 goto state 83
-State 168
+State 170
- Term1 -> Term2 '=_{' . Term '}' Term2 (rule 125)
+ Term1 -> Term2 '=_{' . Term '}' Term2 (rule 126)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -4821,20 +4843,20 @@ State 168
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 226
+ Term goto state 228
-State 169
+State 171
- Term7 -> '(' Term . ',' Term ')' (rule 94)
- Term7 -> '(' Term . ')' (rule 102)
+ Term7 -> '(' Term . ',' Term ')' (rule 95)
+ Term7 -> '(' Term . ')' (rule 103)
- ')' shift, and enter state 209
- ',' shift, and enter state 210
+ ')' shift, and enter state 211
+ ',' shift, and enter state 212
-State 170
+State 172
- Term1 -> '∑' '(' . Pattern ':' Term ')' ',' Term1 (rule 132)
+ Term1 -> '∑' '(' . Pattern ':' Term ')' ',' Term1 (rule 133)
'(' shift, and enter state 104
'unit' shift, and enter state 99
@@ -4842,11 +4864,71 @@ State 170
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 225
+ Pattern goto state 227
-State 171
+State 173
+
+ Term6 -> 'π₂' Term7 . (rule 137)
+
+ '(' reduce using rule 137
+ ')' reduce using rule 137
+ '*' reduce using rule 137
+ '*_1' reduce using rule 137
+ '*₁' reduce using rule 137
+ ',' reduce using rule 137
+ '->' reduce using rule 137
+ '/\\' reduce using rule 137
+ '0_2' reduce using rule 137
+ '0₂' reduce using rule 137
+ '1' reduce using rule 137
+ '1_2' reduce using rule 137
+ '1₂' reduce using rule 137
+ '2' reduce using rule 137
+ ':' reduce using rule 137
+ ':=' reduce using rule 137
+ ';' reduce using rule 137
+ '<' reduce using rule 137
+ '<=' reduce using rule 137
+ '=' reduce using rule 137
+ '===' reduce using rule 137
+ '=_{' reduce using rule 137
+ '>' reduce using rule 137
+ 'BOT' reduce using rule 137
+ 'CUBE' reduce using rule 137
+ 'TOP' reduce using rule 137
+ 'TOPE' reduce using rule 137
+ 'U' reduce using rule 137
+ 'Unit' reduce using rule 137
+ '[' reduce using rule 137
+ '\\/' reduce using rule 137
+ ']' reduce using rule 137
+ 'as' reduce using rule 137
+ 'idJ' reduce using rule 137
+ 'recBOT' reduce using rule 137
+ 'recOR' reduce using rule 137
+ 'refl' reduce using rule 137
+ 'refl_{' reduce using rule 137
+ 'unit' reduce using rule 137
+ '|' reduce using rule 137
+ '|->' reduce using rule 137
+ '}' reduce using rule 137
+ '×' reduce using rule 137
+ '→' reduce using rule 137
+ '↦' reduce using rule 137
+ '∧' reduce using rule 137
+ '∨' reduce using rule 137
+ '≡' reduce using rule 137
+ '≤' reduce using rule 137
+ '⊤' reduce using rule 137
+ '⊥' reduce using rule 137
+ L_VarIdentTokenreduce using rule 137
+ L_HoleIdentTokenreduce using rule 137
+ %eof reduce using rule 137
+
+
+State 174
- Term6 -> 'π₂' Term7 . (rule 136)
+ Term6 -> 'π₁' Term7 . (rule 136)
'(' reduce using rule 136
')' reduce using rule 136
@@ -4894,79 +4976,19 @@ State 171
'→' reduce using rule 136
'↦' reduce using rule 136
'∧' reduce using rule 136
- '∨' reduce using rule 136
- '≡' reduce using rule 136
- '≤' reduce using rule 136
- '⊤' reduce using rule 136
- '⊥' reduce using rule 136
- L_VarIdentTokenreduce using rule 136
- L_HoleIdentTokenreduce using rule 136
- %eof reduce using rule 136
-
-
-State 172
-
- Term6 -> 'π₁' Term7 . (rule 135)
-
- '(' reduce using rule 135
- ')' reduce using rule 135
- '*' reduce using rule 135
- '*_1' reduce using rule 135
- '*₁' reduce using rule 135
- ',' reduce using rule 135
- '->' reduce using rule 135
- '/\\' reduce using rule 135
- '0_2' reduce using rule 135
- '0₂' reduce using rule 135
- '1' reduce using rule 135
- '1_2' reduce using rule 135
- '1₂' reduce using rule 135
- '2' reduce using rule 135
- ':' reduce using rule 135
- ':=' reduce using rule 135
- ';' reduce using rule 135
- '<' reduce using rule 135
- '<=' reduce using rule 135
- '=' reduce using rule 135
- '===' reduce using rule 135
- '=_{' reduce using rule 135
- '>' reduce using rule 135
- 'BOT' reduce using rule 135
- 'CUBE' reduce using rule 135
- 'TOP' reduce using rule 135
- 'TOPE' reduce using rule 135
- 'U' reduce using rule 135
- 'Unit' reduce using rule 135
- '[' reduce using rule 135
- '\\/' reduce using rule 135
- ']' reduce using rule 135
- 'as' reduce using rule 135
- 'idJ' reduce using rule 135
- 'recBOT' reduce using rule 135
- 'recOR' reduce using rule 135
- 'refl' reduce using rule 135
- 'refl_{' reduce using rule 135
- 'unit' reduce using rule 135
- '|' reduce using rule 135
- '|->' reduce using rule 135
- '}' reduce using rule 135
- '×' reduce using rule 135
- '→' reduce using rule 135
- '↦' reduce using rule 135
- '∧' reduce using rule 135
- '∨' reduce using rule 135
- '≡' reduce using rule 135
- '≤' reduce using rule 135
- '⊤' reduce using rule 135
- '⊥' reduce using rule 135
- L_VarIdentTokenreduce using rule 135
- L_HoleIdentTokenreduce using rule 135
- %eof reduce using rule 135
+ '∨' reduce using rule 136
+ '≡' reduce using rule 136
+ '≤' reduce using rule 136
+ '⊤' reduce using rule 136
+ '⊥' reduce using rule 136
+ L_VarIdentTokenreduce using rule 136
+ L_HoleIdentTokenreduce using rule 136
+ %eof reduce using rule 136
-State 173
+State 175
- Term1 -> 'Σ' '(' . Pattern ':' Term ')' ',' Term1 (rule 124)
+ Term1 -> 'Σ' '(' . Pattern ':' Term ')' ',' Term1 (rule 125)
'(' shift, and enter state 104
'unit' shift, and enter state 99
@@ -4974,20 +4996,20 @@ State 173
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 224
+ Pattern goto state 226
-State 174
+State 176
- ParamDecl -> '{' Pattern . ':' Term '}' (rule 72)
- ParamDecl -> '{' Pattern . ':' Term '|' Term '}' (rule 74)
+ ParamDecl -> '{' Pattern . ':' Term '}' (rule 73)
+ ParamDecl -> '{' Pattern . ':' Term '|' Term '}' (rule 75)
- ':' shift, and enter state 223
+ ':' shift, and enter state 225
-State 175
+State 177
- Pattern -> '(' . Pattern ',' Pattern ')' (rule 60)
- ParamDecl -> '{' '(' . Pattern ':' Term ')' '|' Term '}' (rule 73)
+ Pattern -> '(' . Pattern ',' Pattern ')' (rule 61)
+ ParamDecl -> '{' '(' . Pattern ':' Term ')' '|' Term '}' (rule 74)
'(' shift, and enter state 104
'unit' shift, and enter state 99
@@ -4995,81 +5017,81 @@ State 175
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 222
+ Pattern goto state 224
-State 176
+State 178
- Term6 -> 'second' Term7 . (rule 139)
+ Term6 -> 'second' Term7 . (rule 140)
- '(' reduce using rule 139
- ')' reduce using rule 139
- '*' reduce using rule 139
- '*_1' reduce using rule 139
- '*₁' reduce using rule 139
- ',' reduce using rule 139
- '->' reduce using rule 139
- '/\\' reduce using rule 139
- '0_2' reduce using rule 139
- '0₂' reduce using rule 139
- '1' reduce using rule 139
- '1_2' reduce using rule 139
- '1₂' reduce using rule 139
- '2' reduce using rule 139
- ':' reduce using rule 139
- ':=' reduce using rule 139
- ';' reduce using rule 139
- '<' reduce using rule 139
- '<=' reduce using rule 139
- '=' reduce using rule 139
- '===' reduce using rule 139
- '=_{' reduce using rule 139
- '>' reduce using rule 139
- 'BOT' reduce using rule 139
- 'CUBE' reduce using rule 139
- 'TOP' reduce using rule 139
- 'TOPE' reduce using rule 139
- 'U' reduce using rule 139
- 'Unit' reduce using rule 139
- '[' reduce using rule 139
- '\\/' reduce using rule 139
- ']' reduce using rule 139
- 'as' reduce using rule 139
- 'idJ' reduce using rule 139
- 'recBOT' reduce using rule 139
- 'recOR' reduce using rule 139
- 'refl' reduce using rule 139
- 'refl_{' reduce using rule 139
- 'unit' reduce using rule 139
- '|' reduce using rule 139
- '|->' reduce using rule 139
- '}' reduce using rule 139
- '×' reduce using rule 139
- '→' reduce using rule 139
- '↦' reduce using rule 139
- '∧' reduce using rule 139
- '∨' reduce using rule 139
- '≡' reduce using rule 139
- '≤' reduce using rule 139
- '⊤' reduce using rule 139
- '⊥' reduce using rule 139
- L_VarIdentTokenreduce using rule 139
- L_HoleIdentTokenreduce using rule 139
- %eof reduce using rule 139
+ '(' reduce using rule 140
+ ')' reduce using rule 140
+ '*' reduce using rule 140
+ '*_1' reduce using rule 140
+ '*₁' reduce using rule 140
+ ',' reduce using rule 140
+ '->' reduce using rule 140
+ '/\\' reduce using rule 140
+ '0_2' reduce using rule 140
+ '0₂' reduce using rule 140
+ '1' reduce using rule 140
+ '1_2' reduce using rule 140
+ '1₂' reduce using rule 140
+ '2' reduce using rule 140
+ ':' reduce using rule 140
+ ':=' reduce using rule 140
+ ';' reduce using rule 140
+ '<' reduce using rule 140
+ '<=' reduce using rule 140
+ '=' reduce using rule 140
+ '===' reduce using rule 140
+ '=_{' reduce using rule 140
+ '>' reduce using rule 140
+ 'BOT' reduce using rule 140
+ 'CUBE' reduce using rule 140
+ 'TOP' reduce using rule 140
+ 'TOPE' reduce using rule 140
+ 'U' reduce using rule 140
+ 'Unit' reduce using rule 140
+ '[' reduce using rule 140
+ '\\/' reduce using rule 140
+ ']' reduce using rule 140
+ 'as' reduce using rule 140
+ 'idJ' reduce using rule 140
+ 'recBOT' reduce using rule 140
+ 'recOR' reduce using rule 140
+ 'refl' reduce using rule 140
+ 'refl_{' reduce using rule 140
+ 'unit' reduce using rule 140
+ '|' reduce using rule 140
+ '|->' reduce using rule 140
+ '}' reduce using rule 140
+ '×' reduce using rule 140
+ '→' reduce using rule 140
+ '↦' reduce using rule 140
+ '∧' reduce using rule 140
+ '∨' reduce using rule 140
+ '≡' reduce using rule 140
+ '≤' reduce using rule 140
+ '⊤' reduce using rule 140
+ '⊥' reduce using rule 140
+ L_VarIdentTokenreduce using rule 140
+ L_HoleIdentTokenreduce using rule 140
+ %eof reduce using rule 140
-State 177
+State 179
- Term7 -> 'refl_{' Term . '}' (rule 97)
- Term7 -> 'refl_{' Term . ':' Term '}' (rule 98)
+ Term7 -> 'refl_{' Term . '}' (rule 98)
+ Term7 -> 'refl_{' Term . ':' Term '}' (rule 99)
- ':' shift, and enter state 220
- '}' shift, and enter state 221
+ ':' shift, and enter state 222
+ '}' shift, and enter state 223
-State 178
+State 180
- Term7 -> 'recOR' '(' . ListRestriction ')' (rule 90)
- Term7 -> 'recOR' '(' . Term ',' Term ',' Term ',' Term ')' (rule 91)
+ Term7 -> 'recOR' '(' . ListRestriction ')' (rule 91)
+ Term7 -> 'recOR' '(' . Term ',' Term ',' Term ',' Term ')' (rule 92)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -5113,7 +5135,7 @@ State 178
VarIdent goto state 31
ParamDecl goto state 32
Restriction goto state 88
- ListRestrictiongoto state 218
+ ListRestrictiongoto state 220
Term7 goto state 33
Term5 goto state 34
Term4 goto state 35
@@ -5121,11 +5143,11 @@ State 178
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 219
+ Term goto state 221
-State 179
+State 181
- Term7 -> 'idJ' '(' . Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 99)
+ Term7 -> 'idJ' '(' . Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 100)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -5175,80 +5197,80 @@ State 179
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 217
+ Term goto state 219
-State 180
+State 182
- Term6 -> 'first' Term7 . (rule 138)
+ Term6 -> 'first' Term7 . (rule 139)
- '(' reduce using rule 138
- ')' reduce using rule 138
- '*' reduce using rule 138
- '*_1' reduce using rule 138
- '*₁' reduce using rule 138
- ',' reduce using rule 138
- '->' reduce using rule 138
- '/\\' reduce using rule 138
- '0_2' reduce using rule 138
- '0₂' reduce using rule 138
- '1' reduce using rule 138
- '1_2' reduce using rule 138
- '1₂' reduce using rule 138
- '2' reduce using rule 138
- ':' reduce using rule 138
- ':=' reduce using rule 138
- ';' reduce using rule 138
- '<' reduce using rule 138
- '<=' reduce using rule 138
- '=' reduce using rule 138
- '===' reduce using rule 138
- '=_{' reduce using rule 138
- '>' reduce using rule 138
- 'BOT' reduce using rule 138
- 'CUBE' reduce using rule 138
- 'TOP' reduce using rule 138
- 'TOPE' reduce using rule 138
- 'U' reduce using rule 138
- 'Unit' reduce using rule 138
- '[' reduce using rule 138
- '\\/' reduce using rule 138
- ']' reduce using rule 138
- 'as' reduce using rule 138
- 'idJ' reduce using rule 138
- 'recBOT' reduce using rule 138
- 'recOR' reduce using rule 138
- 'refl' reduce using rule 138
- 'refl_{' reduce using rule 138
- 'unit' reduce using rule 138
- '|' reduce using rule 138
- '|->' reduce using rule 138
- '}' reduce using rule 138
- '×' reduce using rule 138
- '→' reduce using rule 138
- '↦' reduce using rule 138
- '∧' reduce using rule 138
- '∨' reduce using rule 138
- '≡' reduce using rule 138
- '≤' reduce using rule 138
- '⊤' reduce using rule 138
- '⊥' reduce using rule 138
- L_VarIdentTokenreduce using rule 138
- L_HoleIdentTokenreduce using rule 138
- %eof reduce using rule 138
+ '(' reduce using rule 139
+ ')' reduce using rule 139
+ '*' reduce using rule 139
+ '*_1' reduce using rule 139
+ '*₁' reduce using rule 139
+ ',' reduce using rule 139
+ '->' reduce using rule 139
+ '/\\' reduce using rule 139
+ '0_2' reduce using rule 139
+ '0₂' reduce using rule 139
+ '1' reduce using rule 139
+ '1_2' reduce using rule 139
+ '1₂' reduce using rule 139
+ '2' reduce using rule 139
+ ':' reduce using rule 139
+ ':=' reduce using rule 139
+ ';' reduce using rule 139
+ '<' reduce using rule 139
+ '<=' reduce using rule 139
+ '=' reduce using rule 139
+ '===' reduce using rule 139
+ '=_{' reduce using rule 139
+ '>' reduce using rule 139
+ 'BOT' reduce using rule 139
+ 'CUBE' reduce using rule 139
+ 'TOP' reduce using rule 139
+ 'TOPE' reduce using rule 139
+ 'U' reduce using rule 139
+ 'Unit' reduce using rule 139
+ '[' reduce using rule 139
+ '\\/' reduce using rule 139
+ ']' reduce using rule 139
+ 'as' reduce using rule 139
+ 'idJ' reduce using rule 139
+ 'recBOT' reduce using rule 139
+ 'recOR' reduce using rule 139
+ 'refl' reduce using rule 139
+ 'refl_{' reduce using rule 139
+ 'unit' reduce using rule 139
+ '|' reduce using rule 139
+ '|->' reduce using rule 139
+ '}' reduce using rule 139
+ '×' reduce using rule 139
+ '→' reduce using rule 139
+ '↦' reduce using rule 139
+ '∧' reduce using rule 139
+ '∨' reduce using rule 139
+ '≡' reduce using rule 139
+ '≤' reduce using rule 139
+ '⊤' reduce using rule 139
+ '⊥' reduce using rule 139
+ L_VarIdentTokenreduce using rule 139
+ L_HoleIdentTokenreduce using rule 139
+ %eof reduce using rule 139
-State 181
+State 183
- Term1 -> '\\' ListParam . '→' Term1 (rule 127)
- Term1 -> '\\' ListParam . '->' Term1 (rule 131)
+ Term1 -> '\\' ListParam . '→' Term1 (rule 128)
+ Term1 -> '\\' ListParam . '->' Term1 (rule 132)
- '->' shift, and enter state 215
- '→' shift, and enter state 216
+ '->' shift, and enter state 217
+ '→' shift, and enter state 218
-State 182
+State 184
- Term1 -> 'Sigma' '(' . Pattern ':' Term ')' ',' Term1 (rule 130)
+ Term1 -> 'Sigma' '(' . Pattern ':' Term ')' ',' Term1 (rule 131)
'(' shift, and enter state 104
'unit' shift, and enter state 99
@@ -5256,32 +5278,32 @@ State 182
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 214
+ Pattern goto state 216
-State 183
+State 185
- Term7 -> '<' ParamDecl . '→' Term '>' (rule 93)
- Term7 -> '<' ParamDecl . '->' Term '>' (rule 108)
+ Term7 -> '<' ParamDecl . '→' Term '>' (rule 94)
+ Term7 -> '<' ParamDecl . '->' Term '>' (rule 109)
- '->' shift, and enter state 212
- '→' shift, and enter state 213
+ '->' shift, and enter state 214
+ '→' shift, and enter state 215
-State 184
+State 186
- ParamDecl -> '(' Term . ':' Term ')' (rule 70)
- ParamDecl -> '(' Term . ':' Term '|' Term ')' (rule 71)
- Term7 -> '(' Term . ',' Term ')' (rule 94)
- Term7 -> '(' Term . ')' (rule 102)
+ ParamDecl -> '(' Term . ':' Term ')' (rule 71)
+ ParamDecl -> '(' Term . ':' Term '|' Term ')' (rule 72)
+ Term7 -> '(' Term . ',' Term ')' (rule 95)
+ Term7 -> '(' Term . ')' (rule 103)
- ')' shift, and enter state 209
- ',' shift, and enter state 210
- ':' shift, and enter state 211
+ ')' shift, and enter state 211
+ ',' shift, and enter state 212
+ ':' shift, and enter state 213
-State 185
+State 187
- ListTerm -> Term ',' . ListTerm (rule 143)
+ ListTerm -> Term ',' . ListTerm (rule 144)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -5332,11 +5354,11 @@ State 185
Term1 goto state 38
Term6 goto state 39
Term goto state 40
- ListTerm goto state 208
+ ListTerm goto state 210
-State 186
+State 188
- Term -> Term2 'as' . Term1 (rule 140)
+ Term -> Term2 'as' . Term1 (rule 141)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -5384,12 +5406,12 @@ State 186
Term4 goto state 35
Term3 goto state 36
Term2 goto state 80
- Term1 goto state 207
+ Term1 goto state 209
Term6 goto state 39
-State 187
+State 189
- Term2 -> Term3 '\\/' . Term2 (rule 122)
+ Term2 -> Term3 '\\/' . Term2 (rule 123)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -5430,12 +5452,12 @@ State 187
Term5 goto state 34
Term4 goto state 35
Term3 goto state 36
- Term2 goto state 206
+ Term2 goto state 208
Term6 goto state 83
-State 188
+State 190
- Term2 -> Term3 '∨' . Term2 (rule 120)
+ Term2 -> Term3 '∨' . Term2 (rule 121)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -5476,12 +5498,12 @@ State 188
Term5 goto state 34
Term4 goto state 35
Term3 goto state 36
- Term2 goto state 205
+ Term2 goto state 207
Term6 goto state 83
-State 189
+State 191
- Term3 -> Term4 '/\\' . Term3 (rule 119)
+ Term3 -> Term4 '/\\' . Term3 (rule 120)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -5521,12 +5543,12 @@ State 189
Term7 goto state 33
Term5 goto state 34
Term4 goto state 35
- Term3 goto state 204
+ Term3 goto state 206
Term6 goto state 83
-State 190
+State 192
- Term3 -> Term4 '∧' . Term3 (rule 117)
+ Term3 -> Term4 '∧' . Term3 (rule 118)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -5566,12 +5588,12 @@ State 190
Term7 goto state 33
Term5 goto state 34
Term4 goto state 35
- Term3 goto state 203
+ Term3 goto state 205
Term6 goto state 83
-State 191
+State 193
- Term4 -> Term5 '<=' . Term5 (rule 116)
+ Term4 -> Term5 '<=' . Term5 (rule 117)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -5609,12 +5631,12 @@ State 191
HoleIdent goto state 30
VarIdent goto state 31
Term7 goto state 33
- Term5 goto state 202
+ Term5 goto state 204
Term6 goto state 83
-State 192
+State 194
- Term4 -> Term5 '===' . Term5 (rule 115)
+ Term4 -> Term5 '===' . Term5 (rule 116)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -5652,12 +5674,12 @@ State 192
HoleIdent goto state 30
VarIdent goto state 31
Term7 goto state 33
- Term5 goto state 201
+ Term5 goto state 203
Term6 goto state 83
-State 193
+State 195
- Term4 -> Term5 '≡' . Term5 (rule 112)
+ Term4 -> Term5 '≡' . Term5 (rule 113)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -5695,12 +5717,12 @@ State 193
HoleIdent goto state 30
VarIdent goto state 31
Term7 goto state 33
- Term5 goto state 200
+ Term5 goto state 202
Term6 goto state 83
-State 194
+State 196
- Term4 -> Term5 '≤' . Term5 (rule 113)
+ Term4 -> Term5 '≤' . Term5 (rule 114)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -5738,12 +5760,12 @@ State 194
HoleIdent goto state 30
VarIdent goto state 31
Term7 goto state 33
- Term5 goto state 199
+ Term5 goto state 201
Term6 goto state 83
-State 195
+State 197
- Term1 -> ParamDecl '->' . Term1 (rule 129)
+ Term1 -> ParamDecl '->' . Term1 (rule 130)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -5791,12 +5813,12 @@ State 195
Term4 goto state 35
Term3 goto state 36
Term2 goto state 80
- Term1 goto state 198
+ Term1 goto state 200
Term6 goto state 39
-State 196
+State 198
- Term1 -> ParamDecl '→' . Term1 (rule 123)
+ Term1 -> ParamDecl '→' . Term1 (rule 124)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -5844,53 +5866,82 @@ State 196
Term4 goto state 35
Term3 goto state 36
Term2 goto state 80
- Term1 goto state 197
+ Term1 goto state 199
Term6 goto state 39
-State 197
+State 199
+
+ Term1 -> ParamDecl '→' Term1 . (rule 124)
+
+ ')' reduce using rule 124
+ ',' reduce using rule 124
+ ':' reduce using rule 124
+ ':=' reduce using rule 124
+ ';' reduce using rule 124
+ '>' reduce using rule 124
+ ']' reduce using rule 124
+ '|' reduce using rule 124
+ '|->' reduce using rule 124
+ '}' reduce using rule 124
+ '↦' reduce using rule 124
+ %eof reduce using rule 124
+
+
+State 200
- Term1 -> ParamDecl '→' Term1 . (rule 123)
+ Term1 -> ParamDecl '->' Term1 . (rule 130)
- ')' reduce using rule 123
- ',' reduce using rule 123
- ':' reduce using rule 123
- ':=' reduce using rule 123
- ';' reduce using rule 123
- '>' reduce using rule 123
- ']' reduce using rule 123
- '|' reduce using rule 123
- '|->' reduce using rule 123
- '}' reduce using rule 123
- '↦' reduce using rule 123
- %eof reduce using rule 123
+ ')' reduce using rule 130
+ ',' reduce using rule 130
+ ':' reduce using rule 130
+ ':=' reduce using rule 130
+ ';' reduce using rule 130
+ '>' reduce using rule 130
+ ']' reduce using rule 130
+ '|' reduce using rule 130
+ '|->' reduce using rule 130
+ '}' reduce using rule 130
+ '↦' reduce using rule 130
+ %eof reduce using rule 130
-State 198
+State 201
- Term1 -> ParamDecl '->' Term1 . (rule 129)
+ Term5 -> Term5 . '×' Term6 (rule 110)
+ Term5 -> Term5 . '*' Term6 (rule 112)
+ Term4 -> Term5 '≤' Term5 . (rule 114)
- ')' reduce using rule 129
- ',' reduce using rule 129
- ':' reduce using rule 129
- ':=' reduce using rule 129
- ';' reduce using rule 129
- '>' reduce using rule 129
- ']' reduce using rule 129
- '|' reduce using rule 129
- '|->' reduce using rule 129
- '}' reduce using rule 129
- '↦' reduce using rule 129
- %eof reduce using rule 129
+ ')' reduce using rule 114
+ '*' shift, and enter state 167
+ ',' reduce using rule 114
+ '/\\' reduce using rule 114
+ ':' reduce using rule 114
+ ':=' reduce using rule 114
+ ';' reduce using rule 114
+ '=' reduce using rule 114
+ '=_{' reduce using rule 114
+ '>' reduce using rule 114
+ '\\/' reduce using rule 114
+ ']' reduce using rule 114
+ 'as' reduce using rule 114
+ '|' reduce using rule 114
+ '|->' reduce using rule 114
+ '}' reduce using rule 114
+ '×' shift, and enter state 168
+ '↦' reduce using rule 114
+ '∧' reduce using rule 114
+ '∨' reduce using rule 114
+ %eof reduce using rule 114
-State 199
+State 202
- Term5 -> Term5 . '×' Term6 (rule 109)
- Term5 -> Term5 . '*' Term6 (rule 111)
- Term4 -> Term5 '≤' Term5 . (rule 113)
+ Term5 -> Term5 . '×' Term6 (rule 110)
+ Term5 -> Term5 . '*' Term6 (rule 112)
+ Term4 -> Term5 '≡' Term5 . (rule 113)
')' reduce using rule 113
- '*' shift, and enter state 165
+ '*' shift, and enter state 167
',' reduce using rule 113
'/\\' reduce using rule 113
':' reduce using rule 113
@@ -5905,79 +5956,21 @@ State 199
'|' reduce using rule 113
'|->' reduce using rule 113
'}' reduce using rule 113
- '×' shift, and enter state 166
+ '×' shift, and enter state 168
'↦' reduce using rule 113
'∧' reduce using rule 113
'∨' reduce using rule 113
%eof reduce using rule 113
-State 200
-
- Term5 -> Term5 . '×' Term6 (rule 109)
- Term5 -> Term5 . '*' Term6 (rule 111)
- Term4 -> Term5 '≡' Term5 . (rule 112)
-
- ')' reduce using rule 112
- '*' shift, and enter state 165
- ',' reduce using rule 112
- '/\\' reduce using rule 112
- ':' reduce using rule 112
- ':=' reduce using rule 112
- ';' reduce using rule 112
- '=' reduce using rule 112
- '=_{' reduce using rule 112
- '>' reduce using rule 112
- '\\/' reduce using rule 112
- ']' reduce using rule 112
- 'as' reduce using rule 112
- '|' reduce using rule 112
- '|->' reduce using rule 112
- '}' reduce using rule 112
- '×' shift, and enter state 166
- '↦' reduce using rule 112
- '∧' reduce using rule 112
- '∨' reduce using rule 112
- %eof reduce using rule 112
-
-
-State 201
-
- Term5 -> Term5 . '×' Term6 (rule 109)
- Term5 -> Term5 . '*' Term6 (rule 111)
- Term4 -> Term5 '===' Term5 . (rule 115)
-
- ')' reduce using rule 115
- '*' shift, and enter state 165
- ',' reduce using rule 115
- '/\\' reduce using rule 115
- ':' reduce using rule 115
- ':=' reduce using rule 115
- ';' reduce using rule 115
- '=' reduce using rule 115
- '=_{' reduce using rule 115
- '>' reduce using rule 115
- '\\/' reduce using rule 115
- ']' reduce using rule 115
- 'as' reduce using rule 115
- '|' reduce using rule 115
- '|->' reduce using rule 115
- '}' reduce using rule 115
- '×' shift, and enter state 166
- '↦' reduce using rule 115
- '∧' reduce using rule 115
- '∨' reduce using rule 115
- %eof reduce using rule 115
-
-
-State 202
+State 203
- Term5 -> Term5 . '×' Term6 (rule 109)
- Term5 -> Term5 . '*' Term6 (rule 111)
- Term4 -> Term5 '<=' Term5 . (rule 116)
+ Term5 -> Term5 . '×' Term6 (rule 110)
+ Term5 -> Term5 . '*' Term6 (rule 112)
+ Term4 -> Term5 '===' Term5 . (rule 116)
')' reduce using rule 116
- '*' shift, and enter state 165
+ '*' shift, and enter state 167
',' reduce using rule 116
'/\\' reduce using rule 116
':' reduce using rule 116
@@ -5992,19 +5985,23 @@ State 202
'|' reduce using rule 116
'|->' reduce using rule 116
'}' reduce using rule 116
- '×' shift, and enter state 166
+ '×' shift, and enter state 168
'↦' reduce using rule 116
'∧' reduce using rule 116
'∨' reduce using rule 116
%eof reduce using rule 116
-State 203
+State 204
- Term3 -> Term4 '∧' Term3 . (rule 117)
+ Term5 -> Term5 . '×' Term6 (rule 110)
+ Term5 -> Term5 . '*' Term6 (rule 112)
+ Term4 -> Term5 '<=' Term5 . (rule 117)
')' reduce using rule 117
+ '*' shift, and enter state 167
',' reduce using rule 117
+ '/\\' reduce using rule 117
':' reduce using rule 117
':=' reduce using rule 117
';' reduce using rule 117
@@ -6017,37 +6014,39 @@ State 203
'|' reduce using rule 117
'|->' reduce using rule 117
'}' reduce using rule 117
+ '×' shift, and enter state 168
'↦' reduce using rule 117
+ '∧' reduce using rule 117
'∨' reduce using rule 117
%eof reduce using rule 117
-State 204
+State 205
- Term3 -> Term4 '/\\' Term3 . (rule 119)
+ Term3 -> Term4 '∧' Term3 . (rule 118)
- ')' reduce using rule 119
- ',' reduce using rule 119
- ':' reduce using rule 119
- ':=' reduce using rule 119
- ';' reduce using rule 119
- '=' reduce using rule 119
- '=_{' reduce using rule 119
- '>' reduce using rule 119
- '\\/' reduce using rule 119
- ']' reduce using rule 119
- 'as' reduce using rule 119
- '|' reduce using rule 119
- '|->' reduce using rule 119
- '}' reduce using rule 119
- '↦' reduce using rule 119
- '∨' reduce using rule 119
- %eof reduce using rule 119
+ ')' reduce using rule 118
+ ',' reduce using rule 118
+ ':' reduce using rule 118
+ ':=' reduce using rule 118
+ ';' reduce using rule 118
+ '=' reduce using rule 118
+ '=_{' reduce using rule 118
+ '>' reduce using rule 118
+ '\\/' reduce using rule 118
+ ']' reduce using rule 118
+ 'as' reduce using rule 118
+ '|' reduce using rule 118
+ '|->' reduce using rule 118
+ '}' reduce using rule 118
+ '↦' reduce using rule 118
+ '∨' reduce using rule 118
+ %eof reduce using rule 118
-State 205
+State 206
- Term2 -> Term3 '∨' Term2 . (rule 120)
+ Term3 -> Term4 '/\\' Term3 . (rule 120)
')' reduce using rule 120
',' reduce using rule 120
@@ -6057,124 +6056,147 @@ State 205
'=' reduce using rule 120
'=_{' reduce using rule 120
'>' reduce using rule 120
+ '\\/' reduce using rule 120
']' reduce using rule 120
'as' reduce using rule 120
'|' reduce using rule 120
'|->' reduce using rule 120
'}' reduce using rule 120
'↦' reduce using rule 120
+ '∨' reduce using rule 120
%eof reduce using rule 120
-State 206
-
- Term2 -> Term3 '\\/' Term2 . (rule 122)
-
- ')' reduce using rule 122
- ',' reduce using rule 122
- ':' reduce using rule 122
- ':=' reduce using rule 122
- ';' reduce using rule 122
- '=' reduce using rule 122
- '=_{' reduce using rule 122
- '>' reduce using rule 122
- ']' reduce using rule 122
- 'as' reduce using rule 122
- '|' reduce using rule 122
- '|->' reduce using rule 122
- '}' reduce using rule 122
- '↦' reduce using rule 122
- %eof reduce using rule 122
-
-
State 207
- Term -> Term2 'as' Term1 . (rule 140)
-
- ')' reduce using rule 140
- ',' reduce using rule 140
- ':' reduce using rule 140
- ':=' reduce using rule 140
- ';' reduce using rule 140
- '>' reduce using rule 140
- ']' reduce using rule 140
- '|' reduce using rule 140
- '|->' reduce using rule 140
- '}' reduce using rule 140
- '↦' reduce using rule 140
- %eof reduce using rule 140
-
-
-State 208
-
- ListTerm -> Term ',' ListTerm . (rule 143)
-
- %eof reduce using rule 143
-
-
-State 209
-
- Term7 -> '(' Term ')' . (rule 102)
+ Term2 -> Term3 '∨' Term2 . (rule 121)
- '(' reduce using rule 102
- ')' reduce using rule 102
- '*' reduce using rule 102
- '*_1' reduce using rule 102
- '*₁' reduce using rule 102
- ',' reduce using rule 102
- '->' reduce using rule 102
- '/\\' reduce using rule 102
- '0_2' reduce using rule 102
- '0₂' reduce using rule 102
- '1' reduce using rule 102
- '1_2' reduce using rule 102
- '1₂' reduce using rule 102
- '2' reduce using rule 102
- ':' reduce using rule 102
- ':=' reduce using rule 102
- ';' reduce using rule 102
- '<' reduce using rule 102
- '<=' reduce using rule 102
- '=' reduce using rule 102
- '===' reduce using rule 102
- '=_{' reduce using rule 102
- '>' reduce using rule 102
- 'BOT' reduce using rule 102
- 'CUBE' reduce using rule 102
- 'TOP' reduce using rule 102
- 'TOPE' reduce using rule 102
- 'U' reduce using rule 102
- 'Unit' reduce using rule 102
- '[' reduce using rule 102
- '\\/' reduce using rule 102
- ']' reduce using rule 102
- 'as' reduce using rule 102
- 'idJ' reduce using rule 102
- 'recBOT' reduce using rule 102
- 'recOR' reduce using rule 102
- 'refl' reduce using rule 102
- 'refl_{' reduce using rule 102
- 'unit' reduce using rule 102
- '|' reduce using rule 102
- '|->' reduce using rule 102
- '}' reduce using rule 102
- '×' reduce using rule 102
- '→' reduce using rule 102
- '↦' reduce using rule 102
- '∧' reduce using rule 102
- '∨' reduce using rule 102
- '≡' reduce using rule 102
- '≤' reduce using rule 102
- '⊤' reduce using rule 102
- '⊥' reduce using rule 102
- L_VarIdentTokenreduce using rule 102
- L_HoleIdentTokenreduce using rule 102
- %eof reduce using rule 102
+ ')' reduce using rule 121
+ ',' reduce using rule 121
+ ':' reduce using rule 121
+ ':=' reduce using rule 121
+ ';' reduce using rule 121
+ '=' reduce using rule 121
+ '=_{' reduce using rule 121
+ '>' reduce using rule 121
+ ']' reduce using rule 121
+ 'as' reduce using rule 121
+ '|' reduce using rule 121
+ '|->' reduce using rule 121
+ '}' reduce using rule 121
+ '↦' reduce using rule 121
+ %eof reduce using rule 121
+
+
+State 208
+
+ Term2 -> Term3 '\\/' Term2 . (rule 123)
+
+ ')' reduce using rule 123
+ ',' reduce using rule 123
+ ':' reduce using rule 123
+ ':=' reduce using rule 123
+ ';' reduce using rule 123
+ '=' reduce using rule 123
+ '=_{' reduce using rule 123
+ '>' reduce using rule 123
+ ']' reduce using rule 123
+ 'as' reduce using rule 123
+ '|' reduce using rule 123
+ '|->' reduce using rule 123
+ '}' reduce using rule 123
+ '↦' reduce using rule 123
+ %eof reduce using rule 123
+
+
+State 209
+
+ Term -> Term2 'as' Term1 . (rule 141)
+
+ ')' reduce using rule 141
+ ',' reduce using rule 141
+ ':' reduce using rule 141
+ ':=' reduce using rule 141
+ ';' reduce using rule 141
+ '>' reduce using rule 141
+ ']' reduce using rule 141
+ '|' reduce using rule 141
+ '|->' reduce using rule 141
+ '}' reduce using rule 141
+ '↦' reduce using rule 141
+ %eof reduce using rule 141
State 210
- Term7 -> '(' Term ',' . Term ')' (rule 94)
+ ListTerm -> Term ',' ListTerm . (rule 144)
+
+ %eof reduce using rule 144
+
+
+State 211
+
+ Term7 -> '(' Term ')' . (rule 103)
+
+ '(' reduce using rule 103
+ ')' reduce using rule 103
+ '*' reduce using rule 103
+ '*_1' reduce using rule 103
+ '*₁' reduce using rule 103
+ ',' reduce using rule 103
+ '->' reduce using rule 103
+ '/\\' reduce using rule 103
+ '0_2' reduce using rule 103
+ '0₂' reduce using rule 103
+ '1' reduce using rule 103
+ '1_2' reduce using rule 103
+ '1₂' reduce using rule 103
+ '2' reduce using rule 103
+ ':' reduce using rule 103
+ ':=' reduce using rule 103
+ ';' reduce using rule 103
+ '<' reduce using rule 103
+ '<=' reduce using rule 103
+ '=' reduce using rule 103
+ '===' reduce using rule 103
+ '=_{' reduce using rule 103
+ '>' reduce using rule 103
+ 'BOT' reduce using rule 103
+ 'CUBE' reduce using rule 103
+ 'TOP' reduce using rule 103
+ 'TOPE' reduce using rule 103
+ 'U' reduce using rule 103
+ 'Unit' reduce using rule 103
+ '[' reduce using rule 103
+ '\\/' reduce using rule 103
+ ']' reduce using rule 103
+ 'as' reduce using rule 103
+ 'idJ' reduce using rule 103
+ 'recBOT' reduce using rule 103
+ 'recOR' reduce using rule 103
+ 'refl' reduce using rule 103
+ 'refl_{' reduce using rule 103
+ 'unit' reduce using rule 103
+ '|' reduce using rule 103
+ '|->' reduce using rule 103
+ '}' reduce using rule 103
+ '×' reduce using rule 103
+ '→' reduce using rule 103
+ '↦' reduce using rule 103
+ '∧' reduce using rule 103
+ '∨' reduce using rule 103
+ '≡' reduce using rule 103
+ '≤' reduce using rule 103
+ '⊤' reduce using rule 103
+ '⊥' reduce using rule 103
+ L_VarIdentTokenreduce using rule 103
+ L_HoleIdentTokenreduce using rule 103
+ %eof reduce using rule 103
+
+
+State 212
+
+ Term7 -> '(' Term ',' . Term ')' (rule 95)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6224,12 +6246,12 @@ State 210
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 281
+ Term goto state 283
-State 211
+State 213
- ParamDecl -> '(' Term ':' . Term ')' (rule 70)
- ParamDecl -> '(' Term ':' . Term '|' Term ')' (rule 71)
+ ParamDecl -> '(' Term ':' . Term ')' (rule 71)
+ ParamDecl -> '(' Term ':' . Term '|' Term ')' (rule 72)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6279,11 +6301,11 @@ State 211
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 280
+ Term goto state 282
-State 212
+State 214
- Term7 -> '<' ParamDecl '->' . Term '>' (rule 108)
+ Term7 -> '<' ParamDecl '->' . Term '>' (rule 109)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6333,11 +6355,11 @@ State 212
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 279
+ Term goto state 281
-State 213
+State 215
- Term7 -> '<' ParamDecl '→' . Term '>' (rule 93)
+ Term7 -> '<' ParamDecl '→' . Term '>' (rule 94)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6387,18 +6409,18 @@ State 213
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 278
+ Term goto state 280
-State 214
+State 216
- Term1 -> 'Sigma' '(' Pattern . ':' Term ')' ',' Term1 (rule 130)
+ Term1 -> 'Sigma' '(' Pattern . ':' Term ')' ',' Term1 (rule 131)
- ':' shift, and enter state 277
+ ':' shift, and enter state 279
-State 215
+State 217
- Term1 -> '\\' ListParam '->' . Term1 (rule 131)
+ Term1 -> '\\' ListParam '->' . Term1 (rule 132)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6446,12 +6468,12 @@ State 215
Term4 goto state 35
Term3 goto state 36
Term2 goto state 80
- Term1 goto state 276
+ Term1 goto state 278
Term6 goto state 39
-State 216
+State 218
- Term1 -> '\\' ListParam '→' . Term1 (rule 127)
+ Term1 -> '\\' ListParam '→' . Term1 (rule 128)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6499,37 +6521,37 @@ State 216
Term4 goto state 35
Term3 goto state 36
Term2 goto state 80
- Term1 goto state 275
+ Term1 goto state 277
Term6 goto state 39
-State 217
+State 219
- Term7 -> 'idJ' '(' Term . ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 99)
+ Term7 -> 'idJ' '(' Term . ',' Term ',' Term ',' Term ',' Term ',' Term ')' (rule 100)
- ',' shift, and enter state 274
+ ',' shift, and enter state 276
-State 218
+State 220
- Term7 -> 'recOR' '(' ListRestriction . ')' (rule 90)
+ Term7 -> 'recOR' '(' ListRestriction . ')' (rule 91)
- ')' shift, and enter state 273
+ ')' shift, and enter state 275
-State 219
+State 221
- Restriction -> Term . '↦' Term (rule 75)
- Restriction -> Term . '|->' Term (rule 76)
- Term7 -> 'recOR' '(' Term . ',' Term ',' Term ',' Term ')' (rule 91)
+ Restriction -> Term . '↦' Term (rule 76)
+ Restriction -> Term . '|->' Term (rule 77)
+ Term7 -> 'recOR' '(' Term . ',' Term ',' Term ',' Term ')' (rule 92)
- ',' shift, and enter state 272
- '|->' shift, and enter state 162
- '↦' shift, and enter state 163
+ ',' shift, and enter state 274
+ '|->' shift, and enter state 164
+ '↦' shift, and enter state 165
-State 220
+State 222
- Term7 -> 'refl_{' Term ':' . Term '}' (rule 98)
+ Term7 -> 'refl_{' Term ':' . Term '}' (rule 99)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6579,81 +6601,81 @@ State 220
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 271
+ Term goto state 273
-State 221
+State 223
- Term7 -> 'refl_{' Term '}' . (rule 97)
+ Term7 -> 'refl_{' Term '}' . (rule 98)
- '(' reduce using rule 97
- ')' reduce using rule 97
- '*' reduce using rule 97
- '*_1' reduce using rule 97
- '*₁' reduce using rule 97
- ',' reduce using rule 97
- '->' reduce using rule 97
- '/\\' reduce using rule 97
- '0_2' reduce using rule 97
- '0₂' reduce using rule 97
- '1' reduce using rule 97
- '1_2' reduce using rule 97
- '1₂' reduce using rule 97
- '2' reduce using rule 97
- ':' reduce using rule 97
- ':=' reduce using rule 97
- ';' reduce using rule 97
- '<' reduce using rule 97
- '<=' reduce using rule 97
- '=' reduce using rule 97
- '===' reduce using rule 97
- '=_{' reduce using rule 97
- '>' reduce using rule 97
- 'BOT' reduce using rule 97
- 'CUBE' reduce using rule 97
- 'TOP' reduce using rule 97
- 'TOPE' reduce using rule 97
- 'U' reduce using rule 97
- 'Unit' reduce using rule 97
- '[' reduce using rule 97
- '\\/' reduce using rule 97
- ']' reduce using rule 97
- 'as' reduce using rule 97
- 'idJ' reduce using rule 97
- 'recBOT' reduce using rule 97
- 'recOR' reduce using rule 97
- 'refl' reduce using rule 97
- 'refl_{' reduce using rule 97
- 'unit' reduce using rule 97
- '|' reduce using rule 97
- '|->' reduce using rule 97
- '}' reduce using rule 97
- '×' reduce using rule 97
- '→' reduce using rule 97
- '↦' reduce using rule 97
- '∧' reduce using rule 97
- '∨' reduce using rule 97
- '≡' reduce using rule 97
- '≤' reduce using rule 97
- '⊤' reduce using rule 97
- '⊥' reduce using rule 97
- L_VarIdentTokenreduce using rule 97
- L_HoleIdentTokenreduce using rule 97
- %eof reduce using rule 97
+ '(' reduce using rule 98
+ ')' reduce using rule 98
+ '*' reduce using rule 98
+ '*_1' reduce using rule 98
+ '*₁' reduce using rule 98
+ ',' reduce using rule 98
+ '->' reduce using rule 98
+ '/\\' reduce using rule 98
+ '0_2' reduce using rule 98
+ '0₂' reduce using rule 98
+ '1' reduce using rule 98
+ '1_2' reduce using rule 98
+ '1₂' reduce using rule 98
+ '2' reduce using rule 98
+ ':' reduce using rule 98
+ ':=' reduce using rule 98
+ ';' reduce using rule 98
+ '<' reduce using rule 98
+ '<=' reduce using rule 98
+ '=' reduce using rule 98
+ '===' reduce using rule 98
+ '=_{' reduce using rule 98
+ '>' reduce using rule 98
+ 'BOT' reduce using rule 98
+ 'CUBE' reduce using rule 98
+ 'TOP' reduce using rule 98
+ 'TOPE' reduce using rule 98
+ 'U' reduce using rule 98
+ 'Unit' reduce using rule 98
+ '[' reduce using rule 98
+ '\\/' reduce using rule 98
+ ']' reduce using rule 98
+ 'as' reduce using rule 98
+ 'idJ' reduce using rule 98
+ 'recBOT' reduce using rule 98
+ 'recOR' reduce using rule 98
+ 'refl' reduce using rule 98
+ 'refl_{' reduce using rule 98
+ 'unit' reduce using rule 98
+ '|' reduce using rule 98
+ '|->' reduce using rule 98
+ '}' reduce using rule 98
+ '×' reduce using rule 98
+ '→' reduce using rule 98
+ '↦' reduce using rule 98
+ '∧' reduce using rule 98
+ '∨' reduce using rule 98
+ '≡' reduce using rule 98
+ '≤' reduce using rule 98
+ '⊤' reduce using rule 98
+ '⊥' reduce using rule 98
+ L_VarIdentTokenreduce using rule 98
+ L_HoleIdentTokenreduce using rule 98
+ %eof reduce using rule 98
-State 222
+State 224
- Pattern -> '(' Pattern . ',' Pattern ')' (rule 60)
- ParamDecl -> '{' '(' Pattern . ':' Term ')' '|' Term '}' (rule 73)
+ Pattern -> '(' Pattern . ',' Pattern ')' (rule 61)
+ ParamDecl -> '{' '(' Pattern . ':' Term ')' '|' Term '}' (rule 74)
- ',' shift, and enter state 235
- ':' shift, and enter state 270
+ ',' shift, and enter state 237
+ ':' shift, and enter state 272
-State 223
+State 225
- ParamDecl -> '{' Pattern ':' . Term '}' (rule 72)
- ParamDecl -> '{' Pattern ':' . Term '|' Term '}' (rule 74)
+ ParamDecl -> '{' Pattern ':' . Term '}' (rule 73)
+ ParamDecl -> '{' Pattern ':' . Term '|' Term '}' (rule 75)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6703,199 +6725,189 @@ State 223
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 269
+ Term goto state 271
-State 224
+State 226
- Term1 -> 'Σ' '(' Pattern . ':' Term ')' ',' Term1 (rule 124)
+ Term1 -> 'Σ' '(' Pattern . ':' Term ')' ',' Term1 (rule 125)
- ':' shift, and enter state 268
+ ':' shift, and enter state 270
-State 225
+State 227
- Term1 -> '∑' '(' Pattern . ':' Term ')' ',' Term1 (rule 132)
+ Term1 -> '∑' '(' Pattern . ':' Term ')' ',' Term1 (rule 133)
- ':' shift, and enter state 267
+ ':' shift, and enter state 269
-State 226
+State 228
- Term1 -> Term2 '=_{' Term . '}' Term2 (rule 125)
+ Term1 -> Term2 '=_{' Term . '}' Term2 (rule 126)
- '}' shift, and enter state 266
+ '}' shift, and enter state 268
-State 227
+State 229
- Term1 -> Term2 '=' Term2 . (rule 126)
+ Term1 -> Term2 '=' Term2 . (rule 127)
- ')' reduce using rule 126
- ',' reduce using rule 126
- ':' reduce using rule 126
- ':=' reduce using rule 126
- ';' reduce using rule 126
- '>' reduce using rule 126
- ']' reduce using rule 126
- '|' reduce using rule 126
- '|->' reduce using rule 126
- '}' reduce using rule 126
- '↦' reduce using rule 126
- %eof reduce using rule 126
+ ')' reduce using rule 127
+ ',' reduce using rule 127
+ ':' reduce using rule 127
+ ':=' reduce using rule 127
+ ';' reduce using rule 127
+ '>' reduce using rule 127
+ ']' reduce using rule 127
+ '|' reduce using rule 127
+ '|->' reduce using rule 127
+ '}' reduce using rule 127
+ '↦' reduce using rule 127
+ %eof reduce using rule 127
-State 228
+State 230
- Term5 -> Term5 '×' Term6 . (rule 109)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 133)
- Term6 -> Term6 . Term7 (rule 134)
+ Term5 -> Term5 '×' Term6 . (rule 110)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 134)
+ Term6 -> Term6 . Term7 (rule 135)
'(' shift, and enter state 79
- ')' reduce using rule 109
- '*' reduce using rule 109
+ ')' reduce using rule 110
+ '*' reduce using rule 110
'*_1' shift, and enter state 43
'*₁' shift, and enter state 44
- ',' reduce using rule 109
- '/\\' reduce using rule 109
+ ',' reduce using rule 110
+ '/\\' reduce using rule 110
'0_2' shift, and enter state 45
'0₂' shift, and enter state 46
'1' shift, and enter state 47
'1_2' shift, and enter state 48
'1₂' shift, and enter state 49
'2' shift, and enter state 50
- ':' reduce using rule 109
- ':=' reduce using rule 109
- ';' reduce using rule 109
+ ':' reduce using rule 110
+ ':=' reduce using rule 110
+ ';' reduce using rule 110
'<' shift, and enter state 51
- '<=' reduce using rule 109
- '=' reduce using rule 109
- '===' reduce using rule 109
- '=_{' reduce using rule 109
- '>' reduce using rule 109
+ '<=' reduce using rule 110
+ '=' reduce using rule 110
+ '===' reduce using rule 110
+ '=_{' reduce using rule 110
+ '>' reduce using rule 110
'BOT' shift, and enter state 52
'CUBE' shift, and enter state 53
'TOP' shift, and enter state 55
'TOPE' shift, and enter state 56
'U' shift, and enter state 57
'Unit' shift, and enter state 58
- '[' shift, and enter state 161
- '\\/' reduce using rule 109
- ']' reduce using rule 109
- 'as' reduce using rule 109
+ '[' shift, and enter state 163
+ '\\/' reduce using rule 110
+ ']' reduce using rule 110
+ 'as' reduce using rule 110
'idJ' shift, and enter state 61
'recBOT' shift, and enter state 62
'recOR' shift, and enter state 63
'refl' shift, and enter state 64
'refl_{' shift, and enter state 65
'unit' shift, and enter state 67
- '|' reduce using rule 109
- '|->' reduce using rule 109
- '}' reduce using rule 109
- '×' reduce using rule 109
- '↦' reduce using rule 109
- '∧' reduce using rule 109
- '∨' reduce using rule 109
- '≡' reduce using rule 109
- '≤' reduce using rule 109
+ '|' reduce using rule 110
+ '|->' reduce using rule 110
+ '}' reduce using rule 110
+ '×' reduce using rule 110
+ '↦' reduce using rule 110
+ '∧' reduce using rule 110
+ '∨' reduce using rule 110
+ '≡' reduce using rule 110
+ '≤' reduce using rule 110
'⊤' shift, and enter state 73
'⊥' shift, and enter state 74
L_VarIdentTokenshift, and enter state 75
L_HoleIdentTokenshift, and enter state 76
- %eof reduce using rule 109
+ %eof reduce using rule 110
VarIdentToken goto state 28
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- Term7 goto state 160
+ Term7 goto state 162
-State 229
+State 231
- Term5 -> Term5 '*' Term6 . (rule 111)
- Term6 -> Term6 . '[' ListRestriction ']' (rule 133)
- Term6 -> Term6 . Term7 (rule 134)
+ Term5 -> Term5 '*' Term6 . (rule 112)
+ Term6 -> Term6 . '[' ListRestriction ']' (rule 134)
+ Term6 -> Term6 . Term7 (rule 135)
'(' shift, and enter state 79
- ')' reduce using rule 111
- '*' reduce using rule 111
+ ')' reduce using rule 112
+ '*' reduce using rule 112
'*_1' shift, and enter state 43
'*₁' shift, and enter state 44
- ',' reduce using rule 111
- '/\\' reduce using rule 111
+ ',' reduce using rule 112
+ '/\\' reduce using rule 112
'0_2' shift, and enter state 45
'0₂' shift, and enter state 46
'1' shift, and enter state 47
'1_2' shift, and enter state 48
'1₂' shift, and enter state 49
'2' shift, and enter state 50
- ':' reduce using rule 111
- ':=' reduce using rule 111
- ';' reduce using rule 111
+ ':' reduce using rule 112
+ ':=' reduce using rule 112
+ ';' reduce using rule 112
'<' shift, and enter state 51
- '<=' reduce using rule 111
- '=' reduce using rule 111
- '===' reduce using rule 111
- '=_{' reduce using rule 111
- '>' reduce using rule 111
+ '<=' reduce using rule 112
+ '=' reduce using rule 112
+ '===' reduce using rule 112
+ '=_{' reduce using rule 112
+ '>' reduce using rule 112
'BOT' shift, and enter state 52
'CUBE' shift, and enter state 53
'TOP' shift, and enter state 55
'TOPE' shift, and enter state 56
'U' shift, and enter state 57
'Unit' shift, and enter state 58
- '[' shift, and enter state 161
- '\\/' reduce using rule 111
- ']' reduce using rule 111
- 'as' reduce using rule 111
+ '[' shift, and enter state 163
+ '\\/' reduce using rule 112
+ ']' reduce using rule 112
+ 'as' reduce using rule 112
'idJ' shift, and enter state 61
'recBOT' shift, and enter state 62
'recOR' shift, and enter state 63
'refl' shift, and enter state 64
'refl_{' shift, and enter state 65
'unit' shift, and enter state 67
- '|' reduce using rule 111
- '|->' reduce using rule 111
- '}' reduce using rule 111
- '×' reduce using rule 111
- '↦' reduce using rule 111
- '∧' reduce using rule 111
- '∨' reduce using rule 111
- '≡' reduce using rule 111
- '≤' reduce using rule 111
+ '|' reduce using rule 112
+ '|->' reduce using rule 112
+ '}' reduce using rule 112
+ '×' reduce using rule 112
+ '↦' reduce using rule 112
+ '∧' reduce using rule 112
+ '∨' reduce using rule 112
+ '≡' reduce using rule 112
+ '≤' reduce using rule 112
'⊤' shift, and enter state 73
'⊥' shift, and enter state 74
L_VarIdentTokenshift, and enter state 75
L_HoleIdentTokenshift, and enter state 76
- %eof reduce using rule 111
+ %eof reduce using rule 112
VarIdentToken goto state 28
HoleIdentToken goto state 29
HoleIdent goto state 30
VarIdent goto state 31
- Term7 goto state 160
-
-State 230
-
- ListRestriction -> Restriction ',' ListRestriction . (rule 78)
-
- ')' reduce using rule 78
- ']' reduce using rule 78
- %eof reduce using rule 78
-
+ Term7 goto state 162
-State 231
+State 232
- Restriction -> Term '↦' Term . (rule 75)
+ ListRestriction -> Restriction ',' ListRestriction . (rule 79)
- ')' reduce using rule 75
- ',' reduce using rule 75
- ']' reduce using rule 75
- %eof reduce using rule 75
+ ')' reduce using rule 79
+ ']' reduce using rule 79
+ %eof reduce using rule 79
-State 232
+State 233
- Restriction -> Term '|->' Term . (rule 76)
+ Restriction -> Term '↦' Term . (rule 76)
')' reduce using rule 76
',' reduce using rule 76
@@ -6903,17 +6915,27 @@ State 232
%eof reduce using rule 76
-State 233
+State 234
- Term6 -> Term6 '[' ListRestriction . ']' (rule 133)
+ Restriction -> Term '|->' Term . (rule 77)
- ']' shift, and enter state 265
+ ')' reduce using rule 77
+ ',' reduce using rule 77
+ ']' reduce using rule 77
+ %eof reduce using rule 77
-State 234
+State 235
+
+ Term6 -> Term6 '[' ListRestriction . ']' (rule 134)
+
+ ']' shift, and enter state 267
+
- Param -> '(' ListPattern ':' . Term ')' (rule 64)
- Param -> '(' ListPattern ':' . Term '|' Term ')' (rule 65)
+State 236
+
+ Param -> '(' ListPattern ':' . Term ')' (rule 65)
+ Param -> '(' ListPattern ':' . Term '|' Term ')' (rule 66)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -6963,11 +6985,11 @@ State 234
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 264
+ Term goto state 266
-State 235
+State 237
- Pattern -> '(' Pattern ',' . Pattern ')' (rule 60)
+ Pattern -> '(' Pattern ',' . Pattern ')' (rule 61)
'(' shift, and enter state 104
'unit' shift, and enter state 99
@@ -6975,11 +6997,11 @@ State 235
VarIdentToken goto state 28
VarIdent goto state 94
- Pattern goto state 263
+ Pattern goto state 265
-State 236
+State 238
- Param -> '{' Pattern ':' . Term '|' Term '}' (rule 66)
+ Param -> '{' Pattern ':' . Term '|' Term '}' (rule 67)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7029,26 +7051,26 @@ State 236
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 262
+ Term goto state 264
-State 237
+State 239
- DeclUsedVars -> 'uses' '(' ListVarIdent . ')' (rule 54)
+ DeclUsedVars -> 'uses' '(' ListVarIdent . ')' (rule 55)
- ')' shift, and enter state 261
+ ')' shift, and enter state 263
-State 238
+State 240
- ListCommand -> Command ';' ListCommand . (rule 53)
+ ListCommand -> Command ';' ListCommand . (rule 54)
- '#end' reduce using rule 53
- %eof reduce using rule 53
+ '#end' reduce using rule 54
+ %eof reduce using rule 54
-State 239
+State 241
- Command -> '#assume' ListVarIdent ':' . Term (rule 44)
+ Command -> '#assume' ListVarIdent ':' . Term (rule 45)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7098,11 +7120,11 @@ State 239
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 260
+ Term goto state 262
-State 240
+State 242
- Command -> '#check' Term ':' . Term (rule 38)
+ Command -> '#check' Term ':' . Term (rule 39)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7152,15 +7174,15 @@ State 240
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 259
+ Term goto state 261
-State 241
+State 243
- Command -> '#def' VarIdent DeclUsedVars . ListParam ':' Term ':=' Term (rule 50)
- Command -> '#def' VarIdent DeclUsedVars . ':' Term ':=' Term (rule 51)
+ Command -> '#def' VarIdent DeclUsedVars . ListParam ':' Term ':=' Term (rule 51)
+ Command -> '#def' VarIdent DeclUsedVars . ':' Term ':=' Term (rule 52)
'(' shift, and enter state 98
- ':' shift, and enter state 258
+ ':' shift, and enter state 260
'unit' shift, and enter state 99
'{' shift, and enter state 100
L_VarIdentTokenshift, and enter state 75
@@ -7169,15 +7191,15 @@ State 241
VarIdent goto state 94
Pattern goto state 95
Param goto state 96
- ListParam goto state 257
+ ListParam goto state 259
-State 242
+State 244
- Command -> '#define' VarIdent DeclUsedVars . ListParam ':' Term ':=' Term (rule 48)
- Command -> '#define' VarIdent DeclUsedVars . ':' Term ':=' Term (rule 49)
+ Command -> '#define' VarIdent DeclUsedVars . ListParam ':' Term ':=' Term (rule 49)
+ Command -> '#define' VarIdent DeclUsedVars . ':' Term ':=' Term (rule 50)
'(' shift, and enter state 98
- ':' shift, and enter state 256
+ ':' shift, and enter state 258
'unit' shift, and enter state 99
'{' shift, and enter state 100
L_VarIdentTokenshift, and enter state 75
@@ -7186,15 +7208,15 @@ State 242
VarIdent goto state 94
Pattern goto state 95
Param goto state 96
- ListParam goto state 255
+ ListParam goto state 257
-State 243
+State 245
- Command -> '#postulate' VarIdent DeclUsedVars . ListParam ':' Term (rule 42)
- Command -> '#postulate' VarIdent DeclUsedVars . ':' Term (rule 43)
+ Command -> '#postulate' VarIdent DeclUsedVars . ListParam ':' Term (rule 43)
+ Command -> '#postulate' VarIdent DeclUsedVars . ':' Term (rule 44)
'(' shift, and enter state 98
- ':' shift, and enter state 254
+ ':' shift, and enter state 256
'unit' shift, and enter state 99
'{' shift, and enter state 100
L_VarIdentTokenshift, and enter state 75
@@ -7203,11 +7225,11 @@ State 243
VarIdent goto state 94
Pattern goto state 95
Param goto state 96
- ListParam goto state 253
+ ListParam goto state 255
-State 244
+State 246
- Command -> '#section' SectionName ';' . ListCommand '#end' SectionName (rule 47)
+ Command -> '#section' SectionName ';' . ListCommand '#end' SectionName (rule 48)
'#assume' shift, and enter state 112
'#check' shift, and enter state 113
@@ -7216,28 +7238,29 @@ State 244
'#compute-whnf'shift, and enter state 116
'#def' shift, and enter state 117
'#define' shift, and enter state 118
- '#end' reduce using rule 52
+ '#end' reduce using rule 53
'#postulate' shift, and enter state 119
- '#section' shift, and enter state 120
- '#set-option' shift, and enter state 121
- '#unset-option'shift, and enter state 122
- '#variable' shift, and enter state 123
- '#variables' shift, and enter state 124
+ '#require-file'shift, and enter state 120
+ '#section' shift, and enter state 121
+ '#set-option' shift, and enter state 122
+ '#unset-option'shift, and enter state 123
+ '#variable' shift, and enter state 124
+ '#variables' shift, and enter state 125
Command goto state 110
- ListCommand goto state 252
+ ListCommand goto state 254
-State 245
+State 247
- Command -> '#set-option' String '=' . String (rule 36)
+ Command -> '#set-option' String '=' . String (rule 37)
L_quoted shift, and enter state 27
- String goto state 251
+ String goto state 253
-State 246
+State 248
- Command -> '#variable' VarIdent ':' . Term (rule 45)
+ Command -> '#variable' VarIdent ':' . Term (rule 46)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7287,11 +7310,11 @@ State 246
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 250
+ Term goto state 252
-State 247
+State 249
- Command -> '#variables' ListVarIdent ':' . Term (rule 46)
+ Command -> '#variables' ListVarIdent ':' . Term (rule 47)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7341,9 +7364,9 @@ State 247
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 249
+ Term goto state 251
-State 248
+State 250
LanguageDecl -> '#lang' Language ';' . (rule 34)
@@ -7355,6 +7378,7 @@ State 248
'#def' reduce using rule 34
'#define' reduce using rule 34
'#postulate' reduce using rule 34
+ '#require-file'reduce using rule 34
'#section' reduce using rule 34
'#set-option' reduce using rule 34
'#unset-option'reduce using rule 34
@@ -7363,47 +7387,47 @@ State 248
%eof reduce using rule 34
-State 249
+State 251
- Command -> '#variables' ListVarIdent ':' Term . (rule 46)
+ Command -> '#variables' ListVarIdent ':' Term . (rule 47)
- ';' reduce using rule 46
- %eof reduce using rule 46
+ ';' reduce using rule 47
+ %eof reduce using rule 47
-State 250
+State 252
- Command -> '#variable' VarIdent ':' Term . (rule 45)
+ Command -> '#variable' VarIdent ':' Term . (rule 46)
- ';' reduce using rule 45
- %eof reduce using rule 45
+ ';' reduce using rule 46
+ %eof reduce using rule 46
-State 251
+State 253
- Command -> '#set-option' String '=' String . (rule 36)
+ Command -> '#set-option' String '=' String . (rule 37)
- ';' reduce using rule 36
- %eof reduce using rule 36
+ ';' reduce using rule 37
+ %eof reduce using rule 37
-State 252
+State 254
- Command -> '#section' SectionName ';' ListCommand . '#end' SectionName (rule 47)
+ Command -> '#section' SectionName ';' ListCommand . '#end' SectionName (rule 48)
- '#end' shift, and enter state 307
+ '#end' shift, and enter state 309
-State 253
+State 255
- Command -> '#postulate' VarIdent DeclUsedVars ListParam . ':' Term (rule 42)
+ Command -> '#postulate' VarIdent DeclUsedVars ListParam . ':' Term (rule 43)
- ':' shift, and enter state 306
+ ':' shift, and enter state 308
-State 254
+State 256
- Command -> '#postulate' VarIdent DeclUsedVars ':' . Term (rule 43)
+ Command -> '#postulate' VarIdent DeclUsedVars ':' . Term (rule 44)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7453,18 +7477,18 @@ State 254
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 305
+ Term goto state 307
-State 255
+State 257
- Command -> '#define' VarIdent DeclUsedVars ListParam . ':' Term ':=' Term (rule 48)
+ Command -> '#define' VarIdent DeclUsedVars ListParam . ':' Term ':=' Term (rule 49)
- ':' shift, and enter state 304
+ ':' shift, and enter state 306
-State 256
+State 258
- Command -> '#define' VarIdent DeclUsedVars ':' . Term ':=' Term (rule 49)
+ Command -> '#define' VarIdent DeclUsedVars ':' . Term ':=' Term (rule 50)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7514,18 +7538,18 @@ State 256
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 303
+ Term goto state 305
-State 257
+State 259
- Command -> '#def' VarIdent DeclUsedVars ListParam . ':' Term ':=' Term (rule 50)
+ Command -> '#def' VarIdent DeclUsedVars ListParam . ':' Term ':=' Term (rule 51)
- ':' shift, and enter state 302
+ ':' shift, and enter state 304
-State 258
+State 260
- Command -> '#def' VarIdent DeclUsedVars ':' . Term ':=' Term (rule 51)
+ Command -> '#def' VarIdent DeclUsedVars ':' . Term ':=' Term (rule 52)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7575,122 +7599,122 @@ State 258
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 301
+ Term goto state 303
-State 259
+State 261
- Command -> '#check' Term ':' Term . (rule 38)
+ Command -> '#check' Term ':' Term . (rule 39)
- ';' reduce using rule 38
- %eof reduce using rule 38
+ ';' reduce using rule 39
+ %eof reduce using rule 39
-State 260
+State 262
- Command -> '#assume' ListVarIdent ':' Term . (rule 44)
+ Command -> '#assume' ListVarIdent ':' Term . (rule 45)
- ';' reduce using rule 44
- %eof reduce using rule 44
+ ';' reduce using rule 45
+ %eof reduce using rule 45
-State 261
+State 263
- DeclUsedVars -> 'uses' '(' ListVarIdent ')' . (rule 54)
+ DeclUsedVars -> 'uses' '(' ListVarIdent ')' . (rule 55)
- '(' reduce using rule 54
- ':' reduce using rule 54
- 'unit' reduce using rule 54
- '{' reduce using rule 54
- L_VarIdentTokenreduce using rule 54
- %eof reduce using rule 54
+ '(' reduce using rule 55
+ ':' reduce using rule 55
+ 'unit' reduce using rule 55
+ '{' reduce using rule 55
+ L_VarIdentTokenreduce using rule 55
+ %eof reduce using rule 55
-State 262
+State 264
- Param -> '{' Pattern ':' Term . '|' Term '}' (rule 66)
+ Param -> '{' Pattern ':' Term . '|' Term '}' (rule 67)
- '|' shift, and enter state 300
+ '|' shift, and enter state 302
-State 263
+State 265
- Pattern -> '(' Pattern ',' Pattern . ')' (rule 60)
+ Pattern -> '(' Pattern ',' Pattern . ')' (rule 61)
- ')' shift, and enter state 299
+ ')' shift, and enter state 301
-State 264
+State 266
- Param -> '(' ListPattern ':' Term . ')' (rule 64)
- Param -> '(' ListPattern ':' Term . '|' Term ')' (rule 65)
+ Param -> '(' ListPattern ':' Term . ')' (rule 65)
+ Param -> '(' ListPattern ':' Term . '|' Term ')' (rule 66)
- ')' shift, and enter state 297
- '|' shift, and enter state 298
+ ')' shift, and enter state 299
+ '|' shift, and enter state 300
-State 265
+State 267
- Term6 -> Term6 '[' ListRestriction ']' . (rule 133)
+ Term6 -> Term6 '[' ListRestriction ']' . (rule 134)
- '(' reduce using rule 133
- ')' reduce using rule 133
- '*' reduce using rule 133
- '*_1' reduce using rule 133
- '*₁' reduce using rule 133
- ',' reduce using rule 133
- '->' reduce using rule 133
- '/\\' reduce using rule 133
- '0_2' reduce using rule 133
- '0₂' reduce using rule 133
- '1' reduce using rule 133
- '1_2' reduce using rule 133
- '1₂' reduce using rule 133
- '2' reduce using rule 133
- ':' reduce using rule 133
- ':=' reduce using rule 133
- ';' reduce using rule 133
- '<' reduce using rule 133
- '<=' reduce using rule 133
- '=' reduce using rule 133
- '===' reduce using rule 133
- '=_{' reduce using rule 133
- '>' reduce using rule 133
- 'BOT' reduce using rule 133
- 'CUBE' reduce using rule 133
- 'TOP' reduce using rule 133
- 'TOPE' reduce using rule 133
- 'U' reduce using rule 133
- 'Unit' reduce using rule 133
- '[' reduce using rule 133
- '\\/' reduce using rule 133
- ']' reduce using rule 133
- 'as' reduce using rule 133
- 'idJ' reduce using rule 133
- 'recBOT' reduce using rule 133
- 'recOR' reduce using rule 133
- 'refl' reduce using rule 133
- 'refl_{' reduce using rule 133
- 'unit' reduce using rule 133
- '|' reduce using rule 133
- '|->' reduce using rule 133
- '}' reduce using rule 133
- '×' reduce using rule 133
- '→' reduce using rule 133
- '↦' reduce using rule 133
- '∧' reduce using rule 133
- '∨' reduce using rule 133
- '≡' reduce using rule 133
- '≤' reduce using rule 133
- '⊤' reduce using rule 133
- '⊥' reduce using rule 133
- L_VarIdentTokenreduce using rule 133
- L_HoleIdentTokenreduce using rule 133
- %eof reduce using rule 133
+ '(' reduce using rule 134
+ ')' reduce using rule 134
+ '*' reduce using rule 134
+ '*_1' reduce using rule 134
+ '*₁' reduce using rule 134
+ ',' reduce using rule 134
+ '->' reduce using rule 134
+ '/\\' reduce using rule 134
+ '0_2' reduce using rule 134
+ '0₂' reduce using rule 134
+ '1' reduce using rule 134
+ '1_2' reduce using rule 134
+ '1₂' reduce using rule 134
+ '2' reduce using rule 134
+ ':' reduce using rule 134
+ ':=' reduce using rule 134
+ ';' reduce using rule 134
+ '<' reduce using rule 134
+ '<=' reduce using rule 134
+ '=' reduce using rule 134
+ '===' reduce using rule 134
+ '=_{' reduce using rule 134
+ '>' reduce using rule 134
+ 'BOT' reduce using rule 134
+ 'CUBE' reduce using rule 134
+ 'TOP' reduce using rule 134
+ 'TOPE' reduce using rule 134
+ 'U' reduce using rule 134
+ 'Unit' reduce using rule 134
+ '[' reduce using rule 134
+ '\\/' reduce using rule 134
+ ']' reduce using rule 134
+ 'as' reduce using rule 134
+ 'idJ' reduce using rule 134
+ 'recBOT' reduce using rule 134
+ 'recOR' reduce using rule 134
+ 'refl' reduce using rule 134
+ 'refl_{' reduce using rule 134
+ 'unit' reduce using rule 134
+ '|' reduce using rule 134
+ '|->' reduce using rule 134
+ '}' reduce using rule 134
+ '×' reduce using rule 134
+ '→' reduce using rule 134
+ '↦' reduce using rule 134
+ '∧' reduce using rule 134
+ '∨' reduce using rule 134
+ '≡' reduce using rule 134
+ '≤' reduce using rule 134
+ '⊤' reduce using rule 134
+ '⊥' reduce using rule 134
+ L_VarIdentTokenreduce using rule 134
+ L_HoleIdentTokenreduce using rule 134
+ %eof reduce using rule 134
-State 266
+State 268
- Term1 -> Term2 '=_{' Term '}' . Term2 (rule 125)
+ Term1 -> Term2 '=_{' Term '}' . Term2 (rule 126)
'(' shift, and enter state 79
'*_1' shift, and enter state 43
@@ -7731,12 +7755,12 @@ State 266
Term5 goto state 34
Term4 goto state 35
Term3 goto state 36
- Term2 goto state 296
+ Term2 goto state 298
Term6 goto state 83
-State 267
+State 269
- Term1 -> '∑' '(' Pattern ':' . Term ')' ',' Term1 (rule 132)
+ Term1 -> '∑' '(' Pattern ':' . Term ')' ',' Term1 (rule 133)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7786,11 +7810,11 @@ State 267
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 295
+ Term goto state 297
-State 268
+State 270
- Term1 -> 'Σ' '(' Pattern ':' . Term ')' ',' Term1 (rule 124)
+ Term1 -> 'Σ' '(' Pattern ':' . Term ')' ',' Term1 (rule 125)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7840,20 +7864,20 @@ State 268
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 294
+ Term goto state 296
-State 269
+State 271
- ParamDecl -> '{' Pattern ':' Term . '}' (rule 72)
- ParamDecl -> '{' Pattern ':' Term . '|' Term '}' (rule 74)
+ ParamDecl -> '{' Pattern ':' Term . '}' (rule 73)
+ ParamDecl -> '{' Pattern ':' Term . '|' Term '}' (rule 75)
- '|' shift, and enter state 292
- '}' shift, and enter state 293
+ '|' shift, and enter state 294
+ '}' shift, and enter state 295
-State 270
+State 272
- ParamDecl -> '{' '(' Pattern ':' . Term ')' '|' Term '}' (rule 73)
+ ParamDecl -> '{' '(' Pattern ':' . Term ')' '|' Term '}' (rule 74)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7903,18 +7927,18 @@ State 270
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 291
+ Term goto state 293
-State 271
+State 273
- Term7 -> 'refl_{' Term ':' Term . '}' (rule 98)
+ Term7 -> 'refl_{' Term ':' Term . '}' (rule 99)
- '}' shift, and enter state 290
+ '}' shift, and enter state 292
-State 272
+State 274
- Term7 -> 'recOR' '(' Term ',' . Term ',' Term ',' Term ')' (rule 91)
+ Term7 -> 'recOR' '(' Term ',' . Term ',' Term ',' Term ')' (rule 92)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -7964,71 +7988,71 @@ State 272
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 289
+ Term goto state 291
-State 273
+State 275
- Term7 -> 'recOR' '(' ListRestriction ')' . (rule 90)
+ Term7 -> 'recOR' '(' ListRestriction ')' . (rule 91)
- '(' reduce using rule 90
- ')' reduce using rule 90
- '*' reduce using rule 90
- '*_1' reduce using rule 90
- '*₁' reduce using rule 90
- ',' reduce using rule 90
- '->' reduce using rule 90
- '/\\' reduce using rule 90
- '0_2' reduce using rule 90
- '0₂' reduce using rule 90
- '1' reduce using rule 90
- '1_2' reduce using rule 90
- '1₂' reduce using rule 90
- '2' reduce using rule 90
- ':' reduce using rule 90
- ':=' reduce using rule 90
- ';' reduce using rule 90
- '<' reduce using rule 90
- '<=' reduce using rule 90
- '=' reduce using rule 90
- '===' reduce using rule 90
- '=_{' reduce using rule 90
- '>' reduce using rule 90
- 'BOT' reduce using rule 90
- 'CUBE' reduce using rule 90
- 'TOP' reduce using rule 90
- 'TOPE' reduce using rule 90
- 'U' reduce using rule 90
- 'Unit' reduce using rule 90
- '[' reduce using rule 90
- '\\/' reduce using rule 90
- ']' reduce using rule 90
- 'as' reduce using rule 90
- 'idJ' reduce using rule 90
- 'recBOT' reduce using rule 90
- 'recOR' reduce using rule 90
- 'refl' reduce using rule 90
- 'refl_{' reduce using rule 90
- 'unit' reduce using rule 90
- '|' reduce using rule 90
- '|->' reduce using rule 90
- '}' reduce using rule 90
- '×' reduce using rule 90
- '→' reduce using rule 90
- '↦' reduce using rule 90
- '∧' reduce using rule 90
- '∨' reduce using rule 90
- '≡' reduce using rule 90
- '≤' reduce using rule 90
- '⊤' reduce using rule 90
- '⊥' reduce using rule 90
- L_VarIdentTokenreduce using rule 90
- L_HoleIdentTokenreduce using rule 90
- %eof reduce using rule 90
+ '(' reduce using rule 91
+ ')' reduce using rule 91
+ '*' reduce using rule 91
+ '*_1' reduce using rule 91
+ '*₁' reduce using rule 91
+ ',' reduce using rule 91
+ '->' reduce using rule 91
+ '/\\' reduce using rule 91
+ '0_2' reduce using rule 91
+ '0₂' reduce using rule 91
+ '1' reduce using rule 91
+ '1_2' reduce using rule 91
+ '1₂' reduce using rule 91
+ '2' reduce using rule 91
+ ':' reduce using rule 91
+ ':=' reduce using rule 91
+ ';' reduce using rule 91
+ '<' reduce using rule 91
+ '<=' reduce using rule 91
+ '=' reduce using rule 91
+ '===' reduce using rule 91
+ '=_{' reduce using rule 91
+ '>' reduce using rule 91
+ 'BOT' reduce using rule 91
+ 'CUBE' reduce using rule 91
+ 'TOP' reduce using rule 91
+ 'TOPE' reduce using rule 91
+ 'U' reduce using rule 91
+ 'Unit' reduce using rule 91
+ '[' reduce using rule 91
+ '\\/' reduce using rule 91
+ ']' reduce using rule 91
+ 'as' reduce using rule 91
+ 'idJ' reduce using rule 91
+ 'recBOT' reduce using rule 91
+ 'recOR' reduce using rule 91
+ 'refl' reduce using rule 91
+ 'refl_{' reduce using rule 91
+ 'unit' reduce using rule 91
+ '|' reduce using rule 91
+ '|->' reduce using rule 91
+ '}' reduce using rule 91
+ '×' reduce using rule 91
+ '→' reduce using rule 91
+ '↦' reduce using rule 91
+ '∧' reduce using rule 91
+ '∨' reduce using rule 91
+ '≡' reduce using rule 91
+ '≤' reduce using rule 91
+ '⊤' reduce using rule 91
+ '⊥' reduce using rule 91
+ L_VarIdentTokenreduce using rule 91
+ L_HoleIdentTokenreduce using rule 91
+ %eof reduce using rule 91
-State 274
+State 276
- Term7 -> 'idJ' '(' Term ',' . Term ',' Term ',' Term ',' Term ',' Term ')' (rule 99)
+ Term7 -> 'idJ' '(' Term ',' . Term ',' Term ',' Term ',' Term ',' Term ')' (rule 100)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8078,47 +8102,47 @@ State 274
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 288
+ Term goto state 290
-State 275
+State 277
- Term1 -> '\\' ListParam '→' Term1 . (rule 127)
+ Term1 -> '\\' ListParam '→' Term1 . (rule 128)
- ')' reduce using rule 127
- ',' reduce using rule 127
- ':' reduce using rule 127
- ':=' reduce using rule 127
- ';' reduce using rule 127
- '>' reduce using rule 127
- ']' reduce using rule 127
- '|' reduce using rule 127
- '|->' reduce using rule 127
- '}' reduce using rule 127
- '↦' reduce using rule 127
- %eof reduce using rule 127
+ ')' reduce using rule 128
+ ',' reduce using rule 128
+ ':' reduce using rule 128
+ ':=' reduce using rule 128
+ ';' reduce using rule 128
+ '>' reduce using rule 128
+ ']' reduce using rule 128
+ '|' reduce using rule 128
+ '|->' reduce using rule 128
+ '}' reduce using rule 128
+ '↦' reduce using rule 128
+ %eof reduce using rule 128
-State 276
+State 278
- Term1 -> '\\' ListParam '->' Term1 . (rule 131)
+ Term1 -> '\\' ListParam '->' Term1 . (rule 132)
- ')' reduce using rule 131
- ',' reduce using rule 131
- ':' reduce using rule 131
- ':=' reduce using rule 131
- ';' reduce using rule 131
- '>' reduce using rule 131
- ']' reduce using rule 131
- '|' reduce using rule 131
- '|->' reduce using rule 131
- '}' reduce using rule 131
- '↦' reduce using rule 131
- %eof reduce using rule 131
+ ')' reduce using rule 132
+ ',' reduce using rule 132
+ ':' reduce using rule 132
+ ':=' reduce using rule 132
+ ';' reduce using rule 132
+ '>' reduce using rule 132
+ ']' reduce using rule 132
+ '|' reduce using rule 132
+ '|->' reduce using rule 132
+ '}' reduce using rule 132
+ '↦' reduce using rule 132
+ %eof reduce using rule 132
-State 277
+State 279
- Term1 -> 'Sigma' '(' Pattern ':' . Term ')' ',' Term1 (rule 130)
+ Term1 -> 'Sigma' '(' Pattern ':' . Term ')' ',' Term1 (rule 131)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8168,110 +8192,110 @@ State 277
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 287
+ Term goto state 289
-State 278
+State 280
- Term7 -> '<' ParamDecl '→' Term . '>' (rule 93)
+ Term7 -> '<' ParamDecl '→' Term . '>' (rule 94)
- '>' shift, and enter state 286
+ '>' shift, and enter state 288
-State 279
+State 281
- Term7 -> '<' ParamDecl '->' Term . '>' (rule 108)
+ Term7 -> '<' ParamDecl '->' Term . '>' (rule 109)
- '>' shift, and enter state 285
+ '>' shift, and enter state 287
-State 280
+State 282
- ParamDecl -> '(' Term ':' Term . ')' (rule 70)
- ParamDecl -> '(' Term ':' Term . '|' Term ')' (rule 71)
+ ParamDecl -> '(' Term ':' Term . ')' (rule 71)
+ ParamDecl -> '(' Term ':' Term . '|' Term ')' (rule 72)
- ')' shift, and enter state 283
- '|' shift, and enter state 284
+ ')' shift, and enter state 285
+ '|' shift, and enter state 286
-State 281
+State 283
- Term7 -> '(' Term ',' Term . ')' (rule 94)
+ Term7 -> '(' Term ',' Term . ')' (rule 95)
- ')' shift, and enter state 282
+ ')' shift, and enter state 284
-State 282
+State 284
- Term7 -> '(' Term ',' Term ')' . (rule 94)
+ Term7 -> '(' Term ',' Term ')' . (rule 95)
- '(' reduce using rule 94
- ')' reduce using rule 94
- '*' reduce using rule 94
- '*_1' reduce using rule 94
- '*₁' reduce using rule 94
- ',' reduce using rule 94
- '->' reduce using rule 94
- '/\\' reduce using rule 94
- '0_2' reduce using rule 94
- '0₂' reduce using rule 94
- '1' reduce using rule 94
- '1_2' reduce using rule 94
- '1₂' reduce using rule 94
- '2' reduce using rule 94
- ':' reduce using rule 94
- ':=' reduce using rule 94
- ';' reduce using rule 94
- '<' reduce using rule 94
- '<=' reduce using rule 94
- '=' reduce using rule 94
- '===' reduce using rule 94
- '=_{' reduce using rule 94
- '>' reduce using rule 94
- 'BOT' reduce using rule 94
- 'CUBE' reduce using rule 94
- 'TOP' reduce using rule 94
- 'TOPE' reduce using rule 94
- 'U' reduce using rule 94
- 'Unit' reduce using rule 94
- '[' reduce using rule 94
- '\\/' reduce using rule 94
- ']' reduce using rule 94
- 'as' reduce using rule 94
- 'idJ' reduce using rule 94
- 'recBOT' reduce using rule 94
- 'recOR' reduce using rule 94
- 'refl' reduce using rule 94
- 'refl_{' reduce using rule 94
- 'unit' reduce using rule 94
- '|' reduce using rule 94
- '|->' reduce using rule 94
- '}' reduce using rule 94
- '×' reduce using rule 94
- '→' reduce using rule 94
- '↦' reduce using rule 94
- '∧' reduce using rule 94
- '∨' reduce using rule 94
- '≡' reduce using rule 94
- '≤' reduce using rule 94
- '⊤' reduce using rule 94
- '⊥' reduce using rule 94
- L_VarIdentTokenreduce using rule 94
- L_HoleIdentTokenreduce using rule 94
- %eof reduce using rule 94
+ '(' reduce using rule 95
+ ')' reduce using rule 95
+ '*' reduce using rule 95
+ '*_1' reduce using rule 95
+ '*₁' reduce using rule 95
+ ',' reduce using rule 95
+ '->' reduce using rule 95
+ '/\\' reduce using rule 95
+ '0_2' reduce using rule 95
+ '0₂' reduce using rule 95
+ '1' reduce using rule 95
+ '1_2' reduce using rule 95
+ '1₂' reduce using rule 95
+ '2' reduce using rule 95
+ ':' reduce using rule 95
+ ':=' reduce using rule 95
+ ';' reduce using rule 95
+ '<' reduce using rule 95
+ '<=' reduce using rule 95
+ '=' reduce using rule 95
+ '===' reduce using rule 95
+ '=_{' reduce using rule 95
+ '>' reduce using rule 95
+ 'BOT' reduce using rule 95
+ 'CUBE' reduce using rule 95
+ 'TOP' reduce using rule 95
+ 'TOPE' reduce using rule 95
+ 'U' reduce using rule 95
+ 'Unit' reduce using rule 95
+ '[' reduce using rule 95
+ '\\/' reduce using rule 95
+ ']' reduce using rule 95
+ 'as' reduce using rule 95
+ 'idJ' reduce using rule 95
+ 'recBOT' reduce using rule 95
+ 'recOR' reduce using rule 95
+ 'refl' reduce using rule 95
+ 'refl_{' reduce using rule 95
+ 'unit' reduce using rule 95
+ '|' reduce using rule 95
+ '|->' reduce using rule 95
+ '}' reduce using rule 95
+ '×' reduce using rule 95
+ '→' reduce using rule 95
+ '↦' reduce using rule 95
+ '∧' reduce using rule 95
+ '∨' reduce using rule 95
+ '≡' reduce using rule 95
+ '≤' reduce using rule 95
+ '⊤' reduce using rule 95
+ '⊥' reduce using rule 95
+ L_VarIdentTokenreduce using rule 95
+ L_HoleIdentTokenreduce using rule 95
+ %eof reduce using rule 95
-State 283
+State 285
- ParamDecl -> '(' Term ':' Term ')' . (rule 70)
+ ParamDecl -> '(' Term ':' Term ')' . (rule 71)
- '->' reduce using rule 70
- '→' reduce using rule 70
- %eof reduce using rule 70
+ '->' reduce using rule 71
+ '→' reduce using rule 71
+ %eof reduce using rule 71
-State 284
+State 286
- ParamDecl -> '(' Term ':' Term '|' . Term ')' (rule 71)
+ ParamDecl -> '(' Term ':' Term '|' . Term ')' (rule 72)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8316,224 +8340,224 @@ State 284
ParamDecl goto state 32
Term7 goto state 33
Term5 goto state 34
- Term4 goto state 35
- Term3 goto state 36
- Term2 goto state 37
- Term1 goto state 38
- Term6 goto state 39
- Term goto state 323
-
-State 285
-
- Term7 -> '<' ParamDecl '->' Term '>' . (rule 108)
-
- '(' reduce using rule 108
- ')' reduce using rule 108
- '*' reduce using rule 108
- '*_1' reduce using rule 108
- '*₁' reduce using rule 108
- ',' reduce using rule 108
- '->' reduce using rule 108
- '/\\' reduce using rule 108
- '0_2' reduce using rule 108
- '0₂' reduce using rule 108
- '1' reduce using rule 108
- '1_2' reduce using rule 108
- '1₂' reduce using rule 108
- '2' reduce using rule 108
- ':' reduce using rule 108
- ':=' reduce using rule 108
- ';' reduce using rule 108
- '<' reduce using rule 108
- '<=' reduce using rule 108
- '=' reduce using rule 108
- '===' reduce using rule 108
- '=_{' reduce using rule 108
- '>' reduce using rule 108
- 'BOT' reduce using rule 108
- 'CUBE' reduce using rule 108
- 'TOP' reduce using rule 108
- 'TOPE' reduce using rule 108
- 'U' reduce using rule 108
- 'Unit' reduce using rule 108
- '[' reduce using rule 108
- '\\/' reduce using rule 108
- ']' reduce using rule 108
- 'as' reduce using rule 108
- 'idJ' reduce using rule 108
- 'recBOT' reduce using rule 108
- 'recOR' reduce using rule 108
- 'refl' reduce using rule 108
- 'refl_{' reduce using rule 108
- 'unit' reduce using rule 108
- '|' reduce using rule 108
- '|->' reduce using rule 108
- '}' reduce using rule 108
- '×' reduce using rule 108
- '→' reduce using rule 108
- '↦' reduce using rule 108
- '∧' reduce using rule 108
- '∨' reduce using rule 108
- '≡' reduce using rule 108
- '≤' reduce using rule 108
- '⊤' reduce using rule 108
- '⊥' reduce using rule 108
- L_VarIdentTokenreduce using rule 108
- L_HoleIdentTokenreduce using rule 108
- %eof reduce using rule 108
-
-
-State 286
-
- Term7 -> '<' ParamDecl '→' Term '>' . (rule 93)
-
- '(' reduce using rule 93
- ')' reduce using rule 93
- '*' reduce using rule 93
- '*_1' reduce using rule 93
- '*₁' reduce using rule 93
- ',' reduce using rule 93
- '->' reduce using rule 93
- '/\\' reduce using rule 93
- '0_2' reduce using rule 93
- '0₂' reduce using rule 93
- '1' reduce using rule 93
- '1_2' reduce using rule 93
- '1₂' reduce using rule 93
- '2' reduce using rule 93
- ':' reduce using rule 93
- ':=' reduce using rule 93
- ';' reduce using rule 93
- '<' reduce using rule 93
- '<=' reduce using rule 93
- '=' reduce using rule 93
- '===' reduce using rule 93
- '=_{' reduce using rule 93
- '>' reduce using rule 93
- 'BOT' reduce using rule 93
- 'CUBE' reduce using rule 93
- 'TOP' reduce using rule 93
- 'TOPE' reduce using rule 93
- 'U' reduce using rule 93
- 'Unit' reduce using rule 93
- '[' reduce using rule 93
- '\\/' reduce using rule 93
- ']' reduce using rule 93
- 'as' reduce using rule 93
- 'idJ' reduce using rule 93
- 'recBOT' reduce using rule 93
- 'recOR' reduce using rule 93
- 'refl' reduce using rule 93
- 'refl_{' reduce using rule 93
- 'unit' reduce using rule 93
- '|' reduce using rule 93
- '|->' reduce using rule 93
- '}' reduce using rule 93
- '×' reduce using rule 93
- '→' reduce using rule 93
- '↦' reduce using rule 93
- '∧' reduce using rule 93
- '∨' reduce using rule 93
- '≡' reduce using rule 93
- '≤' reduce using rule 93
- '⊤' reduce using rule 93
- '⊥' reduce using rule 93
- L_VarIdentTokenreduce using rule 93
- L_HoleIdentTokenreduce using rule 93
- %eof reduce using rule 93
-
+ Term4 goto state 35
+ Term3 goto state 36
+ Term2 goto state 37
+ Term1 goto state 38
+ Term6 goto state 39
+ Term goto state 325
State 287
- Term1 -> 'Sigma' '(' Pattern ':' Term . ')' ',' Term1 (rule 130)
+ Term7 -> '<' ParamDecl '->' Term '>' . (rule 109)
- ')' shift, and enter state 322
+ '(' reduce using rule 109
+ ')' reduce using rule 109
+ '*' reduce using rule 109
+ '*_1' reduce using rule 109
+ '*₁' reduce using rule 109
+ ',' reduce using rule 109
+ '->' reduce using rule 109
+ '/\\' reduce using rule 109
+ '0_2' reduce using rule 109
+ '0₂' reduce using rule 109
+ '1' reduce using rule 109
+ '1_2' reduce using rule 109
+ '1₂' reduce using rule 109
+ '2' reduce using rule 109
+ ':' reduce using rule 109
+ ':=' reduce using rule 109
+ ';' reduce using rule 109
+ '<' reduce using rule 109
+ '<=' reduce using rule 109
+ '=' reduce using rule 109
+ '===' reduce using rule 109
+ '=_{' reduce using rule 109
+ '>' reduce using rule 109
+ 'BOT' reduce using rule 109
+ 'CUBE' reduce using rule 109
+ 'TOP' reduce using rule 109
+ 'TOPE' reduce using rule 109
+ 'U' reduce using rule 109
+ 'Unit' reduce using rule 109
+ '[' reduce using rule 109
+ '\\/' reduce using rule 109
+ ']' reduce using rule 109
+ 'as' reduce using rule 109
+ 'idJ' reduce using rule 109
+ 'recBOT' reduce using rule 109
+ 'recOR' reduce using rule 109
+ 'refl' reduce using rule 109
+ 'refl_{' reduce using rule 109
+ 'unit' reduce using rule 109
+ '|' reduce using rule 109
+ '|->' reduce using rule 109
+ '}' reduce using rule 109
+ '×' reduce using rule 109
+ '→' reduce using rule 109
+ '↦' reduce using rule 109
+ '∧' reduce using rule 109
+ '∨' reduce using rule 109
+ '≡' reduce using rule 109
+ '≤' reduce using rule 109
+ '⊤' reduce using rule 109
+ '⊥' reduce using rule 109
+ L_VarIdentTokenreduce using rule 109
+ L_HoleIdentTokenreduce using rule 109
+ %eof reduce using rule 109
State 288
- Term7 -> 'idJ' '(' Term ',' Term . ',' Term ',' Term ',' Term ',' Term ')' (rule 99)
+ Term7 -> '<' ParamDecl '→' Term '>' . (rule 94)
- ',' shift, and enter state 321
+ '(' reduce using rule 94
+ ')' reduce using rule 94
+ '*' reduce using rule 94
+ '*_1' reduce using rule 94
+ '*₁' reduce using rule 94
+ ',' reduce using rule 94
+ '->' reduce using rule 94
+ '/\\' reduce using rule 94
+ '0_2' reduce using rule 94
+ '0₂' reduce using rule 94
+ '1' reduce using rule 94
+ '1_2' reduce using rule 94
+ '1₂' reduce using rule 94
+ '2' reduce using rule 94
+ ':' reduce using rule 94
+ ':=' reduce using rule 94
+ ';' reduce using rule 94
+ '<' reduce using rule 94
+ '<=' reduce using rule 94
+ '=' reduce using rule 94
+ '===' reduce using rule 94
+ '=_{' reduce using rule 94
+ '>' reduce using rule 94
+ 'BOT' reduce using rule 94
+ 'CUBE' reduce using rule 94
+ 'TOP' reduce using rule 94
+ 'TOPE' reduce using rule 94
+ 'U' reduce using rule 94
+ 'Unit' reduce using rule 94
+ '[' reduce using rule 94
+ '\\/' reduce using rule 94
+ ']' reduce using rule 94
+ 'as' reduce using rule 94
+ 'idJ' reduce using rule 94
+ 'recBOT' reduce using rule 94
+ 'recOR' reduce using rule 94
+ 'refl' reduce using rule 94
+ 'refl_{' reduce using rule 94
+ 'unit' reduce using rule 94
+ '|' reduce using rule 94
+ '|->' reduce using rule 94
+ '}' reduce using rule 94
+ '×' reduce using rule 94
+ '→' reduce using rule 94
+ '↦' reduce using rule 94
+ '∧' reduce using rule 94
+ '∨' reduce using rule 94
+ '≡' reduce using rule 94
+ '≤' reduce using rule 94
+ '⊤' reduce using rule 94
+ '⊥' reduce using rule 94
+ L_VarIdentTokenreduce using rule 94
+ L_HoleIdentTokenreduce using rule 94
+ %eof reduce using rule 94
State 289
- Term7 -> 'recOR' '(' Term ',' Term . ',' Term ',' Term ')' (rule 91)
+ Term1 -> 'Sigma' '(' Pattern ':' Term . ')' ',' Term1 (rule 131)
- ',' shift, and enter state 320
+ ')' shift, and enter state 324
State 290
- Term7 -> 'refl_{' Term ':' Term '}' . (rule 98)
+ Term7 -> 'idJ' '(' Term ',' Term . ',' Term ',' Term ',' Term ',' Term ')' (rule 100)
- '(' reduce using rule 98
- ')' reduce using rule 98
- '*' reduce using rule 98
- '*_1' reduce using rule 98
- '*₁' reduce using rule 98
- ',' reduce using rule 98
- '->' reduce using rule 98
- '/\\' reduce using rule 98
- '0_2' reduce using rule 98
- '0₂' reduce using rule 98
- '1' reduce using rule 98
- '1_2' reduce using rule 98
- '1₂' reduce using rule 98
- '2' reduce using rule 98
- ':' reduce using rule 98
- ':=' reduce using rule 98
- ';' reduce using rule 98
- '<' reduce using rule 98
- '<=' reduce using rule 98
- '=' reduce using rule 98
- '===' reduce using rule 98
- '=_{' reduce using rule 98
- '>' reduce using rule 98
- 'BOT' reduce using rule 98
- 'CUBE' reduce using rule 98
- 'TOP' reduce using rule 98
- 'TOPE' reduce using rule 98
- 'U' reduce using rule 98
- 'Unit' reduce using rule 98
- '[' reduce using rule 98
- '\\/' reduce using rule 98
- ']' reduce using rule 98
- 'as' reduce using rule 98
- 'idJ' reduce using rule 98
- 'recBOT' reduce using rule 98
- 'recOR' reduce using rule 98
- 'refl' reduce using rule 98
- 'refl_{' reduce using rule 98
- 'unit' reduce using rule 98
- '|' reduce using rule 98
- '|->' reduce using rule 98
- '}' reduce using rule 98
- '×' reduce using rule 98
- '→' reduce using rule 98
- '↦' reduce using rule 98
- '∧' reduce using rule 98
- '∨' reduce using rule 98
- '≡' reduce using rule 98
- '≤' reduce using rule 98
- '⊤' reduce using rule 98
- '⊥' reduce using rule 98
- L_VarIdentTokenreduce using rule 98
- L_HoleIdentTokenreduce using rule 98
- %eof reduce using rule 98
+ ',' shift, and enter state 323
State 291
- ParamDecl -> '{' '(' Pattern ':' Term . ')' '|' Term '}' (rule 73)
+ Term7 -> 'recOR' '(' Term ',' Term . ',' Term ',' Term ')' (rule 92)
- ')' shift, and enter state 319
+ ',' shift, and enter state 322
State 292
- ParamDecl -> '{' Pattern ':' Term '|' . Term '}' (rule 74)
+ Term7 -> 'refl_{' Term ':' Term '}' . (rule 99)
+
+ '(' reduce using rule 99
+ ')' reduce using rule 99
+ '*' reduce using rule 99
+ '*_1' reduce using rule 99
+ '*₁' reduce using rule 99
+ ',' reduce using rule 99
+ '->' reduce using rule 99
+ '/\\' reduce using rule 99
+ '0_2' reduce using rule 99
+ '0₂' reduce using rule 99
+ '1' reduce using rule 99
+ '1_2' reduce using rule 99
+ '1₂' reduce using rule 99
+ '2' reduce using rule 99
+ ':' reduce using rule 99
+ ':=' reduce using rule 99
+ ';' reduce using rule 99
+ '<' reduce using rule 99
+ '<=' reduce using rule 99
+ '=' reduce using rule 99
+ '===' reduce using rule 99
+ '=_{' reduce using rule 99
+ '>' reduce using rule 99
+ 'BOT' reduce using rule 99
+ 'CUBE' reduce using rule 99
+ 'TOP' reduce using rule 99
+ 'TOPE' reduce using rule 99
+ 'U' reduce using rule 99
+ 'Unit' reduce using rule 99
+ '[' reduce using rule 99
+ '\\/' reduce using rule 99
+ ']' reduce using rule 99
+ 'as' reduce using rule 99
+ 'idJ' reduce using rule 99
+ 'recBOT' reduce using rule 99
+ 'recOR' reduce using rule 99
+ 'refl' reduce using rule 99
+ 'refl_{' reduce using rule 99
+ 'unit' reduce using rule 99
+ '|' reduce using rule 99
+ '|->' reduce using rule 99
+ '}' reduce using rule 99
+ '×' reduce using rule 99
+ '→' reduce using rule 99
+ '↦' reduce using rule 99
+ '∧' reduce using rule 99
+ '∨' reduce using rule 99
+ '≡' reduce using rule 99
+ '≤' reduce using rule 99
+ '⊤' reduce using rule 99
+ '⊥' reduce using rule 99
+ L_VarIdentTokenreduce using rule 99
+ L_HoleIdentTokenreduce using rule 99
+ %eof reduce using rule 99
+
+
+State 293
+
+ ParamDecl -> '{' '(' Pattern ':' Term . ')' '|' Term '}' (rule 74)
+
+ ')' shift, and enter state 321
+
+
+State 294
+
+ ParamDecl -> '{' Pattern ':' Term '|' . Term '}' (rule 75)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8583,66 +8607,66 @@ State 292
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 318
-
-State 293
-
- ParamDecl -> '{' Pattern ':' Term '}' . (rule 72)
-
- '->' reduce using rule 72
- '→' reduce using rule 72
- %eof reduce using rule 72
-
+ Term goto state 320
-State 294
+State 295
- Term1 -> 'Σ' '(' Pattern ':' Term . ')' ',' Term1 (rule 124)
+ ParamDecl -> '{' Pattern ':' Term '}' . (rule 73)
- ')' shift, and enter state 317
+ '->' reduce using rule 73
+ '→' reduce using rule 73
+ %eof reduce using rule 73
-State 295
+State 296
- Term1 -> '∑' '(' Pattern ':' Term . ')' ',' Term1 (rule 132)
+ Term1 -> 'Σ' '(' Pattern ':' Term . ')' ',' Term1 (rule 125)
- ')' shift, and enter state 316
+ ')' shift, and enter state 319
-State 296
+State 297
- Term1 -> Term2 '=_{' Term '}' Term2 . (rule 125)
+ Term1 -> '∑' '(' Pattern ':' Term . ')' ',' Term1 (rule 133)
- ')' reduce using rule 125
- ',' reduce using rule 125
- ':' reduce using rule 125
- ':=' reduce using rule 125
- ';' reduce using rule 125
- '>' reduce using rule 125
- ']' reduce using rule 125
- '|' reduce using rule 125
- '|->' reduce using rule 125
- '}' reduce using rule 125
- '↦' reduce using rule 125
- %eof reduce using rule 125
+ ')' shift, and enter state 318
-State 297
+State 298
- Param -> '(' ListPattern ':' Term ')' . (rule 64)
+ Term1 -> Term2 '=_{' Term '}' Term2 . (rule 126)
- '(' reduce using rule 64
- '->' reduce using rule 64
- ':' reduce using rule 64
- 'unit' reduce using rule 64
- '{' reduce using rule 64
- '→' reduce using rule 64
- L_VarIdentTokenreduce using rule 64
- %eof reduce using rule 64
+ ')' reduce using rule 126
+ ',' reduce using rule 126
+ ':' reduce using rule 126
+ ':=' reduce using rule 126
+ ';' reduce using rule 126
+ '>' reduce using rule 126
+ ']' reduce using rule 126
+ '|' reduce using rule 126
+ '|->' reduce using rule 126
+ '}' reduce using rule 126
+ '↦' reduce using rule 126
+ %eof reduce using rule 126
-State 298
+State 299
+
+ Param -> '(' ListPattern ':' Term ')' . (rule 65)
+
+ '(' reduce using rule 65
+ '->' reduce using rule 65
+ ':' reduce using rule 65
+ 'unit' reduce using rule 65
+ '{' reduce using rule 65
+ '→' reduce using rule 65
+ L_VarIdentTokenreduce using rule 65
+ %eof reduce using rule 65
- Param -> '(' ListPattern ':' Term '|' . Term ')' (rule 65)
+
+State 300
+
+ Param -> '(' ListPattern ':' Term '|' . Term ')' (rule 66)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8692,27 +8716,27 @@ State 298
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 315
+ Term goto state 317
-State 299
+State 301
- Pattern -> '(' Pattern ',' Pattern ')' . (rule 60)
+ Pattern -> '(' Pattern ',' Pattern ')' . (rule 61)
- '(' reduce using rule 60
- ')' reduce using rule 60
- ',' reduce using rule 60
- '->' reduce using rule 60
- ':' reduce using rule 60
- 'unit' reduce using rule 60
- '{' reduce using rule 60
- '→' reduce using rule 60
- L_VarIdentTokenreduce using rule 60
- %eof reduce using rule 60
+ '(' reduce using rule 61
+ ')' reduce using rule 61
+ ',' reduce using rule 61
+ '->' reduce using rule 61
+ ':' reduce using rule 61
+ 'unit' reduce using rule 61
+ '{' reduce using rule 61
+ '→' reduce using rule 61
+ L_VarIdentTokenreduce using rule 61
+ %eof reduce using rule 61
-State 300
+State 302
- Param -> '{' Pattern ':' Term '|' . Term '}' (rule 66)
+ Param -> '{' Pattern ':' Term '|' . Term '}' (rule 67)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8762,18 +8786,18 @@ State 300
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 314
+ Term goto state 316
-State 301
+State 303
- Command -> '#def' VarIdent DeclUsedVars ':' Term . ':=' Term (rule 51)
+ Command -> '#def' VarIdent DeclUsedVars ':' Term . ':=' Term (rule 52)
- ':=' shift, and enter state 313
+ ':=' shift, and enter state 315
-State 302
+State 304
- Command -> '#def' VarIdent DeclUsedVars ListParam ':' . Term ':=' Term (rule 50)
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' . Term ':=' Term (rule 51)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8823,18 +8847,18 @@ State 302
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 312
+ Term goto state 314
-State 303
+State 305
- Command -> '#define' VarIdent DeclUsedVars ':' Term . ':=' Term (rule 49)
+ Command -> '#define' VarIdent DeclUsedVars ':' Term . ':=' Term (rule 50)
- ':=' shift, and enter state 311
+ ':=' shift, and enter state 313
-State 304
+State 306
- Command -> '#define' VarIdent DeclUsedVars ListParam ':' . Term ':=' Term (rule 48)
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' . Term ':=' Term (rule 49)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8884,19 +8908,19 @@ State 304
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 310
+ Term goto state 312
-State 305
+State 307
- Command -> '#postulate' VarIdent DeclUsedVars ':' Term . (rule 43)
+ Command -> '#postulate' VarIdent DeclUsedVars ':' Term . (rule 44)
- ';' reduce using rule 43
- %eof reduce using rule 43
+ ';' reduce using rule 44
+ %eof reduce using rule 44
-State 306
+State 308
- Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' . Term (rule 42)
+ Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' . Term (rule 43)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -8946,46 +8970,46 @@ State 306
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 309
+ Term goto state 311
-State 307
+State 309
- Command -> '#section' SectionName ';' ListCommand '#end' . SectionName (rule 47)
+ Command -> '#section' SectionName ';' ListCommand '#end' . SectionName (rule 48)
- ';' reduce using rule 56
+ ';' reduce using rule 57
L_VarIdentTokenshift, and enter state 75
- %eof reduce using rule 56
+ %eof reduce using rule 57
VarIdentToken goto state 28
VarIdent goto state 106
- SectionName goto state 308
+ SectionName goto state 310
-State 308
+State 310
- Command -> '#section' SectionName ';' ListCommand '#end' SectionName . (rule 47)
+ Command -> '#section' SectionName ';' ListCommand '#end' SectionName . (rule 48)
- ';' reduce using rule 47
- %eof reduce using rule 47
+ ';' reduce using rule 48
+ %eof reduce using rule 48
-State 309
+State 311
- Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' Term . (rule 42)
+ Command -> '#postulate' VarIdent DeclUsedVars ListParam ':' Term . (rule 43)
- ';' reduce using rule 42
- %eof reduce using rule 42
+ ';' reduce using rule 43
+ %eof reduce using rule 43
-State 310
+State 312
- Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term . ':=' Term (rule 48)
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term . ':=' Term (rule 49)
- ':=' shift, and enter state 337
+ ':=' shift, and enter state 339
-State 311
+State 313
- Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' . Term (rule 49)
+ Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' . Term (rule 50)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9035,18 +9059,18 @@ State 311
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 336
+ Term goto state 338
-State 312
+State 314
- Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term . ':=' Term (rule 50)
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term . ':=' Term (rule 51)
- ':=' shift, and enter state 335
+ ':=' shift, and enter state 337
-State 313
+State 315
- Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' . Term (rule 51)
+ Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' . Term (rule 52)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9096,53 +9120,53 @@ State 313
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 334
+ Term goto state 336
-State 314
+State 316
- Param -> '{' Pattern ':' Term '|' Term . '}' (rule 66)
+ Param -> '{' Pattern ':' Term '|' Term . '}' (rule 67)
- '}' shift, and enter state 333
+ '}' shift, and enter state 335
-State 315
+State 317
- Param -> '(' ListPattern ':' Term '|' Term . ')' (rule 65)
+ Param -> '(' ListPattern ':' Term '|' Term . ')' (rule 66)
- ')' shift, and enter state 332
+ ')' shift, and enter state 334
-State 316
+State 318
- Term1 -> '∑' '(' Pattern ':' Term ')' . ',' Term1 (rule 132)
+ Term1 -> '∑' '(' Pattern ':' Term ')' . ',' Term1 (rule 133)
- ',' shift, and enter state 331
+ ',' shift, and enter state 333
-State 317
+State 319
- Term1 -> 'Σ' '(' Pattern ':' Term ')' . ',' Term1 (rule 124)
+ Term1 -> 'Σ' '(' Pattern ':' Term ')' . ',' Term1 (rule 125)
- ',' shift, and enter state 330
+ ',' shift, and enter state 332
-State 318
+State 320
- ParamDecl -> '{' Pattern ':' Term '|' Term . '}' (rule 74)
+ ParamDecl -> '{' Pattern ':' Term '|' Term . '}' (rule 75)
- '}' shift, and enter state 329
+ '}' shift, and enter state 331
-State 319
+State 321
- ParamDecl -> '{' '(' Pattern ':' Term ')' . '|' Term '}' (rule 73)
+ ParamDecl -> '{' '(' Pattern ':' Term ')' . '|' Term '}' (rule 74)
- '|' shift, and enter state 328
+ '|' shift, and enter state 330
-State 320
+State 322
- Term7 -> 'recOR' '(' Term ',' Term ',' . Term ',' Term ')' (rule 91)
+ Term7 -> 'recOR' '(' Term ',' Term ',' . Term ',' Term ')' (rule 92)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9192,11 +9216,11 @@ State 320
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 327
+ Term goto state 329
-State 321
+State 323
- Term7 -> 'idJ' '(' Term ',' Term ',' . Term ',' Term ',' Term ',' Term ')' (rule 99)
+ Term7 -> 'idJ' '(' Term ',' Term ',' . Term ',' Term ',' Term ',' Term ')' (rule 100)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9246,34 +9270,34 @@ State 321
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 326
+ Term goto state 328
-State 322
+State 324
- Term1 -> 'Sigma' '(' Pattern ':' Term ')' . ',' Term1 (rule 130)
+ Term1 -> 'Sigma' '(' Pattern ':' Term ')' . ',' Term1 (rule 131)
- ',' shift, and enter state 325
+ ',' shift, and enter state 327
-State 323
+State 325
- ParamDecl -> '(' Term ':' Term '|' Term . ')' (rule 71)
+ ParamDecl -> '(' Term ':' Term '|' Term . ')' (rule 72)
- ')' shift, and enter state 324
+ ')' shift, and enter state 326
-State 324
+State 326
- ParamDecl -> '(' Term ':' Term '|' Term ')' . (rule 71)
+ ParamDecl -> '(' Term ':' Term '|' Term ')' . (rule 72)
- '->' reduce using rule 71
- '→' reduce using rule 71
- %eof reduce using rule 71
+ '->' reduce using rule 72
+ '→' reduce using rule 72
+ %eof reduce using rule 72
-State 325
+State 327
- Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' . Term1 (rule 130)
+ Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' . Term1 (rule 131)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9321,26 +9345,26 @@ State 325
Term4 goto state 35
Term3 goto state 36
Term2 goto state 80
- Term1 goto state 345
+ Term1 goto state 347
Term6 goto state 39
-State 326
+State 328
- Term7 -> 'idJ' '(' Term ',' Term ',' Term . ',' Term ',' Term ',' Term ')' (rule 99)
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term . ',' Term ',' Term ',' Term ')' (rule 100)
- ',' shift, and enter state 344
+ ',' shift, and enter state 346
-State 327
+State 329
- Term7 -> 'recOR' '(' Term ',' Term ',' Term . ',' Term ')' (rule 91)
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term . ',' Term ')' (rule 92)
- ',' shift, and enter state 343
+ ',' shift, and enter state 345
-State 328
+State 330
- ParamDecl -> '{' '(' Pattern ':' Term ')' '|' . Term '}' (rule 73)
+ ParamDecl -> '{' '(' Pattern ':' Term ')' '|' . Term '}' (rule 74)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9390,20 +9414,20 @@ State 328
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 342
+ Term goto state 344
-State 329
+State 331
- ParamDecl -> '{' Pattern ':' Term '|' Term '}' . (rule 74)
+ ParamDecl -> '{' Pattern ':' Term '|' Term '}' . (rule 75)
- '->' reduce using rule 74
- '→' reduce using rule 74
- %eof reduce using rule 74
+ '->' reduce using rule 75
+ '→' reduce using rule 75
+ %eof reduce using rule 75
-State 330
+State 332
- Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' . Term1 (rule 124)
+ Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' . Term1 (rule 125)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9451,12 +9475,12 @@ State 330
Term4 goto state 35
Term3 goto state 36
Term2 goto state 80
- Term1 goto state 341
+ Term1 goto state 343
Term6 goto state 39
-State 331
+State 333
- Term1 -> '∑' '(' Pattern ':' Term ')' ',' . Term1 (rule 132)
+ Term1 -> '∑' '(' Pattern ':' Term ')' ',' . Term1 (rule 133)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9504,26 +9528,12 @@ State 331
Term4 goto state 35
Term3 goto state 36
Term2 goto state 80
- Term1 goto state 340
+ Term1 goto state 342
Term6 goto state 39
-State 332
-
- Param -> '(' ListPattern ':' Term '|' Term ')' . (rule 65)
-
- '(' reduce using rule 65
- '->' reduce using rule 65
- ':' reduce using rule 65
- 'unit' reduce using rule 65
- '{' reduce using rule 65
- '→' reduce using rule 65
- L_VarIdentTokenreduce using rule 65
- %eof reduce using rule 65
-
-
-State 333
+State 334
- Param -> '{' Pattern ':' Term '|' Term '}' . (rule 66)
+ Param -> '(' ListPattern ':' Term '|' Term ')' . (rule 66)
'(' reduce using rule 66
'->' reduce using rule 66
@@ -9535,17 +9545,31 @@ State 333
%eof reduce using rule 66
-State 334
+State 335
- Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' Term . (rule 51)
+ Param -> '{' Pattern ':' Term '|' Term '}' . (rule 67)
- ';' reduce using rule 51
- %eof reduce using rule 51
+ '(' reduce using rule 67
+ '->' reduce using rule 67
+ ':' reduce using rule 67
+ 'unit' reduce using rule 67
+ '{' reduce using rule 67
+ '→' reduce using rule 67
+ L_VarIdentTokenreduce using rule 67
+ %eof reduce using rule 67
-State 335
+State 336
+
+ Command -> '#def' VarIdent DeclUsedVars ':' Term ':=' Term . (rule 52)
+
+ ';' reduce using rule 52
+ %eof reduce using rule 52
+
+
+State 337
- Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' . Term (rule 50)
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' . Term (rule 51)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9595,19 +9619,19 @@ State 335
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 339
+ Term goto state 341
-State 336
+State 338
- Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' Term . (rule 49)
+ Command -> '#define' VarIdent DeclUsedVars ':' Term ':=' Term . (rule 50)
- ';' reduce using rule 49
- %eof reduce using rule 49
+ ';' reduce using rule 50
+ %eof reduce using rule 50
-State 337
+State 339
- Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' . Term (rule 48)
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' . Term (rule 49)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9657,70 +9681,70 @@ State 337
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 338
+ Term goto state 340
-State 338
+State 340
- Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' Term . (rule 48)
+ Command -> '#define' VarIdent DeclUsedVars ListParam ':' Term ':=' Term . (rule 49)
- ';' reduce using rule 48
- %eof reduce using rule 48
+ ';' reduce using rule 49
+ %eof reduce using rule 49
-State 339
+State 341
- Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' Term . (rule 50)
+ Command -> '#def' VarIdent DeclUsedVars ListParam ':' Term ':=' Term . (rule 51)
- ';' reduce using rule 50
- %eof reduce using rule 50
+ ';' reduce using rule 51
+ %eof reduce using rule 51
-State 340
+State 342
- Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 . (rule 132)
+ Term1 -> '∑' '(' Pattern ':' Term ')' ',' Term1 . (rule 133)
- ')' reduce using rule 132
- ',' reduce using rule 132
- ':' reduce using rule 132
- ':=' reduce using rule 132
- ';' reduce using rule 132
- '>' reduce using rule 132
- ']' reduce using rule 132
- '|' reduce using rule 132
- '|->' reduce using rule 132
- '}' reduce using rule 132
- '↦' reduce using rule 132
- %eof reduce using rule 132
+ ')' reduce using rule 133
+ ',' reduce using rule 133
+ ':' reduce using rule 133
+ ':=' reduce using rule 133
+ ';' reduce using rule 133
+ '>' reduce using rule 133
+ ']' reduce using rule 133
+ '|' reduce using rule 133
+ '|->' reduce using rule 133
+ '}' reduce using rule 133
+ '↦' reduce using rule 133
+ %eof reduce using rule 133
-State 341
+State 343
- Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 . (rule 124)
+ Term1 -> 'Σ' '(' Pattern ':' Term ')' ',' Term1 . (rule 125)
- ')' reduce using rule 124
- ',' reduce using rule 124
- ':' reduce using rule 124
- ':=' reduce using rule 124
- ';' reduce using rule 124
- '>' reduce using rule 124
- ']' reduce using rule 124
- '|' reduce using rule 124
- '|->' reduce using rule 124
- '}' reduce using rule 124
- '↦' reduce using rule 124
- %eof reduce using rule 124
+ ')' reduce using rule 125
+ ',' reduce using rule 125
+ ':' reduce using rule 125
+ ':=' reduce using rule 125
+ ';' reduce using rule 125
+ '>' reduce using rule 125
+ ']' reduce using rule 125
+ '|' reduce using rule 125
+ '|->' reduce using rule 125
+ '}' reduce using rule 125
+ '↦' reduce using rule 125
+ %eof reduce using rule 125
-State 342
+State 344
- ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term . '}' (rule 73)
+ ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term . '}' (rule 74)
- '}' shift, and enter state 348
+ '}' shift, and enter state 350
-State 343
+State 345
- Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' . Term ')' (rule 91)
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' . Term ')' (rule 92)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9770,11 +9794,11 @@ State 343
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 347
+ Term goto state 349
-State 344
+State 346
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' . Term ',' Term ',' Term ')' (rule 99)
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' . Term ',' Term ',' Term ')' (rule 100)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9824,112 +9848,112 @@ State 344
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 346
+ Term goto state 348
-State 345
-
- Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 . (rule 130)
-
- ')' reduce using rule 130
- ',' reduce using rule 130
- ':' reduce using rule 130
- ':=' reduce using rule 130
- ';' reduce using rule 130
- '>' reduce using rule 130
- ']' reduce using rule 130
- '|' reduce using rule 130
- '|->' reduce using rule 130
- '}' reduce using rule 130
- '↦' reduce using rule 130
- %eof reduce using rule 130
+State 347
+ Term1 -> 'Sigma' '(' Pattern ':' Term ')' ',' Term1 . (rule 131)
-State 346
+ ')' reduce using rule 131
+ ',' reduce using rule 131
+ ':' reduce using rule 131
+ ':=' reduce using rule 131
+ ';' reduce using rule 131
+ '>' reduce using rule 131
+ ']' reduce using rule 131
+ '|' reduce using rule 131
+ '|->' reduce using rule 131
+ '}' reduce using rule 131
+ '↦' reduce using rule 131
+ %eof reduce using rule 131
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term . ',' Term ',' Term ')' (rule 99)
- ',' shift, and enter state 350
+State 348
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term . ',' Term ',' Term ')' (rule 100)
-State 347
+ ',' shift, and enter state 352
- Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term . ')' (rule 91)
- ')' shift, and enter state 349
+State 349
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term . ')' (rule 92)
-State 348
+ ')' shift, and enter state 351
- ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' . (rule 73)
- '->' reduce using rule 73
- '→' reduce using rule 73
- %eof reduce using rule 73
+State 350
+ ParamDecl -> '{' '(' Pattern ':' Term ')' '|' Term '}' . (rule 74)
-State 349
+ '->' reduce using rule 74
+ '→' reduce using rule 74
+ %eof reduce using rule 74
- Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' . (rule 91)
- '(' reduce using rule 91
- ')' reduce using rule 91
- '*' reduce using rule 91
- '*_1' reduce using rule 91
- '*₁' reduce using rule 91
- ',' reduce using rule 91
- '->' reduce using rule 91
- '/\\' reduce using rule 91
- '0_2' reduce using rule 91
- '0₂' reduce using rule 91
- '1' reduce using rule 91
- '1_2' reduce using rule 91
- '1₂' reduce using rule 91
- '2' reduce using rule 91
- ':' reduce using rule 91
- ':=' reduce using rule 91
- ';' reduce using rule 91
- '<' reduce using rule 91
- '<=' reduce using rule 91
- '=' reduce using rule 91
- '===' reduce using rule 91
- '=_{' reduce using rule 91
- '>' reduce using rule 91
- 'BOT' reduce using rule 91
- 'CUBE' reduce using rule 91
- 'TOP' reduce using rule 91
- 'TOPE' reduce using rule 91
- 'U' reduce using rule 91
- 'Unit' reduce using rule 91
- '[' reduce using rule 91
- '\\/' reduce using rule 91
- ']' reduce using rule 91
- 'as' reduce using rule 91
- 'idJ' reduce using rule 91
- 'recBOT' reduce using rule 91
- 'recOR' reduce using rule 91
- 'refl' reduce using rule 91
- 'refl_{' reduce using rule 91
- 'unit' reduce using rule 91
- '|' reduce using rule 91
- '|->' reduce using rule 91
- '}' reduce using rule 91
- '×' reduce using rule 91
- '→' reduce using rule 91
- '↦' reduce using rule 91
- '∧' reduce using rule 91
- '∨' reduce using rule 91
- '≡' reduce using rule 91
- '≤' reduce using rule 91
- '⊤' reduce using rule 91
- '⊥' reduce using rule 91
- L_VarIdentTokenreduce using rule 91
- L_HoleIdentTokenreduce using rule 91
- %eof reduce using rule 91
+State 351
+ Term7 -> 'recOR' '(' Term ',' Term ',' Term ',' Term ')' . (rule 92)
-State 350
+ '(' reduce using rule 92
+ ')' reduce using rule 92
+ '*' reduce using rule 92
+ '*_1' reduce using rule 92
+ '*₁' reduce using rule 92
+ ',' reduce using rule 92
+ '->' reduce using rule 92
+ '/\\' reduce using rule 92
+ '0_2' reduce using rule 92
+ '0₂' reduce using rule 92
+ '1' reduce using rule 92
+ '1_2' reduce using rule 92
+ '1₂' reduce using rule 92
+ '2' reduce using rule 92
+ ':' reduce using rule 92
+ ':=' reduce using rule 92
+ ';' reduce using rule 92
+ '<' reduce using rule 92
+ '<=' reduce using rule 92
+ '=' reduce using rule 92
+ '===' reduce using rule 92
+ '=_{' reduce using rule 92
+ '>' reduce using rule 92
+ 'BOT' reduce using rule 92
+ 'CUBE' reduce using rule 92
+ 'TOP' reduce using rule 92
+ 'TOPE' reduce using rule 92
+ 'U' reduce using rule 92
+ 'Unit' reduce using rule 92
+ '[' reduce using rule 92
+ '\\/' reduce using rule 92
+ ']' reduce using rule 92
+ 'as' reduce using rule 92
+ 'idJ' reduce using rule 92
+ 'recBOT' reduce using rule 92
+ 'recOR' reduce using rule 92
+ 'refl' reduce using rule 92
+ 'refl_{' reduce using rule 92
+ 'unit' reduce using rule 92
+ '|' reduce using rule 92
+ '|->' reduce using rule 92
+ '}' reduce using rule 92
+ '×' reduce using rule 92
+ '→' reduce using rule 92
+ '↦' reduce using rule 92
+ '∧' reduce using rule 92
+ '∨' reduce using rule 92
+ '≡' reduce using rule 92
+ '≤' reduce using rule 92
+ '⊤' reduce using rule 92
+ '⊥' reduce using rule 92
+ L_VarIdentTokenreduce using rule 92
+ L_HoleIdentTokenreduce using rule 92
+ %eof reduce using rule 92
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' . Term ',' Term ')' (rule 99)
+
+State 352
+
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' . Term ',' Term ')' (rule 100)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -9979,18 +10003,18 @@ State 350
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 351
+ Term goto state 353
-State 351
+State 353
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term . ',' Term ')' (rule 99)
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term . ',' Term ')' (rule 100)
- ',' shift, and enter state 352
+ ',' shift, and enter state 354
-State 352
+State 354
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' . Term ')' (rule 99)
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' . Term ')' (rule 100)
'(' shift, and enter state 42
'*_1' shift, and enter state 43
@@ -10040,79 +10064,79 @@ State 352
Term2 goto state 37
Term1 goto state 38
Term6 goto state 39
- Term goto state 353
+ Term goto state 355
-State 353
+State 355
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term . ')' (rule 99)
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term . ')' (rule 100)
- ')' shift, and enter state 354
+ ')' shift, and enter state 356
-State 354
+State 356
- Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' . (rule 99)
+ Term7 -> 'idJ' '(' Term ',' Term ',' Term ',' Term ',' Term ',' Term ')' . (rule 100)
- '(' reduce using rule 99
- ')' reduce using rule 99
- '*' reduce using rule 99
- '*_1' reduce using rule 99
- '*₁' reduce using rule 99
- ',' reduce using rule 99
- '->' reduce using rule 99
- '/\\' reduce using rule 99
- '0_2' reduce using rule 99
- '0₂' reduce using rule 99
- '1' reduce using rule 99
- '1_2' reduce using rule 99
- '1₂' reduce using rule 99
- '2' reduce using rule 99
- ':' reduce using rule 99
- ':=' reduce using rule 99
- ';' reduce using rule 99
- '<' reduce using rule 99
- '<=' reduce using rule 99
- '=' reduce using rule 99
- '===' reduce using rule 99
- '=_{' reduce using rule 99
- '>' reduce using rule 99
- 'BOT' reduce using rule 99
- 'CUBE' reduce using rule 99
- 'TOP' reduce using rule 99
- 'TOPE' reduce using rule 99
- 'U' reduce using rule 99
- 'Unit' reduce using rule 99
- '[' reduce using rule 99
- '\\/' reduce using rule 99
- ']' reduce using rule 99
- 'as' reduce using rule 99
- 'idJ' reduce using rule 99
- 'recBOT' reduce using rule 99
- 'recOR' reduce using rule 99
- 'refl' reduce using rule 99
- 'refl_{' reduce using rule 99
- 'unit' reduce using rule 99
- '|' reduce using rule 99
- '|->' reduce using rule 99
- '}' reduce using rule 99
- '×' reduce using rule 99
- '→' reduce using rule 99
- '↦' reduce using rule 99
- '∧' reduce using rule 99
- '∨' reduce using rule 99
- '≡' reduce using rule 99
- '≤' reduce using rule 99
- '⊤' reduce using rule 99
- '⊥' reduce using rule 99
- L_VarIdentTokenreduce using rule 99
- L_HoleIdentTokenreduce using rule 99
- %eof reduce using rule 99
+ '(' reduce using rule 100
+ ')' reduce using rule 100
+ '*' reduce using rule 100
+ '*_1' reduce using rule 100
+ '*₁' reduce using rule 100
+ ',' reduce using rule 100
+ '->' reduce using rule 100
+ '/\\' reduce using rule 100
+ '0_2' reduce using rule 100
+ '0₂' reduce using rule 100
+ '1' reduce using rule 100
+ '1_2' reduce using rule 100
+ '1₂' reduce using rule 100
+ '2' reduce using rule 100
+ ':' reduce using rule 100
+ ':=' reduce using rule 100
+ ';' reduce using rule 100
+ '<' reduce using rule 100
+ '<=' reduce using rule 100
+ '=' reduce using rule 100
+ '===' reduce using rule 100
+ '=_{' reduce using rule 100
+ '>' reduce using rule 100
+ 'BOT' reduce using rule 100
+ 'CUBE' reduce using rule 100
+ 'TOP' reduce using rule 100
+ 'TOPE' reduce using rule 100
+ 'U' reduce using rule 100
+ 'Unit' reduce using rule 100
+ '[' reduce using rule 100
+ '\\/' reduce using rule 100
+ ']' reduce using rule 100
+ 'as' reduce using rule 100
+ 'idJ' reduce using rule 100
+ 'recBOT' reduce using rule 100
+ 'recOR' reduce using rule 100
+ 'refl' reduce using rule 100
+ 'refl_{' reduce using rule 100
+ 'unit' reduce using rule 100
+ '|' reduce using rule 100
+ '|->' reduce using rule 100
+ '}' reduce using rule 100
+ '×' reduce using rule 100
+ '→' reduce using rule 100
+ '↦' reduce using rule 100
+ '∧' reduce using rule 100
+ '∨' reduce using rule 100
+ '≡' reduce using rule 100
+ '≤' reduce using rule 100
+ '⊤' reduce using rule 100
+ '⊥' reduce using rule 100
+ L_VarIdentTokenreduce using rule 100
+ L_HoleIdentTokenreduce using rule 100
+ %eof reduce using rule 100
-----------------------------------------------------------------------------
Grammar Totals
-----------------------------------------------------------------------------
-Number of rules: 144
-Number of terminals: 80
+Number of rules: 145
+Number of terminals: 81
Number of non-terminals: 55
-Number of states: 355
+Number of states: 357
diff --git a/rzk/src/Language/Rzk/Syntax/Par.y b/rzk/src/Language/Rzk/Syntax/Par.y
index 74943c4de..7945bdf3a 100644
--- a/rzk/src/Language/Rzk/Syntax/Par.y
+++ b/rzk/src/Language/Rzk/Syntax/Par.y
@@ -83,73 +83,74 @@ import Language.Rzk.Syntax.Lex
'#end' { PT _ (TS _ 8) }
'#lang' { PT _ (TS _ 9) }
'#postulate' { PT _ (TS _ 10) }
- '#section' { PT _ (TS _ 11) }
- '#set-option' { PT _ (TS _ 12) }
- '#unset-option' { PT _ (TS _ 13) }
- '#variable' { PT _ (TS _ 14) }
- '#variables' { PT _ (TS _ 15) }
- '(' { PT _ (TS _ 16) }
- ')' { PT _ (TS _ 17) }
- '*' { PT _ (TS _ 18) }
- '*_1' { PT _ (TS _ 19) }
- '*₁' { PT _ (TS _ 20) }
- ',' { PT _ (TS _ 21) }
- '->' { PT _ (TS _ 22) }
- '/\\' { PT _ (TS _ 23) }
- '0_2' { PT _ (TS _ 24) }
- '0₂' { PT _ (TS _ 25) }
- '1' { PT _ (TS _ 26) }
- '1_2' { PT _ (TS _ 27) }
- '1₂' { PT _ (TS _ 28) }
- '2' { PT _ (TS _ 29) }
- ':' { PT _ (TS _ 30) }
- ':=' { PT _ (TS _ 31) }
- ';' { PT _ (TS _ 32) }
- '<' { PT _ (TS _ 33) }
- '<=' { PT _ (TS _ 34) }
- '=' { PT _ (TS _ 35) }
- '===' { PT _ (TS _ 36) }
- '=_{' { PT _ (TS _ 37) }
- '>' { PT _ (TS _ 38) }
- 'BOT' { PT _ (TS _ 39) }
- 'CUBE' { PT _ (TS _ 40) }
- 'Sigma' { PT _ (TS _ 41) }
- 'TOP' { PT _ (TS _ 42) }
- 'TOPE' { PT _ (TS _ 43) }
- 'U' { PT _ (TS _ 44) }
- 'Unit' { PT _ (TS _ 45) }
- '[' { PT _ (TS _ 46) }
- '\\' { PT _ (TS _ 47) }
- '\\/' { PT _ (TS _ 48) }
- ']' { PT _ (TS _ 49) }
- 'as' { PT _ (TS _ 50) }
- 'first' { PT _ (TS _ 51) }
- 'idJ' { PT _ (TS _ 52) }
- 'recBOT' { PT _ (TS _ 53) }
- 'recOR' { PT _ (TS _ 54) }
- 'refl' { PT _ (TS _ 55) }
- 'refl_{' { PT _ (TS _ 56) }
- 'rzk-1' { PT _ (TS _ 57) }
- 'second' { PT _ (TS _ 58) }
- 'unit' { PT _ (TS _ 59) }
- 'uses' { PT _ (TS _ 60) }
- '{' { PT _ (TS _ 61) }
- '|' { PT _ (TS _ 62) }
- '|->' { PT _ (TS _ 63) }
- '}' { PT _ (TS _ 64) }
- '×' { PT _ (TS _ 65) }
- 'Σ' { PT _ (TS _ 66) }
- 'π₁' { PT _ (TS _ 67) }
- 'π₂' { PT _ (TS _ 68) }
- '→' { PT _ (TS _ 69) }
- '↦' { PT _ (TS _ 70) }
- '∑' { PT _ (TS _ 71) }
- '∧' { PT _ (TS _ 72) }
- '∨' { PT _ (TS _ 73) }
- '≡' { PT _ (TS _ 74) }
- '≤' { PT _ (TS _ 75) }
- '⊤' { PT _ (TS _ 76) }
- '⊥' { PT _ (TS _ 77) }
+ '#require-file' { PT _ (TS _ 11) }
+ '#section' { PT _ (TS _ 12) }
+ '#set-option' { PT _ (TS _ 13) }
+ '#unset-option' { PT _ (TS _ 14) }
+ '#variable' { PT _ (TS _ 15) }
+ '#variables' { PT _ (TS _ 16) }
+ '(' { PT _ (TS _ 17) }
+ ')' { PT _ (TS _ 18) }
+ '*' { PT _ (TS _ 19) }
+ '*_1' { PT _ (TS _ 20) }
+ '*₁' { PT _ (TS _ 21) }
+ ',' { PT _ (TS _ 22) }
+ '->' { PT _ (TS _ 23) }
+ '/\\' { PT _ (TS _ 24) }
+ '0_2' { PT _ (TS _ 25) }
+ '0₂' { PT _ (TS _ 26) }
+ '1' { PT _ (TS _ 27) }
+ '1_2' { PT _ (TS _ 28) }
+ '1₂' { PT _ (TS _ 29) }
+ '2' { PT _ (TS _ 30) }
+ ':' { PT _ (TS _ 31) }
+ ':=' { PT _ (TS _ 32) }
+ ';' { PT _ (TS _ 33) }
+ '<' { PT _ (TS _ 34) }
+ '<=' { PT _ (TS _ 35) }
+ '=' { PT _ (TS _ 36) }
+ '===' { PT _ (TS _ 37) }
+ '=_{' { PT _ (TS _ 38) }
+ '>' { PT _ (TS _ 39) }
+ 'BOT' { PT _ (TS _ 40) }
+ 'CUBE' { PT _ (TS _ 41) }
+ 'Sigma' { PT _ (TS _ 42) }
+ 'TOP' { PT _ (TS _ 43) }
+ 'TOPE' { PT _ (TS _ 44) }
+ 'U' { PT _ (TS _ 45) }
+ 'Unit' { PT _ (TS _ 46) }
+ '[' { PT _ (TS _ 47) }
+ '\\' { PT _ (TS _ 48) }
+ '\\/' { PT _ (TS _ 49) }
+ ']' { PT _ (TS _ 50) }
+ 'as' { PT _ (TS _ 51) }
+ 'first' { PT _ (TS _ 52) }
+ 'idJ' { PT _ (TS _ 53) }
+ 'recBOT' { PT _ (TS _ 54) }
+ 'recOR' { PT _ (TS _ 55) }
+ 'refl' { PT _ (TS _ 56) }
+ 'refl_{' { PT _ (TS _ 57) }
+ 'rzk-1' { PT _ (TS _ 58) }
+ 'second' { PT _ (TS _ 59) }
+ 'unit' { PT _ (TS _ 60) }
+ 'uses' { PT _ (TS _ 61) }
+ '{' { PT _ (TS _ 62) }
+ '|' { PT _ (TS _ 63) }
+ '|->' { PT _ (TS _ 64) }
+ '}' { PT _ (TS _ 65) }
+ '×' { PT _ (TS _ 66) }
+ 'Σ' { PT _ (TS _ 67) }
+ 'π₁' { PT _ (TS _ 68) }
+ 'π₂' { PT _ (TS _ 69) }
+ '→' { PT _ (TS _ 70) }
+ '↦' { PT _ (TS _ 71) }
+ '∑' { PT _ (TS _ 72) }
+ '∧' { PT _ (TS _ 73) }
+ '∨' { PT _ (TS _ 74) }
+ '≡' { PT _ (TS _ 75) }
+ '≤' { PT _ (TS _ 76) }
+ '⊤' { PT _ (TS _ 77) }
+ '⊥' { PT _ (TS _ 78) }
L_quoted { PT _ (TL _) }
L_VarIdentToken { PT _ (T_VarIdentToken _) }
L_HoleIdentToken { PT _ (T_HoleIdentToken _) }
@@ -192,7 +193,8 @@ Language
Command :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command) }
Command
- : '#set-option' String '=' String { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
+ : '#require-file' String { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandRequireFile (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
+ | '#set-option' String '=' String { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
| '#unset-option' String { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
| '#check' Term ':' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }
| '#compute' Term { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) }
diff --git a/rzk/src/Language/Rzk/Syntax/Print.hs b/rzk/src/Language/Rzk/Syntax/Print.hs
index aac398280..212e25e21 100644
--- a/rzk/src/Language/Rzk/Syntax/Print.hs
+++ b/rzk/src/Language/Rzk/Syntax/Print.hs
@@ -1,8 +1,8 @@
-- File generated by the BNF Converter (bnfc 2.9.4.1).
-{-# LANGUAGE CPP #-}
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE LambdaCase #-}
#if __GLASGOW_HASKELL__ <= 708
{-# LANGUAGE OverlappingInstances #-}
#endif
@@ -11,13 +11,16 @@
module Language.Rzk.Syntax.Print where
-import Data.Char (Char, isSpace)
+import Prelude
+ ( ($), (.)
+ , Bool(..), (==), (<)
+ , Int, Integer, Double, (+), (-), (*)
+ , String, (++)
+ , ShowS, showChar, showString
+ , all, elem, foldr, id, map, null, replicate, shows, span
+ )
+import Data.Char ( Char, isSpace )
import qualified Language.Rzk.Syntax.Abs
-import Prelude (Bool (..), Double, Int, Integer,
- ShowS, String, all, elem, foldr, id,
- map, null, replicate, showChar,
- showString, shows, span, ($), (*),
- (+), (++), (-), (.), (<), (==))
-- | The top-level printing method.
@@ -40,9 +43,9 @@ render d = rend 0 False (map ($ "") $ d []) ""
rend i p = \case
"[" :ts -> char '[' . rend i False ts
"(" :ts -> char '(' . rend i False ts
--- "{" :ts -> onNewLine i p . showChar '{' . new (i+1) ts
--- "}" : ";":ts -> onNewLine (i-1) p . showString "};" . new (i-1) ts
--- "}" :ts -> onNewLine (i-1) p . showChar '}' . new (i-1) ts
+ "{" :ts -> onNewLine i p . showChar '{' . new (i+1) ts
+ "}" : ";":ts -> onNewLine (i-1) p . showString "};" . new (i-1) ts
+ "}" :ts -> onNewLine (i-1) p . showChar '}' . new (i-1) ts
[";"] -> char ';'
";" :ts -> char ';' . new i ts
t : ts@(s:_) | closingOrPunctuation s
@@ -121,10 +124,10 @@ printString s = doc (showChar '"' . concatS (map (mkEsc '"') s) . showChar '"')
mkEsc :: Char -> Char -> ShowS
mkEsc q = \case
s | s == q -> showChar '\\' . showChar s
- '\\' -> showString "\\\\"
- '\n' -> showString "\\n"
- '\t' -> showString "\\t"
- s -> showChar s
+ '\\' -> showString "\\\\"
+ '\n' -> showString "\\n"
+ '\t' -> showString "\\t"
+ s -> showChar s
prPrec :: Int -> Int -> Doc -> Doc
prPrec i j = if j < i then parenth else id
@@ -152,8 +155,8 @@ instance Print (Language.Rzk.Syntax.Abs.VarIdent' a) where
Language.Rzk.Syntax.Abs.VarIdent _ varidenttoken -> prPrec i 0 (concatD [prt 0 varidenttoken])
instance Print [Language.Rzk.Syntax.Abs.VarIdent' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
instance Print (Language.Rzk.Syntax.Abs.LanguageDecl' a) where
@@ -166,6 +169,7 @@ instance Print (Language.Rzk.Syntax.Abs.Language' a) where
instance Print (Language.Rzk.Syntax.Abs.Command' a) where
prt i = \case
+ Language.Rzk.Syntax.Abs.CommandRequireFile _ str -> prPrec i 0 (concatD [doc (showString "#require-file"), printString str])
Language.Rzk.Syntax.Abs.CommandSetOption _ str1 str2 -> prPrec i 0 (concatD [doc (showString "#set-option"), printString str1, doc (showString "="), printString str2])
Language.Rzk.Syntax.Abs.CommandUnsetOption _ str -> prPrec i 0 (concatD [doc (showString "#unset-option"), printString str])
Language.Rzk.Syntax.Abs.CommandCheck _ term1 term2 -> prPrec i 0 (concatD [doc (showString "#check"), prt 0 term1, doc (showString ":"), prt 0 term2])
@@ -178,7 +182,7 @@ instance Print (Language.Rzk.Syntax.Abs.Command' a) where
Language.Rzk.Syntax.Abs.CommandDefine _ varident declusedvars params term1 term2 -> prPrec i 0 (concatD [doc (showString "#define"), prt 0 varident, prt 0 declusedvars, prt 0 params, doc (showString ":"), prt 0 term1, doc (showString ":="), prt 0 term2])
instance Print [Language.Rzk.Syntax.Abs.Command' a] where
- prt _ [] = concatD []
+ prt _ [] = concatD []
prt _ (x:xs) = concatD [prt 0 x, doc (showString ";"), prt 0 xs]
instance Print (Language.Rzk.Syntax.Abs.DeclUsedVars' a) where
@@ -197,8 +201,8 @@ instance Print (Language.Rzk.Syntax.Abs.Pattern' a) where
Language.Rzk.Syntax.Abs.PatternPair _ pattern_1 pattern_2 -> prPrec i 0 (concatD [doc (showString "("), prt 0 pattern_1, doc (showString ","), prt 0 pattern_2, doc (showString ")")])
instance Print [Language.Rzk.Syntax.Abs.Pattern' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
instance Print (Language.Rzk.Syntax.Abs.Param' a) where
@@ -209,8 +213,8 @@ instance Print (Language.Rzk.Syntax.Abs.Param' a) where
Language.Rzk.Syntax.Abs.ParamPatternShapeDeprecated _ pattern_ term1 term2 -> prPrec i 0 (concatD [doc (showString "{"), prt 0 pattern_, doc (showString ":"), prt 0 term1, doc (showString "|"), prt 0 term2, doc (showString "}")])
instance Print [Language.Rzk.Syntax.Abs.Param' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
instance Print (Language.Rzk.Syntax.Abs.ParamDecl' a) where
@@ -227,8 +231,8 @@ instance Print (Language.Rzk.Syntax.Abs.Restriction' a) where
Language.Rzk.Syntax.Abs.ASCII_Restriction _ term1 term2 -> prPrec i 0 (concatD [prt 0 term1, doc (showString "|->"), prt 0 term2])
instance Print [Language.Rzk.Syntax.Abs.Restriction' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, doc (showString ","), prt 0 xs]
instance Print (Language.Rzk.Syntax.Abs.Term' a) where
@@ -288,6 +292,6 @@ instance Print (Language.Rzk.Syntax.Abs.Term' a) where
Language.Rzk.Syntax.Abs.ASCII_Second _ term -> prPrec i 6 (concatD [doc (showString "second"), prt 7 term])
instance Print [Language.Rzk.Syntax.Abs.Term' a] where
- prt _ [] = concatD []
- prt _ [x] = concatD [prt 0 x]
+ prt _ [] = concatD []
+ prt _ [x] = concatD [prt 0 x]
prt _ (x:xs) = concatD [prt 0 x, doc (showString ","), prt 0 xs]
diff --git a/rzk/src/Language/Rzk/Syntax/Skel.hs b/rzk/src/Language/Rzk/Syntax/Skel.hs
index 0be482984..0b7caf7f8 100644
--- a/rzk/src/Language/Rzk/Syntax/Skel.hs
+++ b/rzk/src/Language/Rzk/Syntax/Skel.hs
@@ -45,6 +45,7 @@ transLanguage x = case x of
transCommand :: Show a => Language.Rzk.Syntax.Abs.Command' a -> Result
transCommand x = case x of
+ Language.Rzk.Syntax.Abs.CommandRequireFile _ string -> failure x
Language.Rzk.Syntax.Abs.CommandSetOption _ string1 string2 -> failure x
Language.Rzk.Syntax.Abs.CommandUnsetOption _ string -> failure x
Language.Rzk.Syntax.Abs.CommandCheck _ term1 term2 -> failure x
diff --git a/rzk/src/Language/Rzk/VSCode/Tokenize.hs b/rzk/src/Language/Rzk/VSCode/Tokenize.hs
index 6266ecbc3..debc09038 100644
--- a/rzk/src/Language/Rzk/VSCode/Tokenize.hs
+++ b/rzk/src/Language/Rzk/VSCode/Tokenize.hs
@@ -18,6 +18,7 @@ tokenizeLanguageDecl _ = []
tokenizeCommand :: Command -> [VSToken]
tokenizeCommand command = case command of
+ CommandRequireFile{} -> []
CommandSetOption{} -> [] -- NOTE: fallback to TextMate
CommandUnsetOption{} -> [] -- NOTE: fallback to TextMate
CommandCheck _loc term type_ -> foldMap tokenizeTerm [term, type_]
diff --git a/rzk/src/Rzk/TypeCheck.hs b/rzk/src/Rzk/TypeCheck.hs
index eda8c6982..3f4aad518 100644
--- a/rzk/src/Rzk/TypeCheck.hs
+++ b/rzk/src/Rzk/TypeCheck.hs
@@ -52,9 +52,9 @@ type Decl' = Decl VarIdent
typecheckModulesWithLocation :: [(FilePath, Rzk.Module)] -> TypeCheck VarIdent ()
typecheckModulesWithLocation = \case
[] -> return ()
- m : ms -> do
+ m@(modulePath, _module) : ms -> do
decls <- typecheckModuleWithLocation m
- localDeclsPrepared decls $
+ addModuleDeclsPrepared modulePath decls $
typecheckModulesWithLocation ms
typecheckModules :: [Rzk.Module] -> TypeCheck VarIdent ()
@@ -87,6 +87,13 @@ typecheckModule path (Rzk.Module _moduleLoc _lang commands) =
go :: Integer -> [Rzk.Command] -> TypeCheck VarIdent [Decl']
go _i [] = return []
+ go i (command@(Rzk.CommandRequireFile _loc requiredPath) : moreCommands) = do
+ traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]"
+ <> " Requiring formalisations from " <> requiredPath) $ do
+ withCommand command $ do
+ requireModuleFromFile requiredPath $ do
+ go (i + 1) moreCommands
+
go i (command@(Rzk.CommandUnsetOption _loc optionName) : moreCommands) = do
traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]"
<> " Unsetting option " <> optionName) $ do
@@ -564,6 +571,10 @@ data ScopeInfo var = ScopeInfo
, scopeVars :: [(var, VarInfo var)]
} deriving (Functor, Foldable)
+addVarsToScope :: [(var, VarInfo var)] -> ScopeInfo var -> ScopeInfo var
+addVarsToScope vars ScopeInfo{..} = ScopeInfo
+ { scopeVars = vars ++ scopeVars, .. }
+
addVarToScope :: var -> VarInfo var -> ScopeInfo var -> ScopeInfo var
addVarToScope var info ScopeInfo{..} = ScopeInfo
{ scopeVars = (var, info) : scopeVars, .. }
@@ -578,6 +589,7 @@ data VarInfo var = VarInfo
data Context var = Context
{ localScopes :: [ScopeInfo var]
+ , moduleScopes :: [(FilePath, ScopeInfo var)]
, localTopes :: [TermT var]
, localTopesNF :: [TermT var]
, localTopesNFUnion :: [[TermT var]]
@@ -590,6 +602,14 @@ data Context var = Context
, renderBackend :: Maybe RenderBackend
} deriving (Functor, Foldable)
+addVarsInCurrentScope :: [(var, VarInfo var)] -> Context var -> Context var
+addVarsInCurrentScope vars Context{..} = Context
+ { localScopes =
+ case localScopes of
+ [] -> [ScopeInfo Nothing vars]
+ scope : scopes -> addVarsToScope vars scope : scopes
+ , .. }
+
addVarInCurrentScope :: var -> VarInfo var -> Context var -> Context var
addVarInCurrentScope var info Context{..} = Context
{ localScopes =
@@ -598,9 +618,18 @@ addVarInCurrentScope var info Context{..} = Context
scope : scopes -> addVarToScope var info scope : scopes
, .. }
+addVarInModuleScope :: FilePath -> var -> VarInfo var -> Context var -> Context var
+addVarInModuleScope modulePath var info Context{..} = Context
+ { moduleScopes =
+ case lookup modulePath moduleScopes of
+ Nothing -> (modulePath, ScopeInfo Nothing [(var, info)]) : moduleScopes
+ Just scope -> (modulePath, addVarToScope var info scope) : filter ((/= modulePath) . fst) moduleScopes
+ , .. }
+
emptyContext :: Context var
emptyContext = Context
{ localScopes = [ScopeInfo Nothing []]
+ , moduleScopes = []
, localTopes = [topeTopT]
, localTopesNF = [topeTopT]
, localTopesNFUnion = [[topeTopT]]
@@ -630,6 +659,21 @@ varValues = map (fmap varValue) . varInfos
varOrigs :: Context var -> [(var, Maybe VarIdent)]
varOrigs = map (fmap varOrig) . varInfos
+requireModuleFromFile :: FilePath -> TypeCheck VarIdent a -> TypeCheck VarIdent a
+requireModuleFromFile modulePath next = do
+ asks (lookup modulePath . moduleScopes) >>= \case
+ Nothing -> do
+ paths <- asks (map fst . moduleScopes)
+ issueTypeError $ TypeErrorOther $ unlines
+ [ "No module found for path " <> modulePath
+ , "Known modules:"
+ , intercalate "\n" (map (" " ++) paths)
+ ]
+ Just scope -> do
+ forM_ (scopeVars scope) $ \(var, _) ->
+ checkTopLevelDuplicate var -- FIXME: should be a slightly different error message
+ local (addVarsInCurrentScope (scopeVars scope)) next
+
withSection
:: Maybe Rzk.SectionName
-> TypeCheck VarIdent [Decl VarIdent]
@@ -766,6 +810,8 @@ ppContext' ctx@Context{..} = unlines
Just (LocationInfo (Just path) _) -> "\n" <> path <> ":"
_ -> ""
, case currentCommand of
+ Just (Rzk.CommandRequireFile _loc requiredPath) ->
+ " Error occurred when processing requirements\n #require-file " <> show requiredPath
Just (Rzk.CommandDefine _loc name _vars _params _ty _term) ->
" Error occurred when checking\n #define " <> Rzk.printTree name
Just (Rzk.CommandPostulate _loc name _vars _params _ty ) ->
@@ -839,7 +885,24 @@ localDeclPrepared (Decl x ty term isAssumption vars) tc = do
checkTopLevelDuplicate x
local update tc
where
- update = addVarInCurrentScope x VarInfo
+ update = addVarInCurrentScope x VarInfo
+ { varType = ty
+ , varValue = term
+ , varOrig = Just x
+ , varIsAssumption = isAssumption
+ , varDeclaredAssumptions = vars
+ }
+
+addModuleDeclsPrepared :: FilePath -> [Decl VarIdent] -> TypeCheck VarIdent a -> TypeCheck VarIdent a
+addModuleDeclsPrepared _modulePath [] = id
+addModuleDeclsPrepared modulePath (decl : decls) =
+ addModuleDeclPrepared modulePath decl . addModuleDeclsPrepared modulePath decls
+
+addModuleDeclPrepared :: FilePath -> Decl VarIdent -> TypeCheck VarIdent a -> TypeCheck VarIdent a
+addModuleDeclPrepared path (Decl x ty term isAssumption vars) tc = do
+ local update tc
+ where
+ update = addVarInModuleScope path x VarInfo
{ varType = ty
, varValue = term
, varOrig = Just x