diff --git a/.gitignore b/.gitignore index 186c5e1a58..ce6902a12e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,8 @@ # a common convenient place to set the PLTADDON directory to /add-on/ + +# common backups, autosaves, and lock files +*~ +\#* +.#* diff --git a/collects/racket/gui/init.ss b/collects/racket/gui/init.ss deleted file mode 100644 index b48a885892..0000000000 --- a/collects/racket/gui/init.ss +++ /dev/null @@ -1,6 +0,0 @@ -#lang racket -(require racket/init - scheme/gui/base) - -(provide (all-from-out racket/init - scheme/gui/base)) diff --git a/collects/scheme/base.rkt b/collects/scheme/base.rkt index 30bbd6da23..a02cf9fd4a 100644 --- a/collects/scheme/base.rkt +++ b/collects/scheme/base.rkt @@ -1,3 +1,5 @@ #lang scheme/private -(provide (except-out (all-from-out racket/base) struct)) +(provide (except-out (all-from-out racket/base) + struct + hash hasheq hasheqv)) diff --git a/collects/scribblings/reference/hashes.scrbl b/collects/scribblings/reference/hashes.scrbl index 2819a19f76..8ca901de97 100644 --- a/collects/scribblings/reference/hashes.scrbl +++ b/collects/scribblings/reference/hashes.scrbl @@ -86,6 +86,11 @@ unpredictable. Returns @scheme[#t] if @scheme[v] is a @tech{hash table}, @scheme[#f] otherwise.} +@defproc[(hash-equal? [hash hash?]) boolean?]{ + +Returns @scheme[#t] if @scheme[hash] compares keys with @scheme[equal?], +@scheme[#f] if it compares with @scheme[eq?] or @scheme[eqv?].} + @defproc[(hash-eqv? [hash hash?]) boolean?]{ Returns @scheme[#t] if @scheme[hash] compares keys with @scheme[eqv?], @@ -102,73 +107,69 @@ Returns @scheme[#t] if @scheme[hash] compares keys with @scheme[eq?], Returns @scheme[#t] if @scheme[hash] retains its keys weakly, @scheme[#f] if it retains keys strongly.} +@deftogether[( +@defproc[(hash [key any/c] [val any/c] ... ...) (and/c hash? hash-equal? immutable?)] +@defproc[(hasheq [key any/c] [val any/c] ... ...) (and/c hash? hash-eq? immutable?)] +@defproc[(hasheqv [key any/c] [val any/c] ... ...) (and/c hash? hash-eqv? immutable?)] +)]{ -@defproc[(make-hash [assocs (listof pair?) null]) hash?]{ +Creates an immutable hash table with each given @scheme[key] mapped to +the following @scheme[val]; each @scheme[key] must have a @scheme[val], +so the total number of arguments to @scheme[hash] must be even. -Creates a mutable hash table that holds keys strongly and that uses -@scheme[equal?] to compare keys. See also @scheme[make-custom-hash]. +The @scheme[hash] procedure creates a table where keys are compared +with @scheme[equal?], @scheme[hasheq] procedure creates a table where +keys are compared with @scheme[eq?], and @scheme[hasheqv] procedure +creates a table where keys are compared with @scheme[eqv?]. + +The @scheme[key] to @scheme[val] mappings are added to the table in +the order that they appear in the argument list, so later mappings can +hide earlier mappings if the @scheme[key]s are equal.} + +@deftogether[( +@defproc[(make-hash [assocs (listof pair?) null]) (and/c hash? hash-equal?)] +@defproc[(make-hasheqv [assocs (listof pair?) null]) (and/c hash? hash-eqv?)] +@defproc[(make-hasheq [assocs (listof pair?) null]) (and/c hash? hash-eq?)] +)]{ + +Creates a mutable hash table that holds keys strongly. + +The @scheme[make-hash] procedure creates a table where keys are +compared with @scheme[equal?], @scheme[make-hasheq] procedure creates +a table where keys are compared with @scheme[eq?], and +@scheme[make-hasheqv] procedure creates a table where keys are +compared with @scheme[eqv?]. The table is initialized with the content of @scheme[assocs]. In each element of @scheme[assocs], the @scheme[car] is a key, and the @scheme[cdr] is the corresponding value. The mappings are added to the table in the order that they appear in @scheme[assocs], so later -mappings can hide earlier mappings.} +mappings can hide earlier mappings. +See also @scheme[make-custom-hash].} -@defproc[(make-hasheqv [assocs (listof pair?) null]) (and/c hash? hash-eqv?)]{ - -Creates a mutable hash table that holds keys strongly and that -uses @scheme[eqv?] to compare keys. The table is initialized with the -content of @scheme[assocs] as in @scheme[make-hash].} - - -@defproc[(make-hasheq [assocs (listof pair?) null]) (and/c hash? hash-eq?)]{ - -Creates a mutable hash table that holds keys strongly and that -uses @scheme[eq?] to compare keys. The table is initialized with the -content of @scheme[assocs] as in @scheme[make-hash].} - - -@defproc[(make-weak-hash [assocs (listof pair?) null]) (and/c hash? hash-weak?)]{ - -Creates a mutable hash table that holds keys weakly and that -uses @scheme[equal?] to compare keys; see also -@scheme[make-weak-custom-hash]. The table is initialized with the -content of @scheme[assocs] as in @scheme[make-hash].} - - -@defproc[(make-weak-hasheqv [assocs (listof pair?) null]) (and/c hash? hash-eqv? hash-weak?)]{ - -Creates a mutable hash table that holds keys weakly and that -uses @scheme[eqv?] to compare keys. The table is initialized with the -content of @scheme[assocs] as in @scheme[make-hash].} - - -@defproc[(make-weak-hasheq [assocs (listof pair?) null]) (and/c hash? hash-eq? hash-weak?)]{ - -Creates a mutable hash table that holds keys weakly and that -uses @scheme[eq?] to compare keys. The table is initialized with the -content of @scheme[assocs] as in @scheme[make-hash].} +@deftogether[( +@defproc[(make-weak-hash [assocs (listof pair?) null]) (and/c hash? hash-equal? hash-weak?)] +@defproc[(make-weak-hasheqv [assocs (listof pair?) null]) (and/c hash? hash-eqv? hash-weak?)] +@defproc[(make-weak-hasheq [assocs (listof pair?) null]) (and/c hash? hash-eq? hash-weak?)] +)]{ +Like @scheme[make-hash], @scheme[make-hasheq], and +@scheme[make-hasheqv], but creates a mutable hash table that holds +keys weakly.} +@deftogether[( @defproc[(make-immutable-hash [assocs (listof pair?)]) - (and/c hash? immutable?)]{ - -Creates an immutable hash table that compares keys with -@scheme[equal?]. The table is created with the content of -@scheme[assocs] as in @scheme[make-hash].} - + (and/c hash? hash-equal? immutable?)] @defproc[(make-immutable-hasheqv [assocs (listof pair?)]) - (and/c hash? hash-eqv? immutable?)]{ - -Like @scheme[make-immutable-hash], but the resulting hash table -compares keys with @scheme[eqv?].} - + (and/c hash? hash-eqv? immutable?)] @defproc[(make-immutable-hasheq [assocs (listof pair?)]) - (and/c hash? hash-eq? immutable?)]{ + (and/c hash? hash-eq? immutable?)] +)]{ -Like @scheme[make-immutable-hash], but the resulting hash table -compares keys with @scheme[eq?].} +Like @scheme[hash], @scheme[hasheq], and @scheme[hasheqv], but accepts +the key--value mapping in association-list form like +@scheme[make-hash], @scheme[make-hasheq], and @scheme[make-hasheqv].} @defproc[(hash-set! [hash (and/c hash? (not/c immutable?))] diff --git a/collects/scribblings/reference/syntax.scrbl b/collects/scribblings/reference/syntax.scrbl index 436b071eb1..26e4eb4f64 100644 --- a/collects/scribblings/reference/syntax.scrbl +++ b/collects/scribblings/reference/syntax.scrbl @@ -49,11 +49,13 @@ Within such specifications, @itemize[ - @item{@racket[...] indicates zero or more - repetitions of the preceding datum.} + @item{@racket[...] indicates zero or more repetitions of the + preceding datum; more generally, @math{N} consecutive + @racket[...]s a row indicate a consecutive repetition of the + preceding @math{N} datums.} - @item{@racket[...+] indicates one or - more repetitions of the preceding datum.} + @item{@racket[...+] indicates one or more repetitions of the + preceding datum.} @item{Italic meta-identifiers play the role of non-terminals. Some meta-identifier names imply syntactic constraints: diff --git a/src/racket/src/cstartup.inc b/src/racket/src/cstartup.inc index bf363c0509..8907f6b94c 100644 --- a/src/racket/src/cstartup.inc +++ b/src/racket/src/cstartup.inc @@ -1,78 +1,78 @@ { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,48,51,0,0,0,1,0,0,10,0,13, -0,22,0,26,0,31,0,38,0,51,0,58,0,63,0,68,0,72,0,79,0, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,49,51,0,0,0,1,0,0,10,0,13, +0,22,0,29,0,42,0,46,0,53,0,57,0,62,0,65,0,70,0,75,0, 82,0,88,0,102,0,116,0,119,0,125,0,129,0,131,0,142,0,144,0,158, 0,165,0,187,0,189,0,203,0,14,1,43,1,54,1,65,1,75,1,111,1, 144,1,177,1,236,1,46,2,124,2,190,2,195,2,215,2,106,3,126,3,177, 3,243,3,128,4,14,5,66,5,89,5,168,5,0,0,109,7,0,0,69,35, -37,109,105,110,45,115,116,120,29,11,11,68,104,101,114,101,45,115,116,120,63, -108,101,116,64,99,111,110,100,66,117,110,108,101,115,115,72,112,97,114,97,109, -101,116,101,114,105,122,101,66,100,101,102,105,110,101,64,119,104,101,110,64,108, -101,116,42,63,97,110,100,66,108,101,116,114,101,99,62,111,114,65,113,117,111, +37,109,105,110,45,115,116,120,29,11,11,68,104,101,114,101,45,115,116,120,66, +108,101,116,114,101,99,72,112,97,114,97,109,101,116,101,114,105,122,101,63,108, +101,116,66,100,101,102,105,110,101,63,97,110,100,64,108,101,116,42,62,111,114, +64,119,104,101,110,64,99,111,110,100,66,117,110,108,101,115,115,65,113,117,111, 116,101,29,94,2,14,68,35,37,107,101,114,110,101,108,11,29,94,2,14,68, 35,37,112,97,114,97,109,122,11,62,105,102,65,98,101,103,105,110,63,115,116, 120,61,115,70,108,101,116,45,118,97,108,117,101,115,61,120,73,108,101,116,114, 101,99,45,118,97,108,117,101,115,66,108,97,109,98,100,97,1,20,112,97,114, 97,109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,61,118,73,100, -101,102,105,110,101,45,118,97,108,117,101,115,97,36,11,8,240,81,77,0,0, -95,159,2,16,36,36,159,2,15,36,36,159,2,15,36,36,16,20,2,4,2, -2,2,6,2,2,2,8,2,2,2,7,2,2,2,9,2,2,2,10,2,2, -2,11,2,2,2,5,2,2,2,12,2,2,2,13,2,2,97,37,11,8,240, -81,77,0,0,93,159,2,15,36,37,16,2,2,3,161,2,2,37,2,3,2, -2,2,3,96,11,11,8,240,81,77,0,0,16,0,96,38,11,8,240,81,77, +101,102,105,110,101,45,118,97,108,117,101,115,97,36,11,8,240,155,78,0,0, +95,159,2,16,36,36,159,2,15,36,36,159,2,15,36,36,16,20,2,5,2, +2,2,6,2,2,2,7,2,2,2,8,2,2,2,10,2,2,2,9,2,2, +2,4,2,2,2,11,2,2,2,12,2,2,2,13,2,2,97,37,11,8,240, +155,78,0,0,93,159,2,15,36,37,16,2,2,3,161,2,2,37,2,3,2, +2,2,3,96,11,11,8,240,155,78,0,0,16,0,96,38,11,8,240,155,78, 0,0,16,0,13,16,4,36,29,11,11,2,2,11,18,16,2,99,64,104,101, -114,101,8,32,8,31,8,30,8,29,8,28,93,8,224,88,77,0,0,95,9, -8,224,88,77,0,0,2,2,27,248,22,143,4,195,249,22,136,4,80,158,39, +114,101,8,32,8,31,8,30,8,29,8,28,93,8,224,162,78,0,0,95,9, +8,224,162,78,0,0,2,2,27,248,22,147,4,195,249,22,140,4,80,158,39, 36,251,22,81,2,17,248,22,96,199,12,249,22,71,2,18,248,22,98,201,27, -248,22,143,4,195,249,22,136,4,80,158,39,36,251,22,81,2,17,248,22,96, -199,249,22,71,2,18,248,22,98,201,12,27,248,22,73,248,22,143,4,196,28, +248,22,147,4,195,249,22,140,4,80,158,39,36,251,22,81,2,17,248,22,96, +199,249,22,71,2,18,248,22,98,201,12,27,248,22,73,248,22,147,4,196,28, 248,22,79,193,20,15,159,37,36,37,28,248,22,79,248,22,73,194,248,22,72, -193,249,22,136,4,80,158,39,36,251,22,81,2,17,248,22,72,199,249,22,71, -2,11,248,22,73,201,11,18,16,2,101,10,8,32,8,31,8,30,8,29,8, -28,16,4,11,11,2,19,3,1,8,101,110,118,49,50,55,57,51,16,4,11, -11,2,20,3,1,8,101,110,118,49,50,55,57,52,93,8,224,89,77,0,0, -95,9,8,224,89,77,0,0,2,2,27,248,22,73,248,22,143,4,196,28,248, +193,249,22,140,4,80,158,39,36,251,22,81,2,17,248,22,72,199,249,22,71, +2,8,248,22,73,201,11,18,16,2,101,10,8,32,8,31,8,30,8,29,8, +28,16,4,11,11,2,19,3,1,8,101,110,118,49,50,54,48,50,16,4,11, +11,2,20,3,1,8,101,110,118,49,50,54,48,51,93,8,224,163,78,0,0, +95,9,8,224,163,78,0,0,2,2,27,248,22,73,248,22,147,4,196,28,248, 22,79,193,20,15,159,37,36,37,28,248,22,79,248,22,73,194,248,22,72,193, -249,22,136,4,80,158,39,36,250,22,81,2,21,248,22,81,249,22,81,248,22, -81,2,22,248,22,72,201,251,22,81,2,17,2,22,2,22,249,22,71,2,13, +249,22,140,4,80,158,39,36,250,22,81,2,21,248,22,81,249,22,81,248,22, +81,2,22,248,22,72,201,251,22,81,2,17,2,22,2,22,249,22,71,2,10, 248,22,73,204,18,16,2,101,11,8,32,8,31,8,30,8,29,8,28,16,4, -11,11,2,19,3,1,8,101,110,118,49,50,55,57,54,16,4,11,11,2,20, -3,1,8,101,110,118,49,50,55,57,55,93,8,224,90,77,0,0,95,9,8, -224,90,77,0,0,2,2,248,22,143,4,193,27,248,22,143,4,194,249,22,71, -248,22,81,248,22,72,196,248,22,73,195,27,248,22,73,248,22,143,4,23,197, -1,249,22,136,4,80,158,39,36,28,248,22,56,248,22,137,4,248,22,72,23, -198,2,27,249,22,2,32,0,89,162,8,44,37,43,9,222,33,40,248,22,143, +11,11,2,19,3,1,8,101,110,118,49,50,54,48,53,16,4,11,11,2,20, +3,1,8,101,110,118,49,50,54,48,54,93,8,224,164,78,0,0,95,9,8, +224,164,78,0,0,2,2,248,22,147,4,193,27,248,22,147,4,194,249,22,71, +248,22,81,248,22,72,196,248,22,73,195,27,248,22,73,248,22,147,4,23,197, +1,249,22,140,4,80,158,39,36,28,248,22,56,248,22,141,4,248,22,72,23, +198,2,27,249,22,2,32,0,89,162,8,44,37,43,9,222,33,40,248,22,147, 4,248,22,96,23,200,2,250,22,81,2,23,248,22,81,249,22,81,248,22,81, 248,22,72,23,204,2,250,22,82,2,24,249,22,2,22,72,23,204,2,248,22, 98,23,206,2,249,22,71,248,22,72,23,202,1,249,22,2,22,96,23,200,1, 250,22,82,2,21,249,22,2,32,0,89,162,8,44,37,47,9,222,33,41,248, -22,143,4,248,22,72,201,248,22,73,198,27,248,22,143,4,194,249,22,71,248, -22,81,248,22,72,196,248,22,73,195,27,248,22,73,248,22,143,4,23,197,1, -249,22,136,4,80,158,39,36,250,22,82,2,23,249,22,2,32,0,89,162,8, -44,37,47,9,222,33,43,248,22,143,4,248,22,72,201,248,22,73,198,27,248, -22,73,248,22,143,4,196,27,248,22,143,4,248,22,72,195,249,22,136,4,80, +22,147,4,248,22,72,201,248,22,73,198,27,248,22,147,4,194,249,22,71,248, +22,81,248,22,72,196,248,22,73,195,27,248,22,73,248,22,147,4,23,197,1, +249,22,140,4,80,158,39,36,250,22,82,2,23,249,22,2,32,0,89,162,8, +44,37,47,9,222,33,43,248,22,147,4,248,22,72,201,248,22,73,198,27,248, +22,73,248,22,147,4,196,27,248,22,147,4,248,22,72,195,249,22,140,4,80, 158,40,36,28,248,22,79,195,250,22,82,2,21,9,248,22,73,199,250,22,81, -2,4,248,22,81,248,22,72,199,250,22,82,2,10,248,22,73,201,248,22,73, -202,27,248,22,73,248,22,143,4,23,197,1,27,249,22,1,22,85,249,22,2, -22,143,4,248,22,143,4,248,22,72,199,249,22,136,4,80,158,40,36,251,22, +2,6,248,22,81,248,22,72,199,250,22,82,2,9,248,22,73,201,248,22,73, +202,27,248,22,73,248,22,147,4,23,197,1,27,249,22,1,22,85,249,22,2, +22,147,4,248,22,147,4,248,22,72,199,249,22,140,4,80,158,40,36,251,22, 81,1,22,119,105,116,104,45,99,111,110,116,105,110,117,97,116,105,111,110,45, 109,97,114,107,2,25,250,22,82,1,23,101,120,116,101,110,100,45,112,97,114, 97,109,101,116,101,114,105,122,97,116,105,111,110,21,95,1,27,99,111,110,116, 105,110,117,97,116,105,111,110,45,109,97,114,107,45,115,101,116,45,102,105,114, 115,116,11,2,25,201,250,22,82,2,21,9,248,22,73,203,27,248,22,73,248, -22,143,4,196,28,248,22,79,193,20,15,159,37,36,37,249,22,136,4,80,158, -39,36,27,248,22,143,4,248,22,72,197,28,249,22,177,8,62,61,62,248,22, -137,4,248,22,96,196,250,22,81,2,21,248,22,81,249,22,81,21,93,2,26, -248,22,72,199,250,22,82,2,5,249,22,81,2,26,249,22,81,248,22,105,203, -2,26,248,22,73,202,251,22,81,2,17,28,249,22,177,8,248,22,137,4,248, +22,147,4,196,28,248,22,79,193,20,15,159,37,36,37,249,22,140,4,80,158, +39,36,27,248,22,147,4,248,22,72,197,28,249,22,181,8,62,61,62,248,22, +141,4,248,22,96,196,250,22,81,2,21,248,22,81,249,22,81,21,93,2,26, +248,22,72,199,250,22,82,2,12,249,22,81,2,26,249,22,81,248,22,105,203, +2,26,248,22,73,202,251,22,81,2,17,28,249,22,181,8,248,22,141,4,248, 22,72,200,64,101,108,115,101,10,248,22,72,197,250,22,82,2,21,9,248,22, -73,200,249,22,71,2,5,248,22,73,202,100,8,32,8,31,8,30,8,29,8, -28,16,4,11,11,2,19,3,1,8,101,110,118,49,50,56,49,57,16,4,11, -11,2,20,3,1,8,101,110,118,49,50,56,50,48,93,8,224,91,77,0,0, -18,16,2,158,94,10,64,118,111,105,100,8,48,95,9,8,224,91,77,0,0, -2,2,27,248,22,73,248,22,143,4,196,249,22,136,4,80,158,39,36,28,248, -22,56,248,22,137,4,248,22,72,197,250,22,81,2,27,248,22,81,248,22,72, -199,248,22,96,198,27,248,22,137,4,248,22,72,197,250,22,81,2,27,248,22, +73,200,249,22,71,2,12,248,22,73,202,100,8,32,8,31,8,30,8,29,8, +28,16,4,11,11,2,19,3,1,8,101,110,118,49,50,54,50,56,16,4,11, +11,2,20,3,1,8,101,110,118,49,50,54,50,57,93,8,224,165,78,0,0, +18,16,2,158,94,10,64,118,111,105,100,8,48,95,9,8,224,165,78,0,0, +2,2,27,248,22,73,248,22,147,4,196,249,22,140,4,80,158,39,36,28,248, +22,56,248,22,141,4,248,22,72,197,250,22,81,2,27,248,22,81,248,22,72, +199,248,22,96,198,27,248,22,141,4,248,22,72,197,250,22,81,2,27,248,22, 81,248,22,72,197,250,22,82,2,24,248,22,73,199,248,22,73,202,159,36,20, 105,159,36,16,1,11,16,0,83,158,42,20,103,145,2,1,2,1,2,2,11, 11,11,10,36,80,158,36,36,20,105,159,36,16,0,16,0,16,1,2,3,37, @@ -81,25 +81,25 @@ 11,11,11,11,11,16,10,2,4,2,5,2,6,2,7,2,8,2,9,2,10, 2,11,2,12,2,13,36,46,37,11,11,11,16,0,16,0,16,0,36,36,11, 11,11,11,16,0,16,0,16,0,36,36,16,11,16,5,2,3,20,15,159,36, -36,36,36,20,105,159,36,16,0,16,1,33,33,10,16,5,2,6,89,162,8, +36,36,36,20,105,159,36,16,0,16,1,33,33,10,16,5,2,13,89,162,8, 44,37,53,9,223,0,33,34,36,20,105,159,36,16,1,2,3,16,0,11,16, -5,2,9,89,162,8,44,37,53,9,223,0,33,35,36,20,105,159,36,16,1, -2,3,16,0,11,16,5,2,11,89,162,8,44,37,53,9,223,0,33,36,36, -20,105,159,36,16,1,2,3,16,1,33,37,11,16,5,2,13,89,162,8,44, +5,2,11,89,162,8,44,37,53,9,223,0,33,35,36,20,105,159,36,16,1, +2,3,16,0,11,16,5,2,8,89,162,8,44,37,53,9,223,0,33,36,36, +20,105,159,36,16,1,2,3,16,1,33,37,11,16,5,2,10,89,162,8,44, 37,56,9,223,0,33,38,36,20,105,159,36,16,1,2,3,16,1,33,39,11, -16,5,2,4,89,162,8,44,37,58,9,223,0,33,42,36,20,105,159,36,16, -1,2,3,16,0,11,16,5,2,12,89,162,8,44,37,53,9,223,0,33,44, -36,20,105,159,36,16,1,2,3,16,0,11,16,5,2,10,89,162,8,44,37, +16,5,2,6,89,162,8,44,37,58,9,223,0,33,42,36,20,105,159,36,16, +1,2,3,16,0,11,16,5,2,4,89,162,8,44,37,53,9,223,0,33,44, +36,20,105,159,36,16,1,2,3,16,0,11,16,5,2,9,89,162,8,44,37, 54,9,223,0,33,45,36,20,105,159,36,16,1,2,3,16,0,11,16,5,2, -7,89,162,8,44,37,55,9,223,0,33,46,36,20,105,159,36,16,1,2,3, -16,0,11,16,5,2,5,89,162,8,44,37,58,9,223,0,33,47,36,20,105, -159,36,16,1,2,3,16,1,33,49,11,16,5,2,8,89,162,8,44,37,54, +5,89,162,8,44,37,55,9,223,0,33,46,36,20,105,159,36,16,1,2,3, +16,0,11,16,5,2,12,89,162,8,44,37,58,9,223,0,33,47,36,20,105, +159,36,16,1,2,3,16,1,33,49,11,16,5,2,7,89,162,8,44,37,54, 9,223,0,33,50,36,20,105,159,36,16,1,2,3,16,0,11,16,0,94,2, 15,2,16,93,2,15,9,9,36,0}; EVAL_ONE_SIZED_STR((char *)expr, 2025); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,48,65,0,0,0,1,0,0,8,0,21, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,49,65,0,0,0,1,0,0,8,0,21, 0,26,0,43,0,58,0,76,0,92,0,102,0,120,0,140,0,156,0,174,0, 205,0,234,0,0,1,14,1,20,1,34,1,39,1,49,1,57,1,85,1,117, 1,123,1,168,1,213,1,237,1,20,2,22,2,188,2,22,4,63,4,136,5, @@ -132,234 +132,234 @@ 32,111,114,32,98,121,116,101,32,115,116,114,105,110,103,6,36,36,99,97,110, 110,111,116,32,97,100,100,32,97,32,115,117,102,102,105,120,32,116,111,32,97, 32,114,111,111,116,32,112,97,116,104,58,32,5,0,27,20,14,159,80,159,37, -51,38,250,80,159,40,52,38,249,22,27,11,80,159,42,51,38,22,146,13,10, -248,22,169,5,23,196,2,28,248,22,166,6,23,194,2,12,87,94,248,22,183, +51,38,250,80,159,40,52,38,249,22,27,11,80,159,42,51,38,22,150,13,10, +248,22,173,5,23,196,2,28,248,22,170,6,23,194,2,12,87,94,248,22,187, 8,23,194,1,27,20,14,159,80,159,38,51,38,250,80,159,41,52,38,249,22, -27,11,80,159,43,51,38,22,146,13,10,248,22,169,5,23,197,2,28,248,22, -166,6,23,194,2,12,87,94,248,22,183,8,23,194,1,27,20,14,159,80,159, -39,51,38,250,80,159,42,52,38,249,22,27,11,80,159,44,51,38,22,146,13, -10,248,22,169,5,23,198,2,28,248,22,166,6,23,194,2,12,87,94,248,22, -183,8,23,194,1,248,80,159,40,54,37,197,28,248,22,79,23,195,2,9,27, -248,22,72,23,196,2,27,28,248,22,130,14,23,195,2,23,194,1,28,248,22, -129,14,23,195,2,249,22,131,14,23,196,1,250,80,158,43,49,248,22,146,14, -2,20,11,10,250,80,158,41,49,248,22,146,14,2,20,23,197,1,10,28,23, -193,2,249,22,71,248,22,133,14,249,22,131,14,23,198,1,247,22,147,14,27, +27,11,80,159,43,51,38,22,150,13,10,248,22,173,5,23,197,2,28,248,22, +170,6,23,194,2,12,87,94,248,22,187,8,23,194,1,27,20,14,159,80,159, +39,51,38,250,80,159,42,52,38,249,22,27,11,80,159,44,51,38,22,150,13, +10,248,22,173,5,23,198,2,28,248,22,170,6,23,194,2,12,87,94,248,22, +187,8,23,194,1,248,80,159,40,54,37,197,28,248,22,79,23,195,2,9,27, +248,22,72,23,196,2,27,28,248,22,134,14,23,195,2,23,194,1,28,248,22, +133,14,23,195,2,249,22,135,14,23,196,1,250,80,158,43,49,248,22,150,14, +2,20,11,10,250,80,158,41,49,248,22,150,14,2,20,23,197,1,10,28,23, +193,2,249,22,71,248,22,137,14,249,22,135,14,23,198,1,247,22,151,14,27, 248,22,73,23,200,1,28,248,22,79,23,194,2,9,27,248,22,72,23,195,2, -27,28,248,22,130,14,23,195,2,23,194,1,28,248,22,129,14,23,195,2,249, -22,131,14,23,196,1,250,80,158,48,49,248,22,146,14,2,20,11,10,250,80, -158,46,49,248,22,146,14,2,20,23,197,1,10,28,23,193,2,249,22,71,248, -22,133,14,249,22,131,14,23,198,1,247,22,147,14,248,80,159,46,53,37,248, +27,28,248,22,134,14,23,195,2,23,194,1,28,248,22,133,14,23,195,2,249, +22,135,14,23,196,1,250,80,158,48,49,248,22,150,14,2,20,11,10,250,80, +158,46,49,248,22,150,14,2,20,23,197,1,10,28,23,193,2,249,22,71,248, +22,137,14,249,22,135,14,23,198,1,247,22,151,14,248,80,159,46,53,37,248, 22,73,23,199,1,87,94,23,193,1,248,80,159,44,53,37,248,22,73,23,197, 1,87,94,23,193,1,27,248,22,73,23,198,1,28,248,22,79,23,194,2,9, -27,248,22,72,23,195,2,27,28,248,22,130,14,23,195,2,23,194,1,28,248, -22,129,14,23,195,2,249,22,131,14,23,196,1,250,80,158,46,49,248,22,146, -14,2,20,11,10,250,80,158,44,49,248,22,146,14,2,20,23,197,1,10,28, -23,193,2,249,22,71,248,22,133,14,249,22,131,14,23,198,1,247,22,147,14, +27,248,22,72,23,195,2,27,28,248,22,134,14,23,195,2,23,194,1,28,248, +22,133,14,23,195,2,249,22,135,14,23,196,1,250,80,158,46,49,248,22,150, +14,2,20,11,10,250,80,158,44,49,248,22,150,14,2,20,23,197,1,10,28, +23,193,2,249,22,71,248,22,137,14,249,22,135,14,23,198,1,247,22,151,14, 248,80,159,44,53,37,248,22,73,23,199,1,248,80,159,42,53,37,248,22,73, -196,27,248,22,170,13,23,195,2,28,23,193,2,192,87,94,23,193,1,28,248, -22,171,6,23,195,2,27,248,22,128,14,195,28,192,192,248,22,129,14,195,11, -87,94,28,28,248,22,171,13,23,195,2,10,28,248,22,170,13,23,195,2,10, -28,248,22,171,6,23,195,2,28,248,22,128,14,23,195,2,10,248,22,129,14, -23,195,2,11,12,250,22,147,9,76,110,111,114,109,97,108,45,112,97,116,104, +196,27,248,22,174,13,23,195,2,28,23,193,2,192,87,94,23,193,1,28,248, +22,175,6,23,195,2,27,248,22,132,14,195,28,192,192,248,22,133,14,195,11, +87,94,28,28,248,22,175,13,23,195,2,10,28,248,22,174,13,23,195,2,10, +28,248,22,175,6,23,195,2,28,248,22,132,14,23,195,2,10,248,22,133,14, +23,195,2,11,12,250,22,151,9,76,110,111,114,109,97,108,45,112,97,116,104, 45,99,97,115,101,6,42,42,112,97,116,104,32,40,102,111,114,32,97,110,121, 32,115,121,115,116,101,109,41,32,111,114,32,118,97,108,105,100,45,112,97,116, -104,32,115,116,114,105,110,103,23,197,2,28,28,248,22,171,13,23,195,2,249, -22,177,8,248,22,172,13,23,197,2,2,21,249,22,177,8,247,22,190,7,2, -21,27,28,248,22,171,6,23,196,2,23,195,2,248,22,180,7,248,22,175,13, -23,197,2,28,249,22,161,14,0,21,35,114,120,34,94,91,92,92,93,91,92, -92,93,91,63,93,91,92,92,93,34,23,195,2,28,248,22,171,6,195,248,22, -178,13,195,194,27,248,22,146,7,23,195,1,249,22,179,13,248,22,183,7,250, -22,169,14,0,6,35,114,120,34,47,34,28,249,22,161,14,0,22,35,114,120, +104,32,115,116,114,105,110,103,23,197,2,28,28,248,22,175,13,23,195,2,249, +22,181,8,248,22,176,13,23,197,2,2,21,249,22,181,8,247,22,130,8,2, +21,27,28,248,22,175,6,23,196,2,23,195,2,248,22,184,7,248,22,179,13, +23,197,2,28,249,22,165,14,0,21,35,114,120,34,94,91,92,92,93,91,92, +92,93,91,63,93,91,92,92,93,34,23,195,2,28,248,22,175,6,195,248,22, +182,13,195,194,27,248,22,150,7,23,195,1,249,22,183,13,248,22,187,7,250, +22,173,14,0,6,35,114,120,34,47,34,28,249,22,165,14,0,22,35,114,120, 34,91,47,92,92,93,91,46,32,93,43,91,47,92,92,93,42,36,34,23,201, -2,23,199,1,250,22,169,14,0,19,35,114,120,34,91,32,46,93,43,40,91, +2,23,199,1,250,22,173,14,0,19,35,114,120,34,91,32,46,93,43,40,91, 47,92,92,93,42,41,36,34,23,202,1,6,2,2,92,49,80,159,44,37,38, -2,21,28,248,22,171,6,194,248,22,178,13,194,193,87,94,28,28,248,22,170, -13,23,195,2,10,28,248,22,171,6,23,195,2,28,248,22,128,14,23,195,2, -10,248,22,129,14,23,195,2,11,12,250,22,147,9,23,196,2,2,22,23,197, -2,28,248,22,128,14,23,195,2,12,248,22,186,11,249,22,128,11,248,22,136, -7,250,22,155,7,2,23,23,200,1,23,201,1,247,22,23,87,94,28,28,248, -22,170,13,23,195,2,10,28,248,22,171,6,23,195,2,28,248,22,128,14,23, -195,2,10,248,22,129,14,23,195,2,11,12,250,22,147,9,23,196,2,2,22, -23,197,2,28,248,22,128,14,23,195,2,12,248,22,186,11,249,22,128,11,248, -22,136,7,250,22,155,7,2,23,23,200,1,23,201,1,247,22,23,87,94,87, -94,28,28,248,22,170,13,23,195,2,10,28,248,22,171,6,23,195,2,28,248, -22,128,14,23,195,2,10,248,22,129,14,23,195,2,11,12,250,22,147,9,195, -2,22,23,197,2,28,248,22,128,14,23,195,2,12,248,22,186,11,249,22,128, -11,248,22,136,7,250,22,155,7,2,23,199,23,201,1,247,22,23,249,22,3, -89,162,8,44,37,50,9,223,2,33,35,196,87,94,28,28,248,22,170,13,23, -194,2,10,28,248,22,171,6,23,194,2,28,248,22,128,14,23,194,2,10,248, -22,129,14,23,194,2,11,12,250,22,147,9,2,7,2,22,23,196,2,28,248, -22,128,14,23,194,2,12,248,22,186,11,249,22,128,11,248,22,136,7,250,22, -155,7,2,23,2,7,23,200,1,247,22,23,32,38,89,162,8,44,40,55,2, -24,222,33,39,28,248,22,79,23,197,2,87,94,23,196,1,248,22,186,11,249, -22,161,11,251,22,155,7,2,25,2,7,28,248,22,79,23,203,2,87,94,23, -202,1,23,201,1,250,22,1,22,188,13,23,204,1,23,205,1,23,200,1,247, -22,23,27,249,22,188,13,248,22,72,23,200,2,23,197,2,28,248,22,183,13, -23,194,2,27,250,22,1,22,188,13,23,197,1,199,28,248,22,183,13,193,192, +2,21,28,248,22,175,6,194,248,22,182,13,194,193,87,94,28,28,248,22,174, +13,23,195,2,10,28,248,22,175,6,23,195,2,28,248,22,132,14,23,195,2, +10,248,22,133,14,23,195,2,11,12,250,22,151,9,23,196,2,2,22,23,197, +2,28,248,22,132,14,23,195,2,12,248,22,190,11,249,22,132,11,248,22,140, +7,250,22,159,7,2,23,23,200,1,23,201,1,247,22,23,87,94,28,28,248, +22,174,13,23,195,2,10,28,248,22,175,6,23,195,2,28,248,22,132,14,23, +195,2,10,248,22,133,14,23,195,2,11,12,250,22,151,9,23,196,2,2,22, +23,197,2,28,248,22,132,14,23,195,2,12,248,22,190,11,249,22,132,11,248, +22,140,7,250,22,159,7,2,23,23,200,1,23,201,1,247,22,23,87,94,87, +94,28,28,248,22,174,13,23,195,2,10,28,248,22,175,6,23,195,2,28,248, +22,132,14,23,195,2,10,248,22,133,14,23,195,2,11,12,250,22,151,9,195, +2,22,23,197,2,28,248,22,132,14,23,195,2,12,248,22,190,11,249,22,132, +11,248,22,140,7,250,22,159,7,2,23,199,23,201,1,247,22,23,249,22,3, +89,162,8,44,37,50,9,223,2,33,35,196,87,94,28,28,248,22,174,13,23, +194,2,10,28,248,22,175,6,23,194,2,28,248,22,132,14,23,194,2,10,248, +22,133,14,23,194,2,11,12,250,22,151,9,2,7,2,22,23,196,2,28,248, +22,132,14,23,194,2,12,248,22,190,11,249,22,132,11,248,22,140,7,250,22, +159,7,2,23,2,7,23,200,1,247,22,23,32,38,89,162,8,44,40,55,2, +24,222,33,39,28,248,22,79,23,197,2,87,94,23,196,1,248,22,190,11,249, +22,165,11,251,22,159,7,2,25,2,7,28,248,22,79,23,203,2,87,94,23, +202,1,23,201,1,250,22,1,22,128,14,23,204,1,23,205,1,23,200,1,247, +22,23,27,249,22,128,14,248,22,72,23,200,2,23,197,2,28,248,22,187,13, +23,194,2,27,250,22,1,22,128,14,23,197,1,199,28,248,22,187,13,193,192, 251,2,38,198,199,200,248,22,73,202,251,2,38,197,198,199,248,22,73,201,87, -94,87,94,87,94,28,28,248,22,170,13,193,10,28,248,22,171,6,193,28,248, -22,128,14,193,10,248,22,129,14,193,11,12,250,22,147,9,2,7,2,22,195, -28,248,22,128,14,193,12,248,22,186,11,249,22,128,11,248,22,136,7,250,22, -155,7,2,23,2,7,199,247,22,23,249,22,3,32,0,89,162,8,44,37,49, -9,222,33,37,195,27,247,22,148,14,251,2,38,196,197,198,196,32,41,89,162, +94,87,94,87,94,28,28,248,22,174,13,193,10,28,248,22,175,6,193,28,248, +22,132,14,193,10,248,22,133,14,193,11,12,250,22,151,9,2,7,2,22,195, +28,248,22,132,14,193,12,248,22,190,11,249,22,132,11,248,22,140,7,250,22, +159,7,2,23,2,7,199,247,22,23,249,22,3,32,0,89,162,8,44,37,49, +9,222,33,37,195,27,247,22,152,14,251,2,38,196,197,198,196,32,41,89,162, 44,42,59,2,24,222,33,42,28,248,22,79,23,199,2,87,94,23,198,1,248, -23,196,1,251,22,155,7,2,25,23,199,1,28,248,22,79,23,203,2,87,94, -23,202,1,23,201,1,250,22,1,22,188,13,23,204,1,23,205,1,23,198,1, -27,249,22,188,13,248,22,72,23,202,2,23,199,2,28,248,22,183,13,23,194, -2,27,250,22,1,22,188,13,23,197,1,23,202,2,28,248,22,183,13,23,194, +23,196,1,251,22,159,7,2,25,23,199,1,28,248,22,79,23,203,2,87,94, +23,202,1,23,201,1,250,22,1,22,128,14,23,204,1,23,205,1,23,198,1, +27,249,22,128,14,248,22,72,23,202,2,23,199,2,28,248,22,187,13,23,194, +2,27,250,22,1,22,128,14,23,197,1,23,202,2,28,248,22,187,13,23,194, 2,192,87,94,23,193,1,27,248,22,73,23,202,1,28,248,22,79,23,194,2, -87,94,23,193,1,248,23,199,1,251,22,155,7,2,25,23,202,1,28,248,22, -79,23,206,2,87,94,23,205,1,23,204,1,250,22,1,22,188,13,23,207,1, -23,208,1,23,201,1,27,249,22,188,13,248,22,72,23,197,2,23,202,2,28, -248,22,183,13,23,194,2,27,250,22,1,22,188,13,23,197,1,204,28,248,22, -183,13,193,192,253,2,41,203,204,205,206,23,15,248,22,73,201,253,2,41,202, +87,94,23,193,1,248,23,199,1,251,22,159,7,2,25,23,202,1,28,248,22, +79,23,206,2,87,94,23,205,1,23,204,1,250,22,1,22,128,14,23,207,1, +23,208,1,23,201,1,27,249,22,128,14,248,22,72,23,197,2,23,202,2,28, +248,22,187,13,23,194,2,27,250,22,1,22,128,14,23,197,1,204,28,248,22, +187,13,193,192,253,2,41,203,204,205,206,23,15,248,22,73,201,253,2,41,202, 203,204,205,206,248,22,73,200,87,94,23,193,1,27,248,22,73,23,201,1,28, -248,22,79,23,194,2,87,94,23,193,1,248,23,198,1,251,22,155,7,2,25, +248,22,79,23,194,2,87,94,23,193,1,248,23,198,1,251,22,159,7,2,25, 23,201,1,28,248,22,79,23,205,2,87,94,23,204,1,23,203,1,250,22,1, -22,188,13,23,206,1,23,207,1,23,200,1,27,249,22,188,13,248,22,72,23, -197,2,23,201,2,28,248,22,183,13,23,194,2,27,250,22,1,22,188,13,23, -197,1,203,28,248,22,183,13,193,192,253,2,41,202,203,204,205,206,248,22,73, -201,253,2,41,201,202,203,204,205,248,22,73,200,27,247,22,148,14,253,2,41, -198,199,200,201,202,198,87,95,28,28,248,22,171,13,23,194,2,10,28,248,22, -170,13,23,194,2,10,28,248,22,171,6,23,194,2,28,248,22,128,14,23,194, -2,10,248,22,129,14,23,194,2,11,12,252,22,147,9,23,200,2,2,26,36, -23,198,2,23,199,2,28,28,248,22,171,6,23,195,2,10,248,22,159,7,23, -195,2,87,94,23,194,1,12,252,22,147,9,23,200,2,2,27,37,23,198,2, -23,199,1,91,159,39,11,90,161,39,36,11,248,22,191,13,23,197,2,87,94, -23,195,1,87,94,28,192,12,250,22,148,9,23,201,1,2,28,23,199,1,249, -22,7,194,195,91,159,38,11,90,161,38,36,11,87,95,28,28,248,22,171,13, -23,196,2,10,28,248,22,170,13,23,196,2,10,28,248,22,171,6,23,196,2, -28,248,22,128,14,23,196,2,10,248,22,129,14,23,196,2,11,12,252,22,147, -9,2,10,2,26,36,23,200,2,23,201,2,28,28,248,22,171,6,23,197,2, -10,248,22,159,7,23,197,2,12,252,22,147,9,2,10,2,27,37,23,200,2, -23,201,2,91,159,39,11,90,161,39,36,11,248,22,191,13,23,199,2,87,94, -23,195,1,87,94,28,192,12,250,22,148,9,2,10,2,28,23,201,2,249,22, -7,194,195,27,249,22,180,13,250,22,168,14,0,20,35,114,120,35,34,40,63, -58,91,46,93,91,94,46,93,42,124,41,36,34,248,22,176,13,23,201,1,28, -248,22,171,6,23,203,2,249,22,183,7,23,204,1,8,63,23,202,1,28,248, -22,171,13,23,199,2,248,22,172,13,23,199,1,87,94,23,198,1,247,22,173, -13,28,248,22,170,13,194,249,22,188,13,195,194,192,91,159,38,11,90,161,38, -36,11,87,95,28,28,248,22,171,13,23,196,2,10,28,248,22,170,13,23,196, -2,10,28,248,22,171,6,23,196,2,28,248,22,128,14,23,196,2,10,248,22, -129,14,23,196,2,11,12,252,22,147,9,2,11,2,26,36,23,200,2,23,201, -2,28,28,248,22,171,6,23,197,2,10,248,22,159,7,23,197,2,12,252,22, -147,9,2,11,2,27,37,23,200,2,23,201,2,91,159,39,11,90,161,39,36, -11,248,22,191,13,23,199,2,87,94,23,195,1,87,94,28,192,12,250,22,148, -9,2,11,2,28,23,201,2,249,22,7,194,195,27,249,22,180,13,249,22,169, -7,250,22,169,14,0,9,35,114,120,35,34,91,46,93,34,248,22,176,13,23, -203,1,6,1,1,95,28,248,22,171,6,23,202,2,249,22,183,7,23,203,1, -8,63,23,201,1,28,248,22,171,13,23,199,2,248,22,172,13,23,199,1,87, -94,23,198,1,247,22,173,13,28,248,22,170,13,194,249,22,188,13,195,194,192, -249,247,22,138,5,194,11,249,80,159,38,47,37,9,9,249,80,159,38,47,37, -195,9,27,247,22,150,14,249,80,158,39,48,28,23,195,2,27,248,22,188,7, +22,128,14,23,206,1,23,207,1,23,200,1,27,249,22,128,14,248,22,72,23, +197,2,23,201,2,28,248,22,187,13,23,194,2,27,250,22,1,22,128,14,23, +197,1,203,28,248,22,187,13,193,192,253,2,41,202,203,204,205,206,248,22,73, +201,253,2,41,201,202,203,204,205,248,22,73,200,27,247,22,152,14,253,2,41, +198,199,200,201,202,198,87,95,28,28,248,22,175,13,23,194,2,10,28,248,22, +174,13,23,194,2,10,28,248,22,175,6,23,194,2,28,248,22,132,14,23,194, +2,10,248,22,133,14,23,194,2,11,12,252,22,151,9,23,200,2,2,26,36, +23,198,2,23,199,2,28,28,248,22,175,6,23,195,2,10,248,22,163,7,23, +195,2,87,94,23,194,1,12,252,22,151,9,23,200,2,2,27,37,23,198,2, +23,199,1,91,159,39,11,90,161,39,36,11,248,22,131,14,23,197,2,87,94, +23,195,1,87,94,28,192,12,250,22,152,9,23,201,1,2,28,23,199,1,249, +22,7,194,195,91,159,38,11,90,161,38,36,11,87,95,28,28,248,22,175,13, +23,196,2,10,28,248,22,174,13,23,196,2,10,28,248,22,175,6,23,196,2, +28,248,22,132,14,23,196,2,10,248,22,133,14,23,196,2,11,12,252,22,151, +9,2,10,2,26,36,23,200,2,23,201,2,28,28,248,22,175,6,23,197,2, +10,248,22,163,7,23,197,2,12,252,22,151,9,2,10,2,27,37,23,200,2, +23,201,2,91,159,39,11,90,161,39,36,11,248,22,131,14,23,199,2,87,94, +23,195,1,87,94,28,192,12,250,22,152,9,2,10,2,28,23,201,2,249,22, +7,194,195,27,249,22,184,13,250,22,172,14,0,20,35,114,120,35,34,40,63, +58,91,46,93,91,94,46,93,42,124,41,36,34,248,22,180,13,23,201,1,28, +248,22,175,6,23,203,2,249,22,187,7,23,204,1,8,63,23,202,1,28,248, +22,175,13,23,199,2,248,22,176,13,23,199,1,87,94,23,198,1,247,22,177, +13,28,248,22,174,13,194,249,22,128,14,195,194,192,91,159,38,11,90,161,38, +36,11,87,95,28,28,248,22,175,13,23,196,2,10,28,248,22,174,13,23,196, +2,10,28,248,22,175,6,23,196,2,28,248,22,132,14,23,196,2,10,248,22, +133,14,23,196,2,11,12,252,22,151,9,2,11,2,26,36,23,200,2,23,201, +2,28,28,248,22,175,6,23,197,2,10,248,22,163,7,23,197,2,12,252,22, +151,9,2,11,2,27,37,23,200,2,23,201,2,91,159,39,11,90,161,39,36, +11,248,22,131,14,23,199,2,87,94,23,195,1,87,94,28,192,12,250,22,152, +9,2,11,2,28,23,201,2,249,22,7,194,195,27,249,22,184,13,249,22,173, +7,250,22,173,14,0,9,35,114,120,35,34,91,46,93,34,248,22,180,13,23, +203,1,6,1,1,95,28,248,22,175,6,23,202,2,249,22,187,7,23,203,1, +8,63,23,201,1,28,248,22,175,13,23,199,2,248,22,176,13,23,199,1,87, +94,23,198,1,247,22,177,13,28,248,22,174,13,194,249,22,128,14,195,194,192, +249,247,22,142,5,194,11,249,80,159,38,47,37,9,9,249,80,159,38,47,37, +195,9,27,247,22,154,14,249,80,158,39,48,28,23,195,2,27,248,22,128,8, 6,11,11,80,76,84,67,79,76,76,69,67,84,83,28,192,192,6,0,0,6, -0,0,27,28,23,196,1,250,22,188,13,248,22,146,14,69,97,100,100,111,110, -45,100,105,114,247,22,186,7,6,8,8,99,111,108,108,101,99,116,115,11,27, -248,80,159,42,53,37,250,22,85,23,203,1,248,22,81,248,22,146,14,72,99, +0,0,27,28,23,196,1,250,22,128,14,248,22,150,14,69,97,100,100,111,110, +45,100,105,114,247,22,190,7,6,8,8,99,111,108,108,101,99,116,115,11,27, +248,80,159,42,53,37,250,22,85,23,203,1,248,22,81,248,22,150,14,72,99, 111,108,108,101,99,116,115,45,100,105,114,23,204,1,28,193,249,22,71,195,194, -192,32,51,89,162,8,44,39,8,31,2,19,222,33,52,27,249,22,157,14,23, +192,32,51,89,162,8,44,39,8,31,2,19,222,33,52,27,249,22,161,14,23, 197,2,23,198,2,28,23,193,2,87,94,23,196,1,27,248,22,96,23,195,2, -27,27,248,22,105,23,197,1,27,249,22,157,14,23,201,2,23,196,2,28,23, +27,27,248,22,105,23,197,1,27,249,22,161,14,23,201,2,23,196,2,28,23, 193,2,87,94,23,194,1,27,248,22,96,23,195,2,27,27,248,22,105,23,197, -1,27,249,22,157,14,23,205,2,23,196,2,28,23,193,2,87,94,23,194,1, -27,248,22,96,23,195,2,27,27,248,22,105,23,197,1,27,249,22,157,14,23, +1,27,249,22,161,14,23,205,2,23,196,2,28,23,193,2,87,94,23,194,1, +27,248,22,96,23,195,2,27,27,248,22,105,23,197,1,27,249,22,161,14,23, 209,2,23,196,2,28,23,193,2,87,94,23,194,1,27,248,22,96,23,195,2, -27,27,248,22,105,23,197,1,27,249,22,157,14,23,213,2,23,196,2,28,23, +27,27,248,22,105,23,197,1,27,249,22,161,14,23,213,2,23,196,2,28,23, 193,2,87,94,23,194,1,27,248,22,96,23,195,2,27,250,2,51,23,215,2, -23,216,1,248,22,105,23,199,1,28,249,22,165,7,23,196,2,2,29,249,22, -85,23,214,2,194,249,22,71,248,22,179,13,23,197,1,194,87,95,23,211,1, -23,193,1,28,249,22,165,7,23,196,2,2,29,249,22,85,23,212,2,9,249, -22,71,248,22,179,13,23,197,1,9,28,249,22,165,7,23,196,2,2,29,249, -22,85,23,210,2,194,249,22,71,248,22,179,13,23,197,1,194,87,94,23,193, -1,28,249,22,165,7,23,196,2,2,29,249,22,85,23,208,2,9,249,22,71, -248,22,179,13,23,197,1,9,28,249,22,165,7,23,196,2,2,29,249,22,85, -23,206,2,194,249,22,71,248,22,179,13,23,197,1,194,87,94,23,193,1,28, -249,22,165,7,23,196,2,2,29,249,22,85,23,204,2,9,249,22,71,248,22, -179,13,23,197,1,9,28,249,22,165,7,23,196,2,2,29,249,22,85,23,202, -2,194,249,22,71,248,22,179,13,23,197,1,194,87,94,23,193,1,28,249,22, -165,7,23,196,2,2,29,249,22,85,23,200,2,9,249,22,71,248,22,179,13, -23,197,1,9,28,249,22,165,7,23,196,2,2,29,249,22,85,197,194,87,94, -23,196,1,249,22,71,248,22,179,13,23,197,1,194,87,94,23,193,1,28,249, -22,165,7,23,198,2,2,29,249,22,85,195,9,87,94,23,194,1,249,22,71, -248,22,179,13,23,199,1,9,87,95,28,28,248,22,159,7,194,10,248,22,171, -6,194,12,250,22,147,9,2,14,6,21,21,98,121,116,101,32,115,116,114,105, +23,216,1,248,22,105,23,199,1,28,249,22,169,7,23,196,2,2,29,249,22, +85,23,214,2,194,249,22,71,248,22,183,13,23,197,1,194,87,95,23,211,1, +23,193,1,28,249,22,169,7,23,196,2,2,29,249,22,85,23,212,2,9,249, +22,71,248,22,183,13,23,197,1,9,28,249,22,169,7,23,196,2,2,29,249, +22,85,23,210,2,194,249,22,71,248,22,183,13,23,197,1,194,87,94,23,193, +1,28,249,22,169,7,23,196,2,2,29,249,22,85,23,208,2,9,249,22,71, +248,22,183,13,23,197,1,9,28,249,22,169,7,23,196,2,2,29,249,22,85, +23,206,2,194,249,22,71,248,22,183,13,23,197,1,194,87,94,23,193,1,28, +249,22,169,7,23,196,2,2,29,249,22,85,23,204,2,9,249,22,71,248,22, +183,13,23,197,1,9,28,249,22,169,7,23,196,2,2,29,249,22,85,23,202, +2,194,249,22,71,248,22,183,13,23,197,1,194,87,94,23,193,1,28,249,22, +169,7,23,196,2,2,29,249,22,85,23,200,2,9,249,22,71,248,22,183,13, +23,197,1,9,28,249,22,169,7,23,196,2,2,29,249,22,85,197,194,87,94, +23,196,1,249,22,71,248,22,183,13,23,197,1,194,87,94,23,193,1,28,249, +22,169,7,23,198,2,2,29,249,22,85,195,9,87,94,23,194,1,249,22,71, +248,22,183,13,23,199,1,9,87,95,28,28,248,22,163,7,194,10,248,22,175, +6,194,12,250,22,151,9,2,14,6,21,21,98,121,116,101,32,115,116,114,105, 110,103,32,111,114,32,115,116,114,105,110,103,196,28,28,248,22,80,195,249,22, -4,22,170,13,196,11,12,250,22,147,9,2,14,6,13,13,108,105,115,116,32, -111,102,32,112,97,116,104,115,197,250,2,51,197,195,28,248,22,171,6,197,248, -22,182,7,197,196,32,54,89,162,8,44,39,53,70,102,111,117,110,100,45,101, +4,22,174,13,196,11,12,250,22,151,9,2,14,6,13,13,108,105,115,116,32, +111,102,32,112,97,116,104,115,197,250,2,51,197,195,28,248,22,175,6,197,248, +22,186,7,197,196,32,54,89,162,8,44,39,53,70,102,111,117,110,100,45,101, 120,101,99,222,33,57,32,55,89,162,8,44,40,58,64,110,101,120,116,222,33, -56,27,248,22,132,14,23,196,2,28,249,22,179,8,23,195,2,23,197,1,11, -28,248,22,128,14,23,194,2,27,249,22,188,13,23,197,1,23,196,1,28,23, -197,2,91,159,39,11,90,161,39,36,11,248,22,191,13,23,197,2,87,95,23, -195,1,23,194,1,27,28,23,202,2,27,248,22,132,14,23,199,2,28,249,22, -179,8,23,195,2,23,200,2,11,28,248,22,128,14,23,194,2,250,2,54,23, -205,2,23,206,2,249,22,188,13,23,200,2,23,198,1,250,2,54,23,205,2, +56,27,248,22,136,14,23,196,2,28,249,22,183,8,23,195,2,23,197,1,11, +28,248,22,132,14,23,194,2,27,249,22,128,14,23,197,1,23,196,1,28,23, +197,2,91,159,39,11,90,161,39,36,11,248,22,131,14,23,197,2,87,95,23, +195,1,23,194,1,27,28,23,202,2,27,248,22,136,14,23,199,2,28,249,22, +183,8,23,195,2,23,200,2,11,28,248,22,132,14,23,194,2,250,2,54,23, +205,2,23,206,2,249,22,128,14,23,200,2,23,198,1,250,2,54,23,205,2, 23,206,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22, -170,13,23,196,2,27,249,22,188,13,23,198,2,23,205,2,28,28,248,22,183, -13,193,10,248,22,182,13,193,192,11,11,28,23,193,2,192,87,94,23,193,1, -28,23,203,2,11,27,248,22,132,14,23,200,2,28,249,22,179,8,23,195,2, -23,201,1,11,28,248,22,128,14,23,194,2,250,2,54,23,206,1,23,207,1, -249,22,188,13,23,201,1,23,198,1,250,2,54,205,206,195,192,87,94,23,194, -1,28,23,196,2,91,159,39,11,90,161,39,36,11,248,22,191,13,23,197,2, -87,95,23,195,1,23,194,1,27,28,23,201,2,27,248,22,132,14,23,199,2, -28,249,22,179,8,23,195,2,23,200,2,11,28,248,22,128,14,23,194,2,250, -2,54,23,204,2,23,205,2,249,22,188,13,23,200,2,23,198,1,250,2,54, +174,13,23,196,2,27,249,22,128,14,23,198,2,23,205,2,28,28,248,22,187, +13,193,10,248,22,186,13,193,192,11,11,28,23,193,2,192,87,94,23,193,1, +28,23,203,2,11,27,248,22,136,14,23,200,2,28,249,22,183,8,23,195,2, +23,201,1,11,28,248,22,132,14,23,194,2,250,2,54,23,206,1,23,207,1, +249,22,128,14,23,201,1,23,198,1,250,2,54,205,206,195,192,87,94,23,194, +1,28,23,196,2,91,159,39,11,90,161,39,36,11,248,22,131,14,23,197,2, +87,95,23,195,1,23,194,1,27,28,23,201,2,27,248,22,136,14,23,199,2, +28,249,22,183,8,23,195,2,23,200,2,11,28,248,22,132,14,23,194,2,250, +2,54,23,204,2,23,205,2,249,22,128,14,23,200,2,23,198,1,250,2,54, 23,204,2,23,205,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,27, -28,248,22,170,13,23,196,2,27,249,22,188,13,23,198,2,23,204,2,28,28, -248,22,183,13,193,10,248,22,182,13,193,192,11,11,28,23,193,2,192,87,94, -23,193,1,28,23,202,2,11,27,248,22,132,14,23,200,2,28,249,22,179,8, -23,195,2,23,201,1,11,28,248,22,128,14,23,194,2,250,2,54,23,205,1, -23,206,1,249,22,188,13,23,201,1,23,198,1,250,2,54,204,205,195,192,28, -23,193,2,91,159,39,11,90,161,39,36,11,248,22,191,13,23,199,2,87,95, +28,248,22,174,13,23,196,2,27,249,22,128,14,23,198,2,23,204,2,28,28, +248,22,187,13,193,10,248,22,186,13,193,192,11,11,28,23,193,2,192,87,94, +23,193,1,28,23,202,2,11,27,248,22,136,14,23,200,2,28,249,22,183,8, +23,195,2,23,201,1,11,28,248,22,132,14,23,194,2,250,2,54,23,205,1, +23,206,1,249,22,128,14,23,201,1,23,198,1,250,2,54,204,205,195,192,28, +23,193,2,91,159,39,11,90,161,39,36,11,248,22,131,14,23,199,2,87,95, 23,195,1,23,194,1,27,28,23,198,2,251,2,55,23,198,2,23,203,2,23, -201,2,23,202,2,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22,170, -13,195,27,249,22,188,13,197,200,28,28,248,22,183,13,193,10,248,22,182,13, +201,2,23,202,2,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22,174, +13,195,27,249,22,128,14,197,200,28,28,248,22,187,13,193,10,248,22,186,13, 193,192,11,11,28,192,192,28,198,11,251,2,55,198,203,201,202,194,32,58,89, 162,8,44,40,8,31,2,19,222,33,59,28,248,22,79,23,197,2,11,27,248, -22,131,14,248,22,72,23,199,2,27,249,22,188,13,23,196,1,23,197,2,28, -248,22,182,13,23,194,2,250,2,54,198,199,195,87,94,23,193,1,27,248,22, -73,23,200,1,28,248,22,79,23,194,2,11,27,248,22,131,14,248,22,72,23, -196,2,27,249,22,188,13,23,196,1,23,200,2,28,248,22,182,13,23,194,2, +22,135,14,248,22,72,23,199,2,27,249,22,128,14,23,196,1,23,197,2,28, +248,22,186,13,23,194,2,250,2,54,198,199,195,87,94,23,193,1,27,248,22, +73,23,200,1,28,248,22,79,23,194,2,11,27,248,22,135,14,248,22,72,23, +196,2,27,249,22,128,14,23,196,1,23,200,2,28,248,22,186,13,23,194,2, 250,2,54,201,202,195,87,94,23,193,1,27,248,22,73,23,197,1,28,248,22, -79,23,194,2,11,27,248,22,131,14,248,22,72,23,196,2,27,249,22,188,13, -23,196,1,23,203,2,28,248,22,182,13,23,194,2,250,2,54,204,205,195,87, +79,23,194,2,11,27,248,22,135,14,248,22,72,23,196,2,27,249,22,128,14, +23,196,1,23,203,2,28,248,22,186,13,23,194,2,250,2,54,204,205,195,87, 94,23,193,1,27,248,22,73,23,197,1,28,248,22,79,23,194,2,11,27,248, -22,131,14,248,22,72,23,196,2,27,249,22,188,13,23,196,1,23,206,2,28, -248,22,182,13,23,194,2,250,2,54,23,15,23,16,195,87,94,23,193,1,27, -248,22,73,23,197,1,28,248,22,79,23,194,2,11,27,248,22,131,14,248,22, -72,23,196,2,27,249,22,188,13,23,196,1,23,209,2,28,248,22,182,13,23, +22,135,14,248,22,72,23,196,2,27,249,22,128,14,23,196,1,23,206,2,28, +248,22,186,13,23,194,2,250,2,54,23,15,23,16,195,87,94,23,193,1,27, +248,22,73,23,197,1,28,248,22,79,23,194,2,11,27,248,22,135,14,248,22, +72,23,196,2,27,249,22,128,14,23,196,1,23,209,2,28,248,22,186,13,23, 194,2,250,2,54,23,18,23,19,195,87,94,23,193,1,27,248,22,73,23,197, -1,28,248,22,79,23,194,2,11,27,248,22,131,14,248,22,72,195,27,249,22, -188,13,23,196,1,23,19,28,248,22,182,13,193,250,2,54,23,21,23,22,195, -251,2,58,23,21,23,22,23,23,248,22,73,199,87,95,28,28,248,22,170,13, -23,195,2,10,28,248,22,171,6,23,195,2,28,248,22,128,14,23,195,2,10, -248,22,129,14,23,195,2,11,12,250,22,147,9,2,15,6,25,25,112,97,116, +1,28,248,22,79,23,194,2,11,27,248,22,135,14,248,22,72,195,27,249,22, +128,14,23,196,1,23,19,28,248,22,186,13,193,250,2,54,23,21,23,22,195, +251,2,58,23,21,23,22,23,23,248,22,73,199,87,95,28,28,248,22,174,13, +23,195,2,10,28,248,22,175,6,23,195,2,28,248,22,132,14,23,195,2,10, +248,22,133,14,23,195,2,11,12,250,22,151,9,2,15,6,25,25,112,97,116, 104,32,111,114,32,115,116,114,105,110,103,32,40,115,97,110,115,32,110,117,108, -41,23,197,2,28,28,23,195,2,28,28,248,22,170,13,23,196,2,10,28,248, -22,171,6,23,196,2,28,248,22,128,14,23,196,2,10,248,22,129,14,23,196, -2,11,248,22,128,14,23,196,2,11,10,12,250,22,147,9,2,15,6,29,29, +41,23,197,2,28,28,23,195,2,28,28,248,22,174,13,23,196,2,10,28,248, +22,175,6,23,196,2,28,248,22,132,14,23,196,2,10,248,22,133,14,23,196, +2,11,248,22,132,14,23,196,2,11,10,12,250,22,151,9,2,15,6,29,29, 35,102,32,111,114,32,114,101,108,97,116,105,118,101,32,112,97,116,104,32,111, -114,32,115,116,114,105,110,103,23,198,2,28,28,248,22,128,14,23,195,2,91, -159,39,11,90,161,39,36,11,248,22,191,13,23,198,2,249,22,177,8,194,68, -114,101,108,97,116,105,118,101,11,27,248,22,188,7,6,4,4,80,65,84,72, -27,28,23,194,2,27,249,80,159,41,48,38,23,197,1,9,28,249,22,177,8, -247,22,190,7,2,21,249,22,71,248,22,179,13,5,1,46,194,192,87,94,23, -194,1,9,28,248,22,79,23,194,2,11,27,248,22,131,14,248,22,72,23,196, -2,27,249,22,188,13,23,196,1,23,200,2,28,248,22,182,13,23,194,2,250, +114,32,115,116,114,105,110,103,23,198,2,28,28,248,22,132,14,23,195,2,91, +159,39,11,90,161,39,36,11,248,22,131,14,23,198,2,249,22,181,8,194,68, +114,101,108,97,116,105,118,101,11,27,248,22,128,8,6,4,4,80,65,84,72, +27,28,23,194,2,27,249,80,159,41,48,38,23,197,1,9,28,249,22,181,8, +247,22,130,8,2,21,249,22,71,248,22,183,13,5,1,46,194,192,87,94,23, +194,1,9,28,248,22,79,23,194,2,11,27,248,22,135,14,248,22,72,23,196, +2,27,249,22,128,14,23,196,1,23,200,2,28,248,22,186,13,23,194,2,250, 2,54,201,202,195,87,94,23,193,1,27,248,22,73,23,197,1,28,248,22,79, -23,194,2,11,27,248,22,131,14,248,22,72,23,196,2,27,249,22,188,13,23, -196,1,23,203,2,28,248,22,182,13,23,194,2,250,2,54,204,205,195,87,94, +23,194,2,11,27,248,22,135,14,248,22,72,23,196,2,27,249,22,128,14,23, +196,1,23,203,2,28,248,22,186,13,23,194,2,250,2,54,204,205,195,87,94, 23,193,1,27,248,22,73,23,197,1,28,248,22,79,23,194,2,11,27,248,22, -131,14,248,22,72,195,27,249,22,188,13,23,196,1,205,28,248,22,182,13,193, +135,14,248,22,72,195,27,249,22,128,14,23,196,1,205,28,248,22,186,13,193, 250,2,54,23,15,23,16,195,251,2,58,23,15,23,16,23,17,248,22,73,199, -27,248,22,131,14,23,196,1,28,248,22,182,13,193,250,2,54,198,199,195,11, +27,248,22,135,14,23,196,1,28,248,22,186,13,193,250,2,54,198,199,195,11, 250,80,159,39,49,37,196,197,11,250,80,159,39,49,37,196,11,11,87,94,249, -22,162,6,247,22,134,5,195,248,22,188,5,249,22,180,3,36,249,22,164,3, +22,166,6,247,22,138,5,195,248,22,128,6,249,22,184,3,36,249,22,168,3, 197,198,27,28,23,197,2,87,95,23,196,1,23,195,1,23,197,1,87,94,23, -197,1,27,248,22,146,14,2,20,27,249,80,159,41,49,37,23,196,1,11,27, -27,248,22,183,3,23,200,1,28,192,192,36,27,27,248,22,183,3,23,202,1, -28,192,192,36,249,22,165,5,23,197,1,83,158,40,20,100,95,89,162,8,44, -36,48,9,224,3,2,33,63,23,195,1,23,196,1,27,248,22,150,5,23,195, +197,1,27,248,22,150,14,2,20,27,249,80,159,41,49,37,23,196,1,11,27, +27,248,22,187,3,23,200,1,28,192,192,36,27,27,248,22,187,3,23,202,1, +28,192,192,36,249,22,169,5,23,197,1,83,158,40,20,100,95,89,162,8,44, +36,48,9,224,3,2,33,63,23,195,1,23,196,1,27,248,22,154,5,23,195, 1,248,80,159,39,54,37,193,159,36,20,105,159,36,16,1,11,16,0,83,158, 42,20,103,145,2,1,2,1,29,11,11,11,11,11,10,43,80,158,36,36,20, 105,159,38,16,17,2,2,2,3,2,4,2,5,2,6,2,7,2,8,2,9, @@ -375,7 +375,7 @@ 16,2,89,162,8,44,37,51,2,19,223,0,33,30,80,159,36,54,37,83,158, 36,16,2,89,162,8,44,37,56,2,19,223,0,33,31,80,159,36,53,37,83, 158,36,16,2,32,0,89,162,44,37,45,2,2,222,33,32,80,159,36,36,37, -83,158,36,16,2,249,22,173,6,7,92,7,92,80,159,36,37,37,83,158,36, +83,158,36,16,2,249,22,177,6,7,92,7,92,80,159,36,37,37,83,158,36, 16,2,89,162,44,37,54,2,4,223,0,33,33,80,159,36,38,37,83,158,36, 16,2,32,0,89,162,8,44,38,50,2,5,222,33,34,80,159,36,39,37,83, 158,36,16,2,32,0,89,162,8,44,39,51,2,6,222,33,36,80,159,36,40, @@ -388,8 +388,8 @@ 222,33,47,80,159,36,46,37,83,158,36,16,2,83,158,39,20,99,96,2,13, 89,162,44,36,44,9,223,0,33,48,89,162,44,37,45,9,223,0,33,49,89, 162,44,38,55,9,223,0,33,50,80,159,36,47,37,83,158,36,16,2,27,248, -22,153,14,248,22,182,7,27,28,249,22,177,8,247,22,190,7,2,21,6,1, -1,59,6,1,1,58,250,22,155,7,6,14,14,40,91,94,126,97,93,42,41, +22,157,14,248,22,186,7,27,28,249,22,181,8,247,22,130,8,2,21,6,1, +1,59,6,1,1,58,250,22,159,7,6,14,14,40,91,94,126,97,93,42,41, 126,97,40,46,42,41,23,196,2,23,196,1,89,162,8,44,38,48,2,14,223, 0,33,53,80,159,36,48,37,83,158,36,16,2,83,158,39,20,99,96,2,15, 89,162,8,44,39,8,24,9,223,0,33,60,89,162,44,38,47,9,223,0,33, @@ -400,13 +400,13 @@ EVAL_ONE_SIZED_STR((char *)expr, 6246); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,48,9,0,0,0,1,0,0,10,0,16, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,49,9,0,0,0,1,0,0,10,0,16, 0,29,0,44,0,58,0,72,0,86,0,128,0,0,0,57,1,0,0,69,35, 37,98,117,105,108,116,105,110,65,113,117,111,116,101,29,94,2,2,67,35,37, 117,116,105,108,115,11,29,94,2,2,69,35,37,110,101,116,119,111,114,107,11, 29,94,2,2,68,35,37,112,97,114,97,109,122,11,29,94,2,2,68,35,37, 101,120,112,111,98,115,11,29,94,2,2,68,35,37,107,101,114,110,101,108,11, -97,36,11,8,240,215,77,0,0,98,159,2,3,36,36,159,2,4,36,36,159, +97,36,11,8,240,33,79,0,0,98,159,2,3,36,36,159,2,4,36,36,159, 2,5,36,36,159,2,6,36,36,159,2,7,36,36,159,2,7,36,36,16,0, 159,36,20,105,159,36,16,1,11,16,0,83,158,42,20,103,145,2,1,2,1, 29,11,11,11,11,11,18,96,11,44,44,44,36,80,158,36,36,20,105,159,36, @@ -420,7 +420,7 @@ EVAL_ONE_SIZED_STR((char *)expr, 353); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,48,74,0,0,0,1,0,0,7,0,18, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,52,46,50,46,53,46,49,49,74,0,0,0,1,0,0,7,0,18, 0,45,0,51,0,64,0,73,0,80,0,102,0,124,0,150,0,162,0,180,0, 200,0,212,0,228,0,251,0,7,1,38,1,45,1,50,1,55,1,60,1,65, 1,70,1,79,1,84,1,88,1,94,1,101,1,107,1,115,1,124,1,145,1, @@ -446,97 +446,97 @@ 97,109,101,5,3,46,122,111,5,3,46,122,111,6,6,6,110,97,116,105,118, 101,64,108,111,111,112,63,108,105,98,6,3,3,46,115,115,6,4,4,46,114, 107,116,5,4,46,114,107,116,67,105,103,110,111,114,101,100,249,22,14,195,80, -159,38,46,38,250,22,188,13,23,197,1,23,199,1,249,80,159,43,39,38,23, -198,1,2,23,250,22,188,13,23,197,1,23,199,1,249,80,159,43,39,38,23, -198,1,2,24,252,22,188,13,23,199,1,23,201,1,2,25,247,22,191,7,249, -80,159,45,39,38,23,200,1,80,159,45,36,38,252,22,188,13,23,199,1,23, -201,1,2,25,247,22,191,7,249,80,159,45,39,38,23,200,1,80,159,45,36, -38,27,252,22,188,13,23,200,1,23,202,1,2,25,247,22,191,7,249,80,159, -46,39,38,23,201,1,80,159,46,36,38,27,250,22,141,14,196,11,32,0,89, -162,8,44,36,41,9,222,11,28,192,249,22,71,195,194,11,27,252,22,188,13, -23,200,1,23,202,1,2,25,247,22,191,7,249,80,159,46,39,38,23,201,1, -80,159,46,36,38,27,250,22,141,14,196,11,32,0,89,162,8,44,36,41,9, -222,11,28,192,249,22,71,195,194,11,27,250,22,188,13,23,198,1,23,200,1, -249,80,159,44,39,38,23,199,1,2,23,27,250,22,141,14,196,11,32,0,89, -162,8,44,36,41,9,222,11,28,192,249,22,71,195,194,11,27,250,22,188,13, -23,198,1,23,200,1,249,80,159,44,39,38,23,199,1,2,24,27,250,22,141, +159,38,46,38,250,22,128,14,23,197,1,23,199,1,249,80,159,43,39,38,23, +198,1,2,23,250,22,128,14,23,197,1,23,199,1,249,80,159,43,39,38,23, +198,1,2,24,252,22,128,14,23,199,1,23,201,1,2,25,247,22,131,8,249, +80,159,45,39,38,23,200,1,80,159,45,36,38,252,22,128,14,23,199,1,23, +201,1,2,25,247,22,131,8,249,80,159,45,39,38,23,200,1,80,159,45,36, +38,27,252,22,128,14,23,200,1,23,202,1,2,25,247,22,131,8,249,80,159, +46,39,38,23,201,1,80,159,46,36,38,27,250,22,145,14,196,11,32,0,89, +162,8,44,36,41,9,222,11,28,192,249,22,71,195,194,11,27,252,22,128,14, +23,200,1,23,202,1,2,25,247,22,131,8,249,80,159,46,39,38,23,201,1, +80,159,46,36,38,27,250,22,145,14,196,11,32,0,89,162,8,44,36,41,9, +222,11,28,192,249,22,71,195,194,11,27,250,22,128,14,23,198,1,23,200,1, +249,80,159,44,39,38,23,199,1,2,23,27,250,22,145,14,196,11,32,0,89, +162,8,44,36,41,9,222,11,28,192,249,22,71,195,194,11,27,250,22,128,14, +23,198,1,23,200,1,249,80,159,44,39,38,23,199,1,2,24,27,250,22,145, 14,196,11,32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,195,194, -11,87,94,28,248,80,159,37,38,38,23,195,2,12,250,22,147,9,77,108,111, +11,87,94,28,248,80,159,37,38,38,23,195,2,12,250,22,151,9,77,108,111, 97,100,47,117,115,101,45,99,111,109,112,105,108,101,100,6,25,25,112,97,116, 104,32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,110, -103,23,197,2,91,159,46,11,90,161,37,36,11,28,248,22,130,14,23,205,2, -23,204,2,27,247,22,139,5,28,23,193,2,249,22,131,14,23,207,2,23,195, -1,23,205,2,90,161,39,37,11,248,22,191,13,23,205,1,87,94,23,196,1, -90,161,38,40,11,28,23,205,2,27,248,22,175,13,23,197,2,27,248,22,162, -7,23,195,2,28,28,249,22,176,3,23,195,2,40,249,22,165,7,5,4,46, -114,107,116,249,22,168,7,23,198,2,249,22,164,3,23,199,2,40,11,249,22, -7,23,199,2,248,22,179,13,249,22,169,7,250,22,168,7,23,202,1,36,249, -22,164,3,23,203,1,40,5,3,46,115,115,249,22,7,23,199,2,11,249,22, -7,23,197,2,11,90,161,37,42,11,28,249,22,177,8,23,199,2,23,197,2, -23,193,2,249,22,188,13,23,196,2,23,199,2,90,161,37,43,11,28,23,198, -2,28,249,22,177,8,23,200,2,23,197,1,23,193,1,87,94,23,193,1,249, -22,188,13,23,196,2,23,200,2,87,94,23,195,1,11,90,161,37,44,11,28, -249,22,177,8,23,196,2,68,114,101,108,97,116,105,118,101,87,94,23,194,1, -2,22,23,194,1,90,161,37,45,11,247,22,149,14,27,27,250,22,141,14,23, +103,23,197,2,91,159,46,11,90,161,37,36,11,28,248,22,134,14,23,205,2, +23,204,2,27,247,22,143,5,28,23,193,2,249,22,135,14,23,207,2,23,195, +1,23,205,2,90,161,39,37,11,248,22,131,14,23,205,1,87,94,23,196,1, +90,161,38,40,11,28,23,205,2,27,248,22,179,13,23,197,2,27,248,22,166, +7,23,195,2,28,28,249,22,180,3,23,195,2,40,249,22,169,7,5,4,46, +114,107,116,249,22,172,7,23,198,2,249,22,168,3,23,199,2,40,11,249,22, +7,23,199,2,248,22,183,13,249,22,173,7,250,22,172,7,23,202,1,36,249, +22,168,3,23,203,1,40,5,3,46,115,115,249,22,7,23,199,2,11,249,22, +7,23,197,2,11,90,161,37,42,11,28,249,22,181,8,23,199,2,23,197,2, +23,193,2,249,22,128,14,23,196,2,23,199,2,90,161,37,43,11,28,23,198, +2,28,249,22,181,8,23,200,2,23,197,1,23,193,1,87,94,23,193,1,249, +22,128,14,23,196,2,23,200,2,87,94,23,195,1,11,90,161,37,44,11,28, +249,22,181,8,23,196,2,68,114,101,108,97,116,105,118,101,87,94,23,194,1, +2,22,23,194,1,90,161,37,45,11,247,22,153,14,27,27,250,22,145,14,23, 204,2,11,32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,23,203, -2,194,11,27,28,23,202,2,28,23,194,2,11,27,250,22,141,14,23,206,2, +2,194,11,27,28,23,202,2,28,23,194,2,11,27,250,22,145,14,23,206,2, 11,32,0,89,162,8,44,36,41,9,222,11,28,192,249,22,71,23,205,2,194, 11,11,27,28,23,195,2,23,195,2,23,194,2,27,89,162,44,37,50,62,122, 111,225,14,12,8,33,33,27,89,162,44,37,50,66,97,108,116,45,122,111,225, 15,13,10,33,34,27,89,162,44,37,52,9,225,16,14,10,33,35,27,89,162, -44,37,52,9,225,17,15,12,33,36,27,28,23,200,2,23,200,2,248,22,175, +44,37,52,9,225,17,15,12,33,36,27,28,23,200,2,23,200,2,248,22,179, 8,23,200,2,27,28,23,207,2,28,23,200,2,87,94,23,201,1,23,200,2, -248,22,175,8,23,202,1,11,27,28,23,195,2,28,23,197,1,27,249,22,5, +248,22,179,8,23,202,1,11,27,28,23,195,2,28,23,197,1,27,249,22,5, 89,162,8,44,37,53,9,225,23,21,17,33,37,23,215,2,27,28,23,202,2, -11,193,28,192,192,28,193,28,23,202,2,28,249,22,176,3,248,22,73,196,248, +11,193,28,192,192,28,193,28,23,202,2,28,249,22,180,3,248,22,73,196,248, 22,73,23,205,2,193,11,11,11,11,87,94,23,197,1,11,28,23,193,2,87, 105,23,212,1,23,210,1,23,209,1,23,208,1,23,207,1,23,201,1,23,200, 1,23,199,1,23,198,1,23,196,1,23,195,1,23,194,1,20,14,159,80,159, -56,40,38,250,80,159,59,41,38,249,22,27,11,80,159,8,25,40,38,22,163, +56,40,38,250,80,159,59,41,38,249,22,27,11,80,159,8,25,40,38,22,167, 4,11,20,14,159,80,159,56,40,38,250,80,159,59,41,38,249,22,27,11,80, -159,8,25,40,38,22,139,5,28,248,22,170,13,23,215,2,23,214,1,87,94, -23,214,1,247,22,147,14,249,247,22,152,14,248,22,72,195,23,24,87,94,23, +159,8,25,40,38,22,143,5,28,248,22,174,13,23,215,2,23,214,1,87,94, +23,214,1,247,22,151,14,249,247,22,156,14,248,22,72,195,23,24,87,94,23, 193,1,27,28,23,195,2,28,23,197,1,27,249,22,5,89,162,8,44,37,53, 9,225,24,22,19,33,38,23,216,2,27,28,23,204,2,11,193,28,192,192,28, -193,28,203,28,249,22,176,3,248,22,73,196,248,22,73,206,193,11,11,11,11, +193,28,203,28,249,22,180,3,248,22,73,196,248,22,73,206,193,11,11,11,11, 87,94,23,197,1,11,28,23,193,2,87,102,23,213,1,23,210,1,23,209,1, 23,208,1,23,201,1,23,200,1,23,199,1,23,196,1,23,195,1,20,14,159, 80,159,57,40,38,250,80,159,8,24,41,38,249,22,27,11,80,159,8,26,40, -38,22,163,4,23,214,1,20,14,159,80,159,57,40,38,250,80,159,8,24,41, -38,249,22,27,11,80,159,8,26,40,38,22,139,5,28,248,22,170,13,23,216, -2,23,215,1,87,94,23,215,1,247,22,147,14,249,247,22,152,14,248,22,72, +38,22,167,4,23,214,1,20,14,159,80,159,57,40,38,250,80,159,8,24,41, +38,249,22,27,11,80,159,8,26,40,38,22,143,5,28,248,22,174,13,23,216, +2,23,215,1,87,94,23,215,1,247,22,151,14,249,247,22,156,14,248,22,72, 195,23,25,87,94,23,193,1,27,28,23,197,2,28,23,201,1,27,249,22,5, 83,158,40,20,100,94,89,162,8,44,37,51,9,225,25,23,19,33,39,23,212, 1,23,217,2,27,28,23,204,2,11,193,28,192,192,28,193,28,23,204,2,28, -249,22,176,3,248,22,73,196,248,22,73,23,207,2,193,11,11,11,87,94,23, +249,22,180,3,248,22,73,196,248,22,73,23,207,2,193,11,11,11,87,94,23, 209,1,11,87,94,23,201,1,11,28,23,193,2,87,101,23,214,1,23,212,1, 23,211,1,23,210,1,23,202,1,23,200,1,23,197,1,23,196,1,20,14,159, 80,159,58,40,38,250,80,159,8,25,41,38,249,22,27,11,80,159,8,27,40, -38,22,163,4,11,20,14,159,80,159,58,40,38,250,80,159,8,25,41,38,249, -22,27,11,80,159,8,27,40,38,22,139,5,28,248,22,170,13,23,217,2,23, -216,1,87,94,23,216,1,247,22,147,14,249,247,22,137,5,248,22,72,195,23, +38,22,167,4,11,20,14,159,80,159,58,40,38,250,80,159,8,25,41,38,249, +22,27,11,80,159,8,27,40,38,22,143,5,28,248,22,174,13,23,217,2,23, +216,1,87,94,23,216,1,247,22,151,14,249,247,22,141,5,248,22,72,195,23, 26,87,94,23,193,1,27,28,23,197,1,28,23,201,1,27,249,22,5,83,158, 40,20,100,94,89,162,8,44,37,51,9,225,26,24,21,33,40,23,214,1,23, -218,1,27,28,23,205,2,11,193,28,192,192,28,193,28,204,28,249,22,176,3, +218,1,27,28,23,205,2,11,193,28,192,192,28,193,28,204,28,249,22,180,3, 248,22,73,196,248,22,73,23,15,193,11,11,11,87,95,23,215,1,23,211,1, 11,87,94,23,201,1,11,28,23,193,2,87,95,23,212,1,23,198,1,20,14, 159,80,159,59,40,38,250,80,159,8,26,41,38,249,22,27,11,80,159,8,28, -40,38,22,163,4,23,216,1,20,14,159,80,159,59,40,38,250,80,159,8,26, -41,38,249,22,27,11,80,159,8,28,40,38,22,139,5,28,248,22,170,13,23, -218,2,23,217,1,87,94,23,217,1,247,22,147,14,249,247,22,137,5,248,22, +40,38,22,167,4,23,216,1,20,14,159,80,159,59,40,38,250,80,159,8,26, +41,38,249,22,27,11,80,159,8,28,40,38,22,143,5,28,248,22,174,13,23, +218,2,23,217,1,87,94,23,217,1,247,22,151,14,249,247,22,141,5,248,22, 72,195,23,27,87,94,23,193,1,27,28,23,199,2,87,94,23,214,1,23,213, 1,87,94,23,213,1,23,214,1,20,14,159,80,159,8,24,40,38,250,80,159, -8,27,41,38,249,22,27,11,80,159,8,29,40,38,22,163,4,28,23,29,28, +8,27,41,38,249,22,27,11,80,159,8,29,40,38,22,167,4,28,23,29,28, 23,202,1,11,195,87,94,23,202,1,11,20,14,159,80,159,8,24,40,38,250, -80,159,8,27,41,38,249,22,27,11,80,159,8,29,40,38,22,139,5,28,248, -22,170,13,23,219,2,23,218,1,87,94,23,218,1,247,22,147,14,249,247,22, -137,5,194,23,28,0,17,35,114,120,34,94,40,46,42,63,41,47,40,46,42, -41,36,34,32,43,89,162,8,44,37,59,2,26,222,33,44,27,249,22,157,14, +80,159,8,27,41,38,249,22,27,11,80,159,8,29,40,38,22,143,5,28,248, +22,174,13,23,219,2,23,218,1,87,94,23,218,1,247,22,151,14,249,247,22, +141,5,194,23,28,0,17,35,114,120,34,94,40,46,42,63,41,47,40,46,42, +41,36,34,32,43,89,162,8,44,37,59,2,26,222,33,44,27,249,22,161,14, 2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23, -196,2,27,248,22,105,23,197,1,27,249,22,157,14,2,42,23,196,2,28,23, +196,2,27,248,22,105,23,197,1,27,249,22,161,14,2,42,23,196,2,28,23, 193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23, -197,1,27,249,22,157,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1, -249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,157,14, +197,1,27,249,22,161,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1, +249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,161,14, 2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23, 196,2,248,2,43,248,22,105,23,197,1,248,22,81,194,248,22,81,194,248,22, 81,194,248,22,81,194,32,45,89,162,44,37,55,2,26,222,33,46,28,248,22, @@ -546,12 +546,12 @@ 22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90, 161,38,36,11,248,2,45,248,22,73,196,249,22,7,249,22,71,248,22,72,199, 196,195,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248, -22,72,199,196,195,27,27,249,22,157,14,2,42,23,197,2,28,23,193,2,87, +22,72,199,196,195,27,27,249,22,161,14,2,42,23,197,2,28,23,193,2,87, 94,23,195,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27, -249,22,157,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71, -248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,157,14,2,42,23, +249,22,161,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71, +248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,161,14,2,42,23, 196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27, -248,22,105,23,197,1,27,249,22,157,14,2,42,23,196,2,28,23,193,2,87, +248,22,105,23,197,1,27,249,22,161,14,2,42,23,196,2,28,23,193,2,87, 94,23,194,1,249,22,71,248,22,96,23,196,2,248,2,43,248,22,105,23,197, 1,248,22,81,194,248,22,81,194,248,22,81,194,248,22,81,195,28,23,195,1, 192,28,248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159, @@ -560,23 +560,23 @@ 73,196,28,248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91, 159,38,11,90,161,38,36,11,248,2,45,248,22,73,196,249,22,7,249,22,71, 248,22,72,199,196,195,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7, -249,22,71,248,22,72,199,196,195,87,95,28,248,22,181,4,195,12,250,22,147, +249,22,71,248,22,72,199,196,195,87,95,28,248,22,185,4,195,12,250,22,151, 9,2,18,6,20,20,114,101,115,111,108,118,101,100,45,109,111,100,117,108,101, 45,112,97,116,104,197,28,24,193,2,248,24,194,1,195,87,94,23,193,1,12, -27,27,250,22,146,2,80,159,42,43,38,248,22,182,14,247,22,150,12,11,28, -23,193,2,192,87,94,23,193,1,27,247,22,130,2,87,94,250,22,144,2,80, -159,43,43,38,248,22,182,14,247,22,150,12,195,192,250,22,144,2,195,198,66, -97,116,116,97,99,104,251,211,197,198,199,10,28,192,250,22,146,9,11,196,195, -248,22,144,9,194,32,51,89,162,44,37,52,2,26,222,33,52,28,248,22,79, +27,27,250,22,150,2,80,159,42,43,38,248,22,186,14,247,22,154,12,11,28, +23,193,2,192,87,94,23,193,1,27,247,22,130,2,87,94,250,22,148,2,80, +159,43,43,38,248,22,186,14,247,22,154,12,195,192,250,22,148,2,195,198,66, +97,116,116,97,99,104,251,211,197,198,199,10,28,192,250,22,150,9,11,196,195, +248,22,148,9,194,32,51,89,162,44,37,52,2,26,222,33,52,28,248,22,79, 248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11,90,161,38, 36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2,249,22,7,9, 248,22,72,195,91,159,38,11,90,161,38,36,11,248,2,51,248,22,73,196,249, 22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248,22,72,199, -196,195,32,53,89,162,8,44,37,55,2,26,222,33,54,27,249,22,157,14,2, +196,195,32,53,89,162,8,44,37,55,2,26,222,33,54,27,249,22,161,14,2, 42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196, -2,27,248,22,105,23,197,1,27,249,22,157,14,2,42,23,196,2,28,23,193, +2,27,248,22,105,23,197,1,27,249,22,161,14,2,42,23,196,2,28,23,193, 2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197, -1,27,249,22,157,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249, +1,27,249,22,161,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249, 22,71,248,22,96,23,196,2,248,2,53,248,22,105,23,197,1,248,22,81,194, 248,22,81,194,248,22,81,194,32,55,89,162,44,37,52,2,26,222,33,56,28, 248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38,11, @@ -584,139 +584,139 @@ 22,7,9,248,22,72,195,91,159,38,11,90,161,38,36,11,248,2,55,248,22, 73,196,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71,248, 22,72,199,196,195,32,57,89,162,8,44,37,55,2,26,222,33,58,27,249,22, -157,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22, -96,23,196,2,27,248,22,105,23,197,1,27,249,22,157,14,2,42,23,196,2, +161,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22, +96,23,196,2,27,248,22,105,23,197,1,27,249,22,161,14,2,42,23,196,2, 28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248,22, -105,23,197,1,27,249,22,157,14,2,42,23,196,2,28,23,193,2,87,94,23, +105,23,197,1,27,249,22,161,14,2,42,23,196,2,28,23,193,2,87,94,23, 194,1,249,22,71,248,22,96,23,196,2,248,2,57,248,22,105,23,197,1,248, -22,81,194,248,22,81,194,248,22,81,194,28,249,22,177,6,194,6,1,1,46, -2,22,28,249,22,177,6,194,6,2,2,46,46,62,117,112,192,0,11,35,114, +22,81,194,248,22,81,194,248,22,81,194,28,249,22,181,6,194,6,1,1,46, +2,22,28,249,22,181,6,194,6,2,2,46,46,62,117,112,192,0,11,35,114, 120,34,91,46,93,115,115,36,34,32,61,89,162,44,37,52,2,26,222,33,62, 28,248,22,79,248,22,73,23,195,2,249,22,7,9,248,22,72,195,91,159,38, 11,90,161,38,36,11,27,248,22,73,196,28,248,22,79,248,22,73,23,195,2, 249,22,7,9,248,22,72,195,91,159,38,11,90,161,38,36,11,248,2,61,248, 22,73,196,249,22,7,249,22,71,248,22,72,199,196,195,249,22,7,249,22,71, 248,22,72,199,196,195,32,63,89,162,8,44,37,55,2,26,222,33,64,27,249, -22,157,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248, -22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,157,14,2,42,23,196, +22,161,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248, +22,96,23,196,2,27,248,22,105,23,197,1,27,249,22,161,14,2,42,23,196, 2,28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,27,248, -22,105,23,197,1,27,249,22,157,14,2,42,23,196,2,28,23,193,2,87,94, +22,105,23,197,1,27,249,22,161,14,2,42,23,196,2,28,23,193,2,87,94, 23,194,1,249,22,71,248,22,96,23,196,2,248,2,63,248,22,105,23,197,1, 248,22,81,194,248,22,81,194,248,22,81,194,32,65,89,162,8,44,37,55,2, -26,222,33,66,27,249,22,157,14,2,42,23,196,2,28,23,193,2,87,94,23, +26,222,33,66,27,249,22,161,14,2,42,23,196,2,28,23,193,2,87,94,23, 194,1,249,22,71,248,22,96,23,196,2,27,248,22,105,23,197,1,27,249,22, -157,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22, -96,23,196,2,27,248,22,105,23,197,1,27,249,22,157,14,2,42,23,196,2, +161,14,2,42,23,196,2,28,23,193,2,87,94,23,194,1,249,22,71,248,22, +96,23,196,2,27,248,22,105,23,197,1,27,249,22,161,14,2,42,23,196,2, 28,23,193,2,87,94,23,194,1,249,22,71,248,22,96,23,196,2,248,2,65, 248,22,105,23,197,1,248,22,81,194,248,22,81,194,248,22,81,194,27,248,2, -65,23,195,1,192,28,249,22,179,8,248,22,73,23,200,2,23,197,1,28,249, -22,177,8,248,22,72,23,200,2,23,196,1,251,22,144,9,2,18,6,26,26, +65,23,195,1,192,28,249,22,183,8,248,22,73,23,200,2,23,197,1,28,249, +22,181,8,248,22,72,23,200,2,23,196,1,251,22,148,9,2,18,6,26,26, 99,121,99,108,101,32,105,110,32,108,111,97,100,105,110,103,32,97,116,32,126, 101,58,32,126,101,23,200,1,249,22,2,22,73,248,22,86,249,22,71,23,206, 1,23,202,1,12,12,247,192,20,14,159,80,159,40,45,38,249,22,71,248,22, -182,14,247,22,150,12,23,197,1,20,14,159,80,159,40,40,38,250,80,159,43, -41,38,249,22,27,11,80,159,45,40,38,22,162,4,23,196,1,249,247,22,138, -5,23,198,1,248,22,59,248,22,174,13,23,198,1,87,94,28,28,248,22,170, -13,23,196,2,10,248,22,189,4,23,196,2,12,28,23,197,2,250,22,146,9, +186,14,247,22,154,12,23,197,1,20,14,159,80,159,40,40,38,250,80,159,43, +41,38,249,22,27,11,80,159,45,40,38,22,166,4,23,196,1,249,247,22,142, +5,23,198,1,248,22,59,248,22,178,13,23,198,1,87,94,28,28,248,22,174, +13,23,196,2,10,248,22,129,5,23,196,2,12,28,23,197,2,250,22,150,9, 11,6,15,15,98,97,100,32,109,111,100,117,108,101,32,112,97,116,104,23,200, -2,250,22,147,9,2,18,6,19,19,109,111,100,117,108,101,45,112,97,116,104, +2,250,22,151,9,2,18,6,19,19,109,111,100,117,108,101,45,112,97,116,104, 32,111,114,32,112,97,116,104,23,198,2,28,28,248,22,69,23,196,2,249,22, -177,8,248,22,72,23,198,2,2,4,11,248,22,182,4,248,22,96,196,28,28, -248,22,69,23,196,2,249,22,177,8,248,22,72,23,198,2,66,112,108,97,110, +181,8,248,22,72,23,198,2,2,4,11,248,22,186,4,248,22,96,196,28,28, +248,22,69,23,196,2,249,22,181,8,248,22,72,23,198,2,66,112,108,97,110, 101,116,11,87,94,28,207,12,20,14,159,80,159,37,52,38,80,158,37,50,90, -161,37,36,10,249,22,164,4,21,94,2,27,6,19,19,112,108,97,110,101,116, +161,37,36,10,249,22,168,4,21,94,2,27,6,19,19,112,108,97,110,101,116, 47,114,101,115,111,108,118,101,114,46,114,107,116,1,27,112,108,97,110,101,116, 45,109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114, 12,252,212,199,200,201,202,80,158,42,50,87,94,23,193,1,27,89,162,8,44, 37,46,79,115,104,111,119,45,99,111,108,108,101,99,116,105,111,110,45,101,114, -114,223,5,33,50,27,28,248,22,56,23,198,2,27,250,22,146,2,80,159,43, -44,38,249,22,71,23,203,2,247,22,148,14,11,28,23,193,2,192,87,94,23, +114,223,5,33,50,27,28,248,22,56,23,198,2,27,250,22,150,2,80,159,43, +44,38,249,22,71,23,203,2,247,22,152,14,11,28,23,193,2,192,87,94,23, 193,1,91,159,38,11,90,161,38,36,11,27,248,22,62,23,202,2,248,2,51, 248,2,53,23,195,1,27,251,80,159,47,54,38,2,18,23,202,1,28,248,22, 79,23,199,2,23,199,2,248,22,72,23,199,2,28,248,22,79,23,199,2,9, -248,22,73,23,199,2,249,22,188,13,23,195,1,28,248,22,79,23,197,1,87, -94,23,197,1,6,8,8,109,97,105,110,46,114,107,116,249,22,130,7,23,199, -1,6,4,4,46,114,107,116,28,248,22,171,6,23,198,2,87,94,23,194,1, -27,27,28,23,200,2,28,249,22,177,8,23,202,2,80,158,43,47,80,158,41, -48,27,248,22,183,4,23,202,2,28,248,22,170,13,23,194,2,91,159,39,11, -90,161,39,36,11,248,22,191,13,23,197,1,87,95,83,160,38,11,80,158,45, +248,22,73,23,199,2,249,22,128,14,23,195,1,28,248,22,79,23,197,1,87, +94,23,197,1,6,8,8,109,97,105,110,46,114,107,116,249,22,134,7,23,199, +1,6,4,4,46,114,107,116,28,248,22,175,6,23,198,2,87,94,23,194,1, +27,27,28,23,200,2,28,249,22,181,8,23,202,2,80,158,43,47,80,158,41, +48,27,248,22,187,4,23,202,2,28,248,22,174,13,23,194,2,91,159,39,11, +90,161,39,36,11,248,22,131,14,23,197,1,87,95,83,160,38,11,80,158,45, 47,23,204,2,83,160,38,11,80,158,45,48,192,192,11,11,28,23,193,2,192, -87,94,23,193,1,27,247,22,139,5,28,23,193,2,192,87,94,23,193,1,247, -22,147,14,27,250,22,146,2,80,159,44,44,38,249,22,71,23,204,2,23,199, +87,94,23,193,1,27,247,22,143,5,28,23,193,2,192,87,94,23,193,1,247, +22,151,14,27,250,22,150,2,80,159,44,44,38,249,22,71,23,204,2,23,199, 2,11,28,23,193,2,192,87,94,23,193,1,91,159,38,11,90,161,38,36,11, -248,2,55,248,2,57,23,203,2,250,22,1,22,188,13,23,199,1,249,22,85, +248,2,55,248,2,57,23,203,2,250,22,1,22,128,14,23,199,1,249,22,85, 249,22,2,32,0,89,162,8,44,37,44,9,222,33,59,23,200,1,248,22,81, -27,248,22,174,6,23,202,2,28,249,22,176,3,194,39,28,249,22,177,6,2, -28,249,22,129,7,204,249,22,164,3,198,39,249,22,130,7,250,22,129,7,205, -36,249,22,164,3,199,39,2,29,200,200,28,248,22,170,13,23,198,2,87,94, -23,194,1,28,248,22,129,14,23,198,2,91,159,39,11,90,161,39,36,11,248, -22,191,13,23,201,2,87,95,23,195,1,23,193,1,28,249,22,157,14,2,60, -248,22,175,13,23,197,1,249,80,159,44,53,38,23,202,2,2,30,23,200,2, +27,248,22,178,6,23,202,2,28,249,22,180,3,194,39,28,249,22,181,6,2, +28,249,22,133,7,204,249,22,168,3,198,39,249,22,134,7,250,22,133,7,205, +36,249,22,168,3,199,39,2,29,200,200,28,248,22,174,13,23,198,2,87,94, +23,194,1,28,248,22,133,14,23,198,2,91,159,39,11,90,161,39,36,11,248, +22,131,14,23,201,2,87,95,23,195,1,23,193,1,28,249,22,161,14,2,60, +248,22,179,13,23,197,1,249,80,159,44,53,38,23,202,2,2,30,23,200,2, 248,22,81,6,26,26,32,40,97,32,112,97,116,104,32,109,117,115,116,32,98, -101,32,97,98,115,111,108,117,116,101,41,28,249,22,177,8,248,22,72,23,200, -2,2,27,27,250,22,146,2,80,159,43,44,38,249,22,71,23,203,2,247,22, -148,14,11,28,23,193,2,192,87,94,23,193,1,91,159,39,11,90,161,38,36, +101,32,97,98,115,111,108,117,116,101,41,28,249,22,181,8,248,22,72,23,200, +2,2,27,27,250,22,150,2,80,159,43,44,38,249,22,71,23,203,2,247,22, +152,14,11,28,23,193,2,192,87,94,23,193,1,91,159,39,11,90,161,38,36, 11,27,248,22,96,23,203,2,248,2,61,248,2,63,23,195,1,90,161,37,38, -11,28,248,22,79,248,22,98,23,203,2,28,248,22,79,23,194,2,249,22,161, +11,28,248,22,79,248,22,98,23,203,2,28,248,22,79,23,194,2,249,22,165, 14,0,8,35,114,120,34,91,46,93,34,23,196,2,11,10,27,27,28,23,197, 2,249,22,85,28,248,22,79,248,22,98,23,207,2,21,93,6,5,5,109,122, 108,105,98,249,22,1,22,85,249,22,2,32,0,89,162,8,44,37,44,9,222, 33,67,248,22,98,23,210,2,23,197,2,28,248,22,79,23,196,2,248,22,81, 23,197,2,23,195,2,251,80,159,49,54,38,2,18,23,204,1,248,22,72,23, -198,2,248,22,73,23,198,1,249,22,188,13,23,195,1,28,23,198,1,87,94, -23,196,1,27,248,22,174,6,23,199,2,28,249,22,176,3,194,39,28,249,22, -177,6,2,28,249,22,129,7,201,249,22,164,3,198,39,249,22,130,7,250,22, -129,7,202,36,249,22,164,3,199,39,2,29,197,197,28,248,22,79,23,197,1, -87,94,23,197,1,6,8,8,109,97,105,110,46,114,107,116,28,249,22,161,14, -0,8,35,114,120,34,91,46,93,34,23,199,2,27,248,22,174,6,23,199,2, -28,249,22,176,3,194,39,28,249,22,177,6,2,28,249,22,129,7,201,249,22, -164,3,198,39,249,22,130,7,250,22,129,7,202,36,249,22,164,3,199,39,2, -29,197,197,249,22,130,7,23,199,1,6,4,4,46,114,107,116,28,249,22,177, -8,248,22,72,23,200,2,64,102,105,108,101,27,249,22,131,14,248,22,135,14, -248,22,96,23,202,2,27,28,23,202,2,28,249,22,177,8,23,204,2,80,158, -45,47,80,158,43,48,27,248,22,183,4,23,204,2,28,248,22,170,13,23,194, -2,91,159,39,11,90,161,39,36,11,248,22,191,13,23,197,1,87,95,83,160, +198,2,248,22,73,23,198,1,249,22,128,14,23,195,1,28,23,198,1,87,94, +23,196,1,27,248,22,178,6,23,199,2,28,249,22,180,3,194,39,28,249,22, +181,6,2,28,249,22,133,7,201,249,22,168,3,198,39,249,22,134,7,250,22, +133,7,202,36,249,22,168,3,199,39,2,29,197,197,28,248,22,79,23,197,1, +87,94,23,197,1,6,8,8,109,97,105,110,46,114,107,116,28,249,22,165,14, +0,8,35,114,120,34,91,46,93,34,23,199,2,27,248,22,178,6,23,199,2, +28,249,22,180,3,194,39,28,249,22,181,6,2,28,249,22,133,7,201,249,22, +168,3,198,39,249,22,134,7,250,22,133,7,202,36,249,22,168,3,199,39,2, +29,197,197,249,22,134,7,23,199,1,6,4,4,46,114,107,116,28,249,22,181, +8,248,22,72,23,200,2,64,102,105,108,101,27,249,22,135,14,248,22,139,14, +248,22,96,23,202,2,27,28,23,202,2,28,249,22,181,8,23,204,2,80,158, +45,47,80,158,43,48,27,248,22,187,4,23,204,2,28,248,22,174,13,23,194, +2,91,159,39,11,90,161,39,36,11,248,22,131,14,23,197,1,87,95,83,160, 38,11,80,158,47,47,23,206,2,83,160,38,11,80,158,47,48,192,192,11,11, -28,23,193,2,192,87,94,23,193,1,27,247,22,139,5,28,23,193,2,192,87, -94,23,193,1,247,22,147,14,91,159,39,11,90,161,39,36,11,248,22,191,13, -23,197,2,87,95,23,195,1,23,193,1,28,249,22,157,14,2,60,248,22,175, +28,23,193,2,192,87,94,23,193,1,27,247,22,143,5,28,23,193,2,192,87, +94,23,193,1,247,22,151,14,91,159,39,11,90,161,39,36,11,248,22,131,14, +23,197,2,87,95,23,195,1,23,193,1,28,249,22,161,14,2,60,248,22,179, 13,23,197,1,249,80,159,45,53,38,23,198,1,2,30,195,12,87,94,28,28, -248,22,170,13,23,194,2,10,248,22,129,8,23,194,2,87,94,23,199,1,12, -28,23,199,2,250,22,146,9,67,114,101,113,117,105,114,101,249,22,155,7,6, +248,22,174,13,23,194,2,10,248,22,133,8,23,194,2,87,94,23,199,1,12, +28,23,199,2,250,22,150,9,67,114,101,113,117,105,114,101,249,22,159,7,6, 17,17,98,97,100,32,109,111,100,117,108,101,32,112,97,116,104,126,97,28,23, 198,2,248,22,72,23,199,2,6,0,0,23,202,1,87,94,23,199,1,250,22, -147,9,2,18,249,22,155,7,6,13,13,109,111,100,117,108,101,32,112,97,116, +151,9,2,18,249,22,159,7,6,13,13,109,111,100,117,108,101,32,112,97,116, 104,126,97,28,23,198,2,248,22,72,23,199,2,6,0,0,23,200,2,27,28, -248,22,129,8,23,195,2,249,22,134,8,23,196,2,36,249,22,133,14,248,22, -134,14,23,197,2,11,27,28,248,22,129,8,23,196,2,249,22,134,8,23,197, +248,22,133,8,23,195,2,249,22,138,8,23,196,2,36,249,22,137,14,248,22, +138,14,23,197,2,11,27,28,248,22,133,8,23,196,2,249,22,138,8,23,197, 2,37,248,80,159,42,55,38,23,195,2,91,159,39,11,90,161,39,36,11,28, -248,22,129,8,23,199,2,250,22,7,2,31,249,22,134,8,23,203,2,38,2, -31,248,22,191,13,23,198,2,87,95,23,195,1,23,193,1,27,28,248,22,129, -8,23,200,2,249,22,134,8,23,201,2,39,249,80,159,47,53,38,23,197,2, -5,0,27,28,248,22,129,8,23,201,2,249,22,134,8,23,202,2,40,248,22, -182,4,23,200,2,27,27,250,22,146,2,80,159,51,43,38,248,22,182,14,247, -22,150,12,11,28,23,193,2,192,87,94,23,193,1,27,247,22,130,2,87,94, -250,22,144,2,80,159,52,43,38,248,22,182,14,247,22,150,12,195,192,87,95, -28,23,208,1,27,250,22,146,2,23,197,2,197,11,28,23,193,1,12,87,95, +248,22,133,8,23,199,2,250,22,7,2,31,249,22,138,8,23,203,2,38,2, +31,248,22,131,14,23,198,2,87,95,23,195,1,23,193,1,27,28,248,22,133, +8,23,200,2,249,22,138,8,23,201,2,39,249,80,159,47,53,38,23,197,2, +5,0,27,28,248,22,133,8,23,201,2,249,22,138,8,23,202,2,40,248,22, +186,4,23,200,2,27,27,250,22,150,2,80,159,51,43,38,248,22,186,14,247, +22,154,12,11,28,23,193,2,192,87,94,23,193,1,27,247,22,130,2,87,94, +250,22,148,2,80,159,52,43,38,248,22,186,14,247,22,154,12,195,192,87,95, +28,23,208,1,27,250,22,150,2,23,197,2,197,11,28,23,193,1,12,87,95, 27,27,28,248,22,17,80,159,51,46,38,80,159,50,46,38,247,22,19,250,22, -25,248,22,23,23,197,2,80,159,53,45,38,23,196,1,27,248,22,182,14,247, -22,150,12,249,22,3,83,158,40,20,100,94,89,162,8,44,37,55,9,226,12, +25,248,22,23,23,197,2,80,159,53,45,38,23,196,1,27,248,22,186,14,247, +22,154,12,249,22,3,83,158,40,20,100,94,89,162,8,44,37,55,9,226,12, 11,2,3,33,68,23,195,1,23,196,1,248,28,248,22,17,80,159,50,46,38, 32,0,89,162,44,37,42,9,222,33,69,80,159,49,59,37,89,162,44,36,51, -9,227,13,9,8,4,3,33,70,250,22,144,2,23,197,1,197,10,12,28,28, -248,22,129,8,23,202,1,11,28,248,22,171,6,23,206,2,10,28,248,22,56, -23,206,2,10,28,248,22,69,23,206,2,249,22,177,8,248,22,72,23,208,2, -2,27,11,250,22,144,2,80,159,50,44,38,28,248,22,171,6,23,209,2,249, -22,71,23,210,1,27,28,23,212,2,28,249,22,177,8,23,214,2,80,158,55, -47,87,94,23,212,1,80,158,53,48,27,248,22,183,4,23,214,2,28,248,22, -170,13,23,194,2,91,159,39,11,90,161,39,36,11,248,22,191,13,23,197,1, +9,227,13,9,8,4,3,33,70,250,22,148,2,23,197,1,197,10,12,28,28, +248,22,133,8,23,202,1,11,28,248,22,175,6,23,206,2,10,28,248,22,56, +23,206,2,10,28,248,22,69,23,206,2,249,22,181,8,248,22,72,23,208,2, +2,27,11,250,22,148,2,80,159,50,44,38,28,248,22,175,6,23,209,2,249, +22,71,23,210,1,27,28,23,212,2,28,249,22,181,8,23,214,2,80,158,55, +47,87,94,23,212,1,80,158,53,48,27,248,22,187,4,23,214,2,28,248,22, +174,13,23,194,2,91,159,39,11,90,161,39,36,11,248,22,131,14,23,197,1, 87,95,83,160,38,11,80,158,57,47,23,23,83,160,38,11,80,158,57,48,192, -192,11,11,28,23,193,2,192,87,94,23,193,1,27,247,22,139,5,28,23,193, -2,192,87,94,23,193,1,247,22,147,14,249,22,71,23,210,1,247,22,148,14, -252,22,131,8,23,208,1,23,207,1,23,205,1,23,203,1,201,12,193,87,96, +192,11,11,28,23,193,2,192,87,94,23,193,1,27,247,22,143,5,28,23,193, +2,192,87,94,23,193,1,247,22,151,14,249,22,71,23,210,1,247,22,152,14, +252,22,135,8,23,208,1,23,207,1,23,205,1,23,203,1,201,12,193,87,96, 83,160,38,11,80,158,36,50,248,80,159,37,58,38,249,22,27,11,80,159,39, -52,38,248,22,161,4,80,159,37,51,38,248,22,138,5,80,159,37,37,37,248, -22,141,13,80,159,37,42,37,83,160,38,11,80,158,36,50,248,80,159,37,58, +52,38,248,22,165,4,80,159,37,51,38,248,22,142,5,80,159,37,37,37,248, +22,145,13,80,159,37,42,37,83,160,38,11,80,158,36,50,248,80,159,37,58, 38,249,22,27,11,80,159,39,52,38,159,36,20,105,159,36,16,1,11,16,0, 83,158,42,20,103,145,2,1,2,1,29,11,11,11,11,11,10,38,80,158,36, 36,20,105,159,37,16,23,2,2,2,3,30,2,5,72,112,97,116,104,45,115, @@ -733,7 +733,7 @@ 11,11,16,2,2,20,2,21,16,2,11,11,16,2,2,20,2,21,38,38,37, 11,11,11,16,0,16,0,16,0,36,36,11,11,11,11,16,0,16,0,16,0, 36,36,16,0,16,15,83,158,36,16,2,89,162,44,37,45,9,223,0,33,32, -80,159,36,59,37,83,158,36,16,2,248,22,190,7,69,115,111,45,115,117,102, +80,159,36,59,37,83,158,36,16,2,248,22,130,8,69,115,111,45,115,117,102, 102,105,120,80,159,36,36,37,83,158,36,16,2,89,162,44,38,8,37,2,3, 223,0,33,41,80,159,36,37,37,83,158,36,16,2,32,0,89,162,8,44,37, 42,2,9,222,192,80,159,36,42,37,83,158,36,16,2,247,22,133,2,80,159, diff --git a/src/racket/src/list.c b/src/racket/src/list.c index 869b8b8e8b..cac3c2e694 100644 --- a/src/racket/src/list.c +++ b/src/racket/src/list.c @@ -100,11 +100,15 @@ static Scheme_Object *make_weak_hasheqv(int argc, Scheme_Object *argv[]); static Scheme_Object *make_immutable_hash(int argc, Scheme_Object *argv[]); static Scheme_Object *make_immutable_hasheq(int argc, Scheme_Object *argv[]); static Scheme_Object *make_immutable_hasheqv(int argc, Scheme_Object *argv[]); +static Scheme_Object *direct_hash(int argc, Scheme_Object *argv[]); +static Scheme_Object *direct_hasheq(int argc, Scheme_Object *argv[]); +static Scheme_Object *direct_hasheqv(int argc, Scheme_Object *argv[]); static Scheme_Object *hash_table_count(int argc, Scheme_Object *argv[]); static Scheme_Object *hash_table_copy(int argc, Scheme_Object *argv[]); static Scheme_Object *hash_p(int argc, Scheme_Object *argv[]); static Scheme_Object *hash_eq_p(int argc, Scheme_Object *argv[]); static Scheme_Object *hash_eqv_p(int argc, Scheme_Object *argv[]); +static Scheme_Object *hash_equal_p(int argc, Scheme_Object *argv[]); static Scheme_Object *hash_weak_p(int argc, Scheme_Object *argv[]); static Scheme_Object *hash_table_put_bang(int argc, Scheme_Object *argv[]); static Scheme_Object *hash_table_put(int argc, Scheme_Object *argv[]); @@ -511,6 +515,21 @@ scheme_init_list (Scheme_Env *env) "make-immutable-hasheqv", 1, 1), env); + scheme_add_global_constant("hash", + scheme_make_immed_prim(direct_hash, + "hash", + 0, -1), + env); + scheme_add_global_constant("hasheq", + scheme_make_immed_prim(direct_hasheq, + "hasheq", + 0, -1), + env); + scheme_add_global_constant("hasheqv", + scheme_make_immed_prim(direct_hasheqv, + "hasheqv", + 0, -1), + env); scheme_add_global_constant("hash?", scheme_make_folding_prim(hash_p, "hash?", @@ -526,6 +545,11 @@ scheme_init_list (Scheme_Env *env) "hash-eqv?", 1, 1, 1), env); + scheme_add_global_constant("hash-equal?", + scheme_make_folding_prim(hash_equal_p, + "hash-equal?", + 1, 1, 1), + env); scheme_add_global_constant("hash-weak?", scheme_make_folding_prim(hash_weak_p, "hash-weak?", @@ -1817,6 +1841,42 @@ static Scheme_Object *make_immutable_hasheqv(int argc, Scheme_Object *argv[]) return make_immutable_table("make-immutable-hasheqv", 2, argc, argv); } +static Scheme_Object *direct_table(const char *who, int kind, int argc, Scheme_Object *argv[]) +{ + int i; + Scheme_Hash_Tree *ht; + + if (argc & 0x1) { + scheme_arg_mismatch(who, + "key does not have a value (i.e., an odd number of arguments were provided): ", + argv[argc-1]); + return NULL; + } + + ht = scheme_make_hash_tree(kind); + + for (i = 0; i < argc; i += 2) { + ht = scheme_hash_tree_set(ht, argv[i], argv[i+1]); + } + + return (Scheme_Object *)ht; +} + +static Scheme_Object *direct_hash(int argc, Scheme_Object *argv[]) +{ + return direct_table("hash", 1, argc, argv); +} + +static Scheme_Object *direct_hasheq(int argc, Scheme_Object *argv[]) +{ + return direct_table("hasheq", 0, argc, argv); +} + +static Scheme_Object *direct_hasheqv(int argc, Scheme_Object *argv[]) +{ + return direct_table("hasheqv", 2, argc, argv); +} + Scheme_Hash_Table *scheme_make_hash_table_equal() { Scheme_Hash_Table *t; @@ -2005,6 +2065,29 @@ static Scheme_Object *hash_eqv_p(int argc, Scheme_Object *argv[]) return scheme_false; } +static Scheme_Object *hash_equal_p(int argc, Scheme_Object *argv[]) +{ + Scheme_Object *o = argv[0]; + + if (SCHEME_CHAPERONEP(o)) + o = SCHEME_CHAPERONE_VAL(o); + + if (SCHEME_HASHTP(o)) { + if (((Scheme_Hash_Table *)o)->compare == compare_equal) + return scheme_true; + } else if (SCHEME_HASHTRP(o)) { + if (SCHEME_HASHTR_FLAGS((Scheme_Hash_Tree *)o) & 0x1) + return scheme_true; + } else if (SCHEME_BUCKTP(o)) { + if (((Scheme_Bucket_Table *)o)->compare == compare_equal) + return scheme_true; + } else { + scheme_wrong_type("hash-equal?", "hash", 0, argc, argv); + } + + return scheme_false; +} + static Scheme_Object *hash_weak_p(int argc, Scheme_Object *argv[]) { Scheme_Object *o = argv[0]; diff --git a/src/racket/src/schminc.h b/src/racket/src/schminc.h index 32f1adcd73..9da6e8a4e5 100644 --- a/src/racket/src/schminc.h +++ b/src/racket/src/schminc.h @@ -13,7 +13,7 @@ #define USE_COMPILED_STARTUP 1 -#define EXPECTED_PRIM_COUNT 988 +#define EXPECTED_PRIM_COUNT 992 #define EXPECTED_UNSAFE_COUNT 65 #define EXPECTED_FLFXNUM_COUNT 53 diff --git a/src/racket/src/schvers.h b/src/racket/src/schvers.h index ce19dbda3f..5362b8bb67 100644 --- a/src/racket/src/schvers.h +++ b/src/racket/src/schvers.h @@ -13,12 +13,12 @@ consistently.) */ -#define MZSCHEME_VERSION "4.2.5.10" +#define MZSCHEME_VERSION "4.2.5.11" #define MZSCHEME_VERSION_X 4 #define MZSCHEME_VERSION_Y 2 #define MZSCHEME_VERSION_Z 5 -#define MZSCHEME_VERSION_W 10 +#define MZSCHEME_VERSION_W 11 #define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y) #define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)