From 67a9889ef750ce88139e17da6d8f807adcccc68e Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 19 Jul 2013 04:49:29 -0600 Subject: [PATCH] add "share", move "collects" back out of "lib", move "pkgs" The "share" directory holds platform-independent files, while "lib" holds platform-specific files. In principle, the "collects" directory belongs in "share", as does "doc". Those directories are put into "share" by a Unix-style install, but left at top level for an in-place install. Packages in installation scope are put in "share" instead of "lib", and the top-level Makefile puts development links in "share/devel-pkgs". The `configure' script now supports `--docdir' and `--collectsdir'. Changed the version to 5.90.0.1. --- Makefile | 24 +- pkgs/distro-build/install-for-docs.rkt | 5 +- pkgs/distro-build/installer-exe.rkt | 4 +- pkgs/distro-build/pack-collects.rkt | 4 +- pkgs/distro-build/readme.rkt | 2 +- .../unix-installer/installer-header | 13 +- pkgs/distro-build/unpack-collects.rkt | 7 +- pkgs/honu/info.rkt | 4 +- .../racket-doc/scribblings/raco/config.scrbl | 23 +- .../racket-doc/scribblings/raco/setup.scrbl | 28 +- pkgs/slatex/info.rkt | 4 +- racket/.gitignore | 2 + racket/{lib => }/collects/.gitignore | 0 racket/{lib => }/collects/acks/acks.rkt | 0 .../collects/compiler/cm-accomplice.rkt | 0 racket/{lib => }/collects/compiler/cm.rkt | 0 .../collects/compiler/compile-file.rkt | 0 .../collects/compiler/compiler-unit.rkt | 0 .../collects/compiler/distribute.rkt | 0 .../{lib => }/collects/compiler/embed-sig.rkt | 0 .../collects/compiler/embed-unit.rkt | 0 racket/{lib => }/collects/compiler/embed.rkt | 0 .../{lib => }/collects/compiler/find-exe.rkt | 0 .../collects/compiler/option-unit.rkt | 0 .../compiler/private/collects-path.rkt | 0 .../collects/compiler/private/configdir.rkt | 0 .../collects/compiler/private/elf.rkt | 0 .../collects/compiler/private/embed.rkt | 0 .../collects/compiler/private/macfw.rkt | 0 .../collects/compiler/private/mach-o.rkt | 0 .../collects/compiler/private/windlldir.rkt | 0 .../collects/compiler/private/winsubsys.rkt | 0 .../collects/compiler/private/winutf16.rkt | 0 .../collects/compiler/private/xform.rkt | 0 racket/{lib => }/collects/compiler/sig.rkt | 0 racket/{lib => }/collects/data/bit-vector.rkt | 0 .../{lib => }/collects/data/integer-set.rkt | 0 .../data/private/count-bits-in-fixnum.rkt | 0 racket/{lib => }/collects/data/queue.rkt | 0 racket/{lib => }/collects/db/base.rkt | 0 .../collects/db/private/generic/common.rkt | 0 .../db/private/generic/connect-util.rkt | 0 .../collects/db/private/generic/dsn.rkt | 0 .../collects/db/private/generic/functions.rkt | 0 .../db/private/generic/interfaces.rkt | 0 .../db/private/generic/place-client.rkt | 0 .../db/private/generic/place-server.rkt | 0 .../collects/db/private/generic/prepared.rkt | 0 .../db/private/generic/sql-convert.rkt | 0 .../collects/db/private/generic/sql-data.rkt | 0 .../db/private/sqlite3/connection.rkt | 0 .../collects/db/private/sqlite3/dbsystem.rkt | 0 .../db/private/sqlite3/ffi-constants.rkt | 0 .../collects/db/private/sqlite3/ffi.rkt | 0 .../collects/db/private/sqlite3/main.rkt | 0 racket/{lib => }/collects/db/sqlite3.rkt | 0 .../{lib => }/collects/dynext/compile-sig.rkt | 0 .../collects/dynext/compile-unit.rkt | 0 racket/{lib => }/collects/dynext/compile.rkt | 0 .../{lib => }/collects/dynext/dynext-sig.rkt | 0 .../{lib => }/collects/dynext/dynext-unit.rkt | 0 racket/{lib => }/collects/dynext/dynext.rkt | 0 racket/{lib => }/collects/dynext/file-sig.rkt | 0 .../{lib => }/collects/dynext/file-unit.rkt | 0 racket/{lib => }/collects/dynext/file.rkt | 0 .../collects/dynext/filename-version.rkt | 0 racket/{lib => }/collects/dynext/link-sig.rkt | 0 .../{lib => }/collects/dynext/link-unit.rkt | 0 racket/{lib => }/collects/dynext/link.rkt | 0 racket/{lib => }/collects/dynext/main.rkt | 0 .../collects/dynext/private/cmdargs.rkt | 0 .../collects/dynext/private/dirs.rkt | 0 .../collects/dynext/private/stdio.rkt | 0 .../{lib => }/collects/ffi/com-registry.rkt | 0 racket/{lib => }/collects/ffi/com.rkt | 0 racket/{lib => }/collects/ffi/cvector.rkt | 0 .../collects/ffi/examples/c-printf.rkt | 0 .../{lib => }/collects/ffi/examples/crypt.rkt | 0 .../{lib => }/collects/ffi/examples/esd.rkt | 0 .../collects/ffi/examples/magick.rkt | 0 .../collects/ffi/examples/sndfile.rkt | 0 .../{lib => }/collects/ffi/examples/tcl.rkt | 0 .../collects/ffi/examples/use-c-printf.rkt | 0 .../collects/ffi/examples/use-crypt.rkt | 0 .../collects/ffi/examples/use-esd.rkt | 0 .../collects/ffi/examples/use-magick.rkt | 0 .../collects/ffi/examples/use-sndfile.rkt | 0 .../collects/ffi/examples/use-tcl.rkt | 0 .../collects/ffi/examples/use-xmmsctrl.rkt | 0 .../collects/ffi/examples/use-xosd.rkt | 0 .../collects/ffi/examples/xmmsctrl.rkt | 0 .../{lib => }/collects/ffi/examples/xosd.rkt | 0 racket/{lib => }/collects/ffi/file.rkt | 0 racket/{lib => }/collects/ffi/info.rkt | 0 racket/{lib => }/collects/ffi/objc.rkt | 0 racket/{lib => }/collects/ffi/unsafe.rkt | 0 .../{lib => }/collects/ffi/unsafe/alloc.rkt | 0 .../{lib => }/collects/ffi/unsafe/atomic.rkt | 0 racket/{lib => }/collects/ffi/unsafe/com.rkt | 0 .../collects/ffi/unsafe/custodian.rkt | 0 .../{lib => }/collects/ffi/unsafe/cvector.rkt | 0 .../{lib => }/collects/ffi/unsafe/define.rkt | 0 .../{lib => }/collects/ffi/unsafe/nsalloc.rkt | 0 .../collects/ffi/unsafe/nsstring.rkt | 0 racket/{lib => }/collects/ffi/unsafe/objc.rkt | 0 .../collects/ffi/unsafe/private/win32.rkt | 0 .../collects/ffi/unsafe/try-atomic.rkt | 0 racket/{lib => }/collects/ffi/vector.rkt | 0 racket/{lib => }/collects/ffi/winapi.rkt | 0 .../{lib => }/collects/file/convertible.rkt | 0 racket/{lib => }/collects/file/gunzip.rkt | 0 racket/{lib => }/collects/file/gzip.rkt | 0 racket/{lib => }/collects/file/ico.rkt | 0 racket/{lib => }/collects/file/md5.rkt | 0 .../collects/file/private/octree-quantize.rkt | 0 .../collects/file/private/strip-prefix.rkt | 0 racket/{lib => }/collects/file/resource.rkt | 0 racket/{lib => }/collects/file/sha1.rkt | 0 racket/{lib => }/collects/file/tar.rkt | 0 racket/{lib => }/collects/file/untar.rkt | 0 racket/{lib => }/collects/file/untgz.rkt | 0 racket/{lib => }/collects/file/unzip.rkt | 0 racket/{lib => }/collects/file/zip.rkt | 0 racket/{lib => }/collects/info/main.rkt | 0 racket/{lib => }/collects/json/main.rkt | 0 racket/{lib => }/collects/launcher/.gitignore | 0 racket/{lib => }/collects/launcher/info.rkt | 0 .../collects/launcher/launcher-sig.rkt | 0 .../collects/launcher/launcher-unit.rkt | 0 .../{lib => }/collects/launcher/launcher.rkt | 0 racket/{lib => }/collects/launcher/main.rkt | 0 racket/{lib => }/collects/net/base64.rkt | 0 racket/{lib => }/collects/net/head.rkt | 0 racket/{lib => }/collects/net/uri-codec.rkt | 0 racket/{lib => }/collects/net/url-connect.rkt | 0 racket/{lib => }/collects/net/url-structs.rkt | 0 racket/{lib => }/collects/net/url.rkt | 0 .../{lib => }/collects/openssl/libcrypto.rkt | 0 racket/{lib => }/collects/openssl/libssl.rkt | 0 racket/{lib => }/collects/openssl/main.rkt | 0 racket/{lib => }/collects/openssl/mzssl.rkt | 0 racket/{lib => }/collects/openssl/openssl.rkt | 0 .../collects/openssl/private/add-cert.rkt | 0 .../collects/openssl/private/macosx.rkt | 0 .../collects/openssl/private/win32.rkt | 0 racket/{lib => }/collects/openssl/sha1.rkt | 0 racket/{lib => }/collects/openssl/test.pem | 0 racket/{lib => }/collects/pkg/commands.rkt | 0 racket/{lib => }/collects/pkg/db.rkt | 0 racket/{lib => }/collects/pkg/info.rkt | 0 racket/{lib => }/collects/pkg/lib.rkt | 2 +- racket/{lib => }/collects/pkg/main.rkt | 0 racket/{lib => }/collects/pkg/name.rkt | 0 racket/{lib => }/collects/pkg/path.rkt | 0 racket/{lib => }/collects/pkg/raco.rkt | 0 racket/{lib => }/collects/pkg/strip.rkt | 2 + racket/{lib => }/collects/pkg/util.rkt | 0 .../{lib => }/collects/planet/cachepath.rkt | 0 racket/{lib => }/collects/planet/config.rkt | 0 .../collects/planet/planet-archives.rkt | 0 .../collects/planet/private/command.rkt | 0 .../collects/planet/private/data.rkt | 0 .../collects/planet/private/define-config.rkt | 0 .../collects/planet/private/linkage.rkt | 0 .../collects/planet/private/parsereq.rkt | 0 .../collects/planet/private/planet-shared.rkt | 0 .../planet/private/prefix-dispatcher.rkt | 0 .../collects/planet/private/resolver.rkt | 0 .../planet/private/short-syntax-helpers.rkt | 0 racket/{lib => }/collects/planet/resolver.rkt | 0 .../{lib => }/collects/planet/terse-info.rkt | 0 racket/{lib => }/collects/racket/HISTORY.txt | 0 .../collects/racket/MzScheme_200.txt | 0 .../collects/racket/MzScheme_300.txt | 0 .../{lib => }/collects/racket/MzScheme_4.txt | 0 racket/{lib => }/collects/racket/Racket_5.txt | 0 .../collects/racket/async-channel.rkt | 0 racket/{lib => }/collects/racket/base.rkt | 0 .../collects/racket/base/lang/reader.rkt | 0 racket/{lib => }/collects/racket/block.rkt | 0 racket/{lib => }/collects/racket/bool.rkt | 0 racket/{lib => }/collects/racket/bytes.rkt | 0 racket/{lib => }/collects/racket/class.rkt | 0 racket/{lib => }/collects/racket/cmdline.rkt | 0 racket/{lib => }/collects/racket/contract.rkt | 0 .../collects/racket/contract/base.rkt | 0 .../collects/racket/contract/combinator.rkt | 0 .../collects/racket/contract/parametric.rkt | 0 .../racket/contract/private/arr-i-parse.rkt | 0 .../racket/contract/private/arr-i.rkt | 0 .../racket/contract/private/arr-util.rkt | 0 .../racket/contract/private/arrow.rkt | 0 .../collects/racket/contract/private/base.rkt | 0 .../racket/contract/private/basic-opters.rkt | 0 .../racket/contract/private/blame.rkt | 0 .../collects/racket/contract/private/box.rkt | 0 .../racket/contract/private/ds-helpers.rkt | 0 .../collects/racket/contract/private/ds.rkt | 0 .../collects/racket/contract/private/env.rkt | 0 .../racket/contract/private/exists.rkt | 0 .../racket/contract/private/generate-base.rkt | 0 .../racket/contract/private/generate.rkt | 0 .../collects/racket/contract/private/guts.rkt | 0 .../collects/racket/contract/private/hash.rkt | 0 .../racket/contract/private/helpers.rkt | 0 .../racket/contract/private/legacy.rkt | 0 .../collects/racket/contract/private/misc.rkt | 0 .../racket/contract/private/object.rkt | 0 .../racket/contract/private/opt-guts.rkt | 0 .../collects/racket/contract/private/opt.rkt | 0 .../racket/contract/private/opters.rkt | 0 .../collects/racket/contract/private/out.rkt | 0 .../racket/contract/private/parametric.rkt | 0 .../collects/racket/contract/private/prop.rkt | 0 .../racket/contract/private/provide.rkt | 0 .../collects/racket/contract/private/rand.rkt | 0 .../racket/contract/private/struct-dc.rkt | 0 .../racket/contract/private/struct-prop.rkt | 0 .../racket/contract/private/top-sort.rkt | 0 .../racket/contract/private/vector.rkt | 0 .../collects/racket/contract/region.rkt | 0 racket/{lib => }/collects/racket/control.rkt | 0 racket/{lib => }/collects/racket/date.rkt | 0 racket/{lib => }/collects/racket/dict.rkt | 0 racket/{lib => }/collects/racket/engine.rkt | 0 racket/{lib => }/collects/racket/enter.rkt | 0 .../{lib => }/collects/racket/extflonum.rkt | 0 racket/{lib => }/collects/racket/fasl.rkt | 0 racket/{lib => }/collects/racket/file.rkt | 0 racket/{lib => }/collects/racket/fixnum.rkt | 0 racket/{lib => }/collects/racket/flonum.rkt | 0 racket/{lib => }/collects/racket/format.rkt | 0 racket/{lib => }/collects/racket/function.rkt | 0 racket/{lib => }/collects/racket/future.rkt | 0 .../{lib => }/collects/racket/generator.rkt | 0 racket/{lib => }/collects/racket/generic.rkt | 0 .../{lib => }/collects/racket/gui/dynamic.rkt | 0 racket/{lib => }/collects/racket/help.rkt | 0 racket/{lib => }/collects/racket/include.rkt | 0 racket/{lib => }/collects/racket/info.rkt | 0 racket/{lib => }/collects/racket/init.rkt | 0 racket/{lib => }/collects/racket/kernel.rkt | 0 .../{lib => }/collects/racket/kernel/init.rkt | 0 .../collects/racket/keyword-transform.rkt | 0 .../{lib => }/collects/racket/lang/reader.rkt | 0 .../collects/racket/language-info.rkt | 0 .../collects/racket/lazy-require.rkt | 0 racket/{lib => }/collects/racket/list.rkt | 0 racket/{lib => }/collects/racket/load.rkt | 0 .../collects/racket/load/lang/reader.rkt | 0 racket/{lib => }/collects/racket/local.rkt | 0 racket/{lib => }/collects/racket/main.rkt | 0 racket/{lib => }/collects/racket/match.rkt | 0 .../collects/racket/match/compiler.rkt | 0 .../collects/racket/match/define-forms.rkt | 0 .../collects/racket/match/gen-match.rkt | 0 .../collects/racket/match/legacy-match.rkt | 0 .../collects/racket/match/match-expander.rkt | 0 .../{lib => }/collects/racket/match/match.rkt | 0 .../collects/racket/match/parse-helper.rkt | 0 .../collects/racket/match/parse-legacy.rkt | 0 .../collects/racket/match/parse-quasi.rkt | 0 .../{lib => }/collects/racket/match/parse.rkt | 0 .../collects/racket/match/patterns.rkt | 0 .../collects/racket/match/reorder.rkt | 0 .../collects/racket/match/runtime.rkt | 0 .../collects/racket/match/split-rows.rkt | 0 .../collects/racket/match/struct.rkt | 0 .../collects/racket/match/stxtime.rkt | 0 racket/{lib => }/collects/racket/math.rkt | 0 racket/{lib => }/collects/racket/path.rkt | 0 .../collects/racket/performance-hint.rkt | 0 racket/{lib => }/collects/racket/place.rkt | 0 .../racket/place/private/async-bi-channel.rkt | 0 .../racket/place/private/coercion.rkt | 0 .../collects/racket/place/private/prop.rkt | 0 .../racket/place/private/th-place.rkt | 0 racket/{lib => }/collects/racket/port.rkt | 0 racket/{lib => }/collects/racket/pretty.rkt | 0 .../collects/racket/private/base.rkt | 0 .../collects/racket/private/case.rkt | 0 .../collects/racket/private/cert.rkt | 0 .../racket/private/class-internal.rkt | 0 .../collects/racket/private/classidmap.rkt | 0 .../collects/racket/private/cond.rkt | 0 .../collects/racket/private/define-et-al.rkt | 0 .../collects/racket/private/define-struct.rkt | 0 .../collects/racket/private/define.rkt | 0 .../collects/racket/private/dict.rkt | 0 .../collects/racket/private/ellipses.rkt | 0 .../{lib => }/collects/racket/private/for.rkt | 0 .../racket/private/generic-interfaces.rkt | 0 .../racket/private/generic-methods.rkt | 0 .../collects/racket/private/generic.rkt | 0 .../collects/racket/private/hash.rkt | 0 .../collects/racket/private/increader.rkt | 0 .../collects/racket/private/kernstruct.rkt | 0 .../collects/racket/private/kw-file.rkt | 0 .../{lib => }/collects/racket/private/kw.rkt | 0 .../collects/racket/private/letstx-scheme.rkt | 0 .../collects/racket/private/list.rkt | 0 .../collects/racket/private/local.rkt | 0 .../collects/racket/private/logger.rkt | 0 .../{lib => }/collects/racket/private/map.rkt | 0 .../collects/racket/private/member.rkt | 0 .../collects/racket/private/misc.rkt | 0 .../collects/racket/private/modbeg.rkt | 0 .../collects/racket/private/more-scheme.rkt | 0 .../collects/racket/private/name.rkt | 0 .../collects/racket/private/namespace.rkt | 0 .../collects/racket/private/norm-arity.rkt | 0 .../collects/racket/private/norm-define.rkt | 0 .../racket/private/performance-hint.rkt | 0 .../collects/racket/private/port.rkt | 0 .../collects/racket/private/portlines.rkt | 0 .../collects/racket/private/pre-base.rkt | 0 .../racket/private/procedure-alias.rkt | 0 .../collects/racket/private/promise.rkt | 0 .../collects/racket/private/qq-and-or.rkt | 0 .../collects/racket/private/qqstx.rkt | 0 .../collects/racket/private/reqprov.rkt | 0 .../collects/racket/private/reverse.rkt | 0 .../racket/private/runtime-path-table.rkt | 0 .../{lib => }/collects/racket/private/sc.rkt | 0 .../collects/racket/private/sequence.rkt | 0 .../racket/private/serialize-structs.rkt | 0 .../collects/racket/private/serialize.rkt | 0 .../collects/racket/private/shared-body.rktl | 0 .../collects/racket/private/small-scheme.rkt | 0 .../collects/racket/private/sort.rkt | 0 .../collects/racket/private/stream-cons.rkt | 0 .../collects/racket/private/streams.rkt | 0 .../collects/racket/private/string.rkt | 0 .../collects/racket/private/struct-info.rkt | 0 .../collects/racket/private/struct.rkt | 0 .../{lib => }/collects/racket/private/stx.rkt | 0 .../racket/private/stxcase-scheme.rkt | 0 .../collects/racket/private/stxcase.rkt | 0 .../collects/racket/private/stxloc.rkt | 0 .../collects/racket/private/stxparam.rkt | 0 .../collects/racket/private/stxparamkey.rkt | 0 .../collects/racket/private/submodule.rkt | 0 .../this-expression-source-directory.rkt | 0 .../collects/racket/private/top-int.rkt | 0 .../racket/private/unit-compiletime.rkt | 0 .../racket/private/unit-contract-syntax.rkt | 0 .../collects/racket/private/unit-contract.rkt | 0 .../collects/racket/private/unit-keywords.rkt | 0 .../collects/racket/private/unit-runtime.rkt | 0 .../collects/racket/private/unit-syntax.rkt | 0 .../collects/racket/private/unit-utils.rkt | 0 .../collects/racket/private/vector-wraps.rkt | 0 .../collects/racket/private/with-stx.rkt | 0 racket/{lib => }/collects/racket/promise.rkt | 0 .../collects/racket/provide-syntax.rkt | 0 .../collects/racket/provide-transform.rkt | 0 racket/{lib => }/collects/racket/provide.rkt | 0 .../collects/racket/require-syntax.rkt | 0 .../collects/racket/require-transform.rkt | 0 racket/{lib => }/collects/racket/require.rkt | 0 .../{lib => }/collects/racket/rerequire.rkt | 0 .../collects/racket/runtime-config.rkt | 0 .../collects/racket/runtime-path.rkt | 0 racket/{lib => }/collects/racket/sequence.rkt | 0 .../{lib => }/collects/racket/serialize.rkt | 0 racket/{lib => }/collects/racket/set.rkt | 0 racket/{lib => }/collects/racket/shared.rkt | 0 .../collects/racket/signature/lang.rkt | 0 .../collects/racket/signature/lang/reader.rkt | 0 racket/{lib => }/collects/racket/splicing.rkt | 0 racket/{lib => }/collects/racket/stream.rkt | 0 racket/{lib => }/collects/racket/string.rkt | 0 .../{lib => }/collects/racket/struct-info.rkt | 0 .../collects/racket/stxparam-exptime.rkt | 0 racket/{lib => }/collects/racket/stxparam.rkt | 0 .../{lib => }/collects/racket/surrogate.rkt | 0 racket/{lib => }/collects/racket/syntax.rkt | 0 racket/{lib => }/collects/racket/system.rkt | 0 racket/{lib => }/collects/racket/tcp.rkt | 0 racket/{lib => }/collects/racket/trace.rkt | 0 racket/{lib => }/collects/racket/trait.rkt | 0 racket/{lib => }/collects/racket/udp.rkt | 0 .../collects/racket/unit-exptime.rkt | 0 racket/{lib => }/collects/racket/unit.rkt | 0 .../{lib => }/collects/racket/unit/lang.rkt | 0 .../collects/racket/unit/lang/reader.rkt | 0 .../{lib => }/collects/racket/unsafe/ops.rkt | 0 racket/{lib => }/collects/racket/vector.rkt | 0 racket/{lib => }/collects/rackunit/log.rkt | 0 racket/{lib => }/collects/raco/all-tools.rkt | 0 .../{lib => }/collects/raco/command-name.rkt | 0 racket/{lib => }/collects/raco/doc.ico | Bin racket/{lib => }/collects/raco/info.rkt | 0 racket/{lib => }/collects/raco/main.extreg | 0 racket/{lib => }/collects/raco/main.lch | 0 racket/{lib => }/collects/raco/main.rkt | 0 racket/{lib => }/collects/raco/raco.rkt | 0 .../{lib => }/collects/reader/lang/reader.rkt | 0 .../{lib => }/collects/s-exp/lang/reader.rkt | 0 .../collects/scheme/async-channel.rkt | 0 racket/{lib => }/collects/scheme/base.rkt | 0 .../collects/scheme/base/lang/reader.rkt | 0 racket/{lib => }/collects/scheme/bool.rkt | 0 racket/{lib => }/collects/scheme/class.rkt | 0 racket/{lib => }/collects/scheme/cmdline.rkt | 0 racket/{lib => }/collects/scheme/contract.rkt | 0 racket/{lib => }/collects/scheme/control.rkt | 0 racket/{lib => }/collects/scheme/date.rkt | 0 racket/{lib => }/collects/scheme/dict.rkt | 0 racket/{lib => }/collects/scheme/enter.rkt | 0 .../{lib => }/collects/scheme/exists/lang.rkt | 0 .../collects/scheme/exists/lang/reader.rkt | 0 racket/{lib => }/collects/scheme/fasl.rkt | 0 racket/{lib => }/collects/scheme/file.rkt | 0 racket/{lib => }/collects/scheme/fixnum.rkt | 0 racket/{lib => }/collects/scheme/flonum.rkt | 0 racket/{lib => }/collects/scheme/foreign.rkt | 0 racket/{lib => }/collects/scheme/function.rkt | 0 racket/{lib => }/collects/scheme/future.rkt | 0 .../{lib => }/collects/scheme/generator.rkt | 0 .../{lib => }/collects/scheme/gui/dynamic.rkt | 0 racket/{lib => }/collects/scheme/help.rkt | 0 racket/{lib => }/collects/scheme/include.rkt | 0 racket/{lib => }/collects/scheme/init.rkt | 0 .../{lib => }/collects/scheme/lang/reader.rkt | 0 .../collects/scheme/language-info.rkt | 0 racket/{lib => }/collects/scheme/list.rkt | 0 racket/{lib => }/collects/scheme/load.rkt | 0 .../collects/scheme/load/lang/reader.rkt | 0 racket/{lib => }/collects/scheme/local.rkt | 0 racket/{lib => }/collects/scheme/main.rkt | 0 racket/{lib => }/collects/scheme/match.rkt | 0 racket/{lib => }/collects/scheme/math.rkt | 0 racket/{lib => }/collects/scheme/nest.rkt | 0 racket/{lib => }/collects/scheme/path.rkt | 0 racket/{lib => }/collects/scheme/place.rkt | 0 racket/{lib => }/collects/scheme/port.rkt | 0 racket/{lib => }/collects/scheme/pretty.rkt | 0 .../collects/scheme/private/namespace.rkt | 0 .../collects/scheme/private/provider/lang.rkt | 0 .../scheme/private/provider/lang/reader.rkt | 0 racket/{lib => }/collects/scheme/promise.rkt | 0 .../collects/scheme/provide-syntax.rkt | 0 .../collects/scheme/provide-transform.rkt | 0 racket/{lib => }/collects/scheme/provide.rkt | 0 .../collects/scheme/require-syntax.rkt | 0 .../collects/scheme/require-transform.rkt | 0 racket/{lib => }/collects/scheme/require.rkt | 0 .../collects/scheme/runtime-config.rkt | 0 .../collects/scheme/runtime-path.rkt | 0 .../{lib => }/collects/scheme/serialize.rkt | 0 racket/{lib => }/collects/scheme/set.rkt | 0 racket/{lib => }/collects/scheme/shared.rkt | 0 .../collects/scheme/signature/lang/reader.rkt | 0 racket/{lib => }/collects/scheme/splicing.rkt | 0 racket/{lib => }/collects/scheme/string.rkt | 0 .../{lib => }/collects/scheme/struct-info.rkt | 0 .../collects/scheme/stxparam-exptime.rkt | 0 racket/{lib => }/collects/scheme/stxparam.rkt | 0 .../{lib => }/collects/scheme/surrogate.rkt | 0 racket/{lib => }/collects/scheme/system.rkt | 0 racket/{lib => }/collects/scheme/tcp.rkt | 0 racket/{lib => }/collects/scheme/trace.rkt | 0 racket/{lib => }/collects/scheme/trait.rkt | 0 racket/{lib => }/collects/scheme/udp.rkt | 0 .../collects/scheme/unit-exptime.rkt | 0 racket/{lib => }/collects/scheme/unit.rkt | 0 .../{lib => }/collects/scheme/unit/lang.rkt | 0 .../collects/scheme/unit/lang/reader.rkt | 0 .../{lib => }/collects/scheme/unsafe/ops.rkt | 0 racket/{lib => }/collects/scheme/vector.rkt | 0 racket/{lib => }/collects/setup/collects.rkt | 0 .../collects/setup/commands/link.rkt | 0 racket/{lib => }/collects/setup/dirs.rkt | 16 +- racket/{lib => }/collects/setup/doc-db.rkt | 0 racket/{lib => }/collects/setup/getinfo.rkt | 20 +- racket/{lib => }/collects/setup/info.rkt | 0 racket/{lib => }/collects/setup/infotab.rkt | 0 .../collects/setup/infotab/lang/reader.rkt | 0 racket/{lib => }/collects/setup/link.rkt | 0 .../collects/setup/main-collects.rkt | 0 racket/{lib => }/collects/setup/main-doc.rkt | 0 racket/{lib => }/collects/setup/main.lch | 0 racket/{lib => }/collects/setup/main.rkt | 0 .../{lib => }/collects/setup/option-sig.rkt | 0 .../{lib => }/collects/setup/option-unit.rkt | 0 racket/{lib => }/collects/setup/pack.rkt | 0 .../collects/setup/parallel-build.rkt | 0 .../{lib => }/collects/setup/parallel-do.rkt | 0 .../collects/setup/path-relativize.rkt | 0 .../collects/setup/path-to-relative.rkt | 0 .../collects/setup/plt-single-installer.rkt | 0 .../collects/setup/private/cc-struct.rkt | 0 .../collects/setup/private/command-name.rkt | 0 .../collects/setup/private/lib-roots.rkt | 0 .../collects/setup/private/main-collects.rkt | 0 .../collects/setup/private/omitted-paths.rkt | 0 .../collects/setup/private/path-utils.rkt | 0 .../collects/setup/private/pkg-deps.rkt | 0 .../collects/setup/setup-cmdline.rkt | 0 racket/{lib => }/collects/setup/setup-go.rkt | 0 .../{lib => }/collects/setup/setup-unit.rkt | 55 +- racket/{lib => }/collects/setup/setup.rkt | 0 .../collects/setup/unixstyle-install.rkt | 15 +- racket/{lib => }/collects/setup/unpack.rkt | 0 racket/{lib => }/collects/setup/variant.rkt | 0 racket/{lib => }/collects/setup/winstrip.rkt | 0 .../collects/setup/winvers-change.rkt | 0 racket/{lib => }/collects/setup/winvers.rkt | 0 racket/{lib => }/collects/srfi/1.rkt | 0 racket/{lib => }/collects/srfi/1/alist.rkt | 0 racket/{lib => }/collects/srfi/1/cons.rkt | 0 racket/{lib => }/collects/srfi/1/delete.rkt | 0 racket/{lib => }/collects/srfi/1/filter.rkt | 0 racket/{lib => }/collects/srfi/1/fold.rkt | 0 racket/{lib => }/collects/srfi/1/list.rkt | 0 racket/{lib => }/collects/srfi/1/lset.rkt | 0 racket/{lib => }/collects/srfi/1/misc.rkt | 0 .../{lib => }/collects/srfi/1/predicate.rkt | 0 racket/{lib => }/collects/srfi/1/search.rkt | 0 racket/{lib => }/collects/srfi/1/selector.rkt | 0 racket/{lib => }/collects/srfi/1/util.rkt | 0 racket/{lib => }/collects/srfi/13.rkt | 0 racket/{lib => }/collects/srfi/13/string.rkt | 0 racket/{lib => }/collects/srfi/14.rkt | 0 .../{lib => }/collects/srfi/14/char-set.rkt | 0 racket/{lib => }/collects/srfi/19.rkt | 0 racket/{lib => }/collects/srfi/19/time.rkt | 0 racket/{lib => }/collects/srfi/29.rkt | 0 .../collects/srfi/29/bundles/es/srfi-19 | 0 .../collects/srfi/29/bundles/srfi-19 | 0 .../collects/srfi/29/localization.rkt | 0 racket/{lib => }/collects/srfi/8.rkt | 0 racket/{lib => }/collects/srfi/8/receive.rkt | 0 racket/{lib => }/collects/srfi/optional.rkt | 0 racket/{lib => }/collects/srfi/provider.rkt | 0 racket/{lib => }/collects/syntax/boundmap.rkt | 0 racket/{lib => }/collects/syntax/context.rkt | 0 racket/{lib => }/collects/syntax/datum.rkt | 0 racket/{lib => }/collects/syntax/define.rkt | 0 racket/{lib => }/collects/syntax/doc.txt | 0 .../{lib => }/collects/syntax/docprovide.rkt | 0 .../collects/syntax/flatten-begin.rkt | 0 racket/{lib => }/collects/syntax/for-body.rkt | 0 .../{lib => }/collects/syntax/free-vars.rkt | 0 racket/{lib => }/collects/syntax/id-table.rkt | 0 racket/{lib => }/collects/syntax/kerncase.rkt | 0 racket/{lib => }/collects/syntax/keyword.rkt | 0 racket/{lib => }/collects/syntax/location.rkt | 0 racket/{lib => }/collects/syntax/modcode.rkt | 0 .../{lib => }/collects/syntax/modcollapse.rkt | 0 racket/{lib => }/collects/syntax/moddep.rkt | 0 racket/{lib => }/collects/syntax/modread.rkt | 0 .../{lib => }/collects/syntax/modresolve.rkt | 0 .../collects/syntax/module-reader.rkt | 0 racket/{lib => }/collects/syntax/name.rkt | 0 racket/{lib => }/collects/syntax/parse.rkt | 0 .../{lib => }/collects/syntax/parse/debug.rkt | 0 .../collects/syntax/parse/define.rkt | 0 .../syntax/parse/experimental/contract.rkt | 0 .../collects/syntax/parse/experimental/eh.rkt | 0 .../parse/experimental/private/substitute.rkt | 0 .../syntax/parse/experimental/provide.rkt | 0 .../syntax/parse/experimental/reflect.rkt | 0 .../syntax/parse/experimental/specialize.rkt | 0 .../syntax/parse/experimental/splicing.rkt | 0 .../syntax/parse/experimental/template.rkt | 0 .../{lib => }/collects/syntax/parse/pre.rkt | 0 .../collects/syntax/parse/private/3d-stx.rkt | 0 .../syntax/parse/private/keywords.rkt | 0 .../collects/syntax/parse/private/kws.rkt | 0 .../collects/syntax/parse/private/lib.rkt | 0 .../collects/syntax/parse/private/litconv.rkt | 0 .../syntax/parse/private/minimatch.rkt | 0 .../collects/syntax/parse/private/opt.rkt | 0 .../syntax/parse/private/parse-aux.rkt | 0 .../collects/syntax/parse/private/parse.rkt | 0 .../syntax/parse/private/rep-attrs.rkt | 0 .../syntax/parse/private/rep-data.rkt | 0 .../syntax/parse/private/rep-patterns.rkt | 0 .../collects/syntax/parse/private/rep.rkt | 0 .../syntax/parse/private/residual-ct.rkt | 0 .../syntax/parse/private/residual.rkt | 0 .../syntax/parse/private/runtime-progress.rkt | 0 .../syntax/parse/private/runtime-reflect.rkt | 0 .../syntax/parse/private/runtime-report.rkt | 0 .../collects/syntax/parse/private/runtime.rkt | 0 .../collects/syntax/parse/private/sc.rkt | 0 .../collects/syntax/parse/private/txlift.rkt | 0 .../{lib => }/collects/syntax/parse/todo.txt | 0 .../{lib => }/collects/syntax/path-spec.rkt | 0 .../{lib => }/collects/syntax/primitives.rkt | 0 .../collects/syntax/private/boundmap.rkt | 0 .../collects/syntax/private/doctable.rkt | 0 .../collects/syntax/private/id-table.rkt | 0 .../collects/syntax/private/keyword.rkt | 0 .../syntax/private/modcollapse-noctc.rkt | 0 .../collects/syntax/private/modhelp.rkt | 0 .../syntax/private/template-runtime.rkt | 0 .../collects/syntax/private/util/expand.rkt | 0 racket/{lib => }/collects/syntax/quote.rkt | 0 racket/{lib => }/collects/syntax/readerr.rkt | 0 racket/{lib => }/collects/syntax/srcloc.rkt | 0 .../collects/syntax/strip-context.rkt | 0 racket/{lib => }/collects/syntax/struct.rkt | 0 racket/{lib => }/collects/syntax/stx.rkt | 0 racket/{lib => }/collects/syntax/template.rkt | 0 .../{lib => }/collects/syntax/to-string.rkt | 0 racket/{lib => }/collects/syntax/toplevel.rkt | 0 .../collects/syntax/trusted-xforms.rkt | 0 .../collects/unstable/custom-write.rkt | 0 racket/{lib => }/collects/unstable/error.rkt | 0 .../{lib => }/collects/unstable/markparam.rkt | 0 .../{lib => }/collects/unstable/sequence.rkt | 0 racket/{lib => }/collects/unstable/socket.rkt | 0 racket/{lib => }/collects/unstable/struct.rkt | 0 racket/{lib => }/collects/unstable/syntax.rkt | 0 racket/{lib => }/collects/unstable/wrapc.rkt | 0 racket/{lib => }/collects/version/check.rkt | 0 .../{lib => }/collects/version/patchlevel.rkt | 0 racket/{lib => }/collects/version/utils.rkt | 0 racket/{lib => }/collects/xml/main.rkt | 0 racket/{lib => }/collects/xml/path.rkt | 0 racket/{lib => }/collects/xml/plist.rkt | 0 .../{lib => }/collects/xml/private/core.rkt | 0 .../{lib => }/collects/xml/private/reader.rkt | 0 .../{lib => }/collects/xml/private/space.rkt | 0 .../collects/xml/private/structures.rkt | 0 .../{lib => }/collects/xml/private/syntax.rkt | 0 .../{lib => }/collects/xml/private/writer.rkt | 0 .../collects/xml/private/xexpr-core.rkt | 0 .../{lib => }/collects/xml/private/xexpr.rkt | 0 racket/{lib => }/collects/xml/xexpr.rkt | 0 racket/{lib => }/collects/xml/xml.rkt | 0 racket/lib/.gitignore | 3 - racket/src/Makefile.in | 11 +- racket/src/configure | 62 +- racket/src/gracket/Makefile.in | 9 +- racket/src/gracket/gc2/Makefile.in | 6 +- racket/src/link-all.rkt | 6 +- racket/src/racket/Makefile.in | 7 +- racket/src/racket/cmdline.inc | 4 +- racket/src/racket/configure.ac | 41 +- racket/src/racket/dynsrc/Makefile.in | 4 + racket/src/racket/gc2/Makefile.in | 6 +- racket/src/racket/make-configure | 15 +- racket/src/racket/src/cstartup.inc | 2965 +++++++++-------- racket/src/racket/src/schvers.h | 8 +- racket/src/racket/src/startup.inc | 4 +- racket/src/racket/src/startup.rktl | 4 +- racket/src/worksp/build.bat | 7 +- 651 files changed, 1761 insertions(+), 1631 deletions(-) rename racket/{lib => }/collects/.gitignore (100%) rename racket/{lib => }/collects/acks/acks.rkt (100%) rename racket/{lib => }/collects/compiler/cm-accomplice.rkt (100%) rename racket/{lib => }/collects/compiler/cm.rkt (100%) rename racket/{lib => }/collects/compiler/compile-file.rkt (100%) rename racket/{lib => }/collects/compiler/compiler-unit.rkt (100%) rename racket/{lib => }/collects/compiler/distribute.rkt (100%) rename racket/{lib => }/collects/compiler/embed-sig.rkt (100%) rename racket/{lib => }/collects/compiler/embed-unit.rkt (100%) rename racket/{lib => }/collects/compiler/embed.rkt (100%) rename racket/{lib => }/collects/compiler/find-exe.rkt (100%) rename racket/{lib => }/collects/compiler/option-unit.rkt (100%) rename racket/{lib => }/collects/compiler/private/collects-path.rkt (100%) rename racket/{lib => }/collects/compiler/private/configdir.rkt (100%) rename racket/{lib => }/collects/compiler/private/elf.rkt (100%) rename racket/{lib => }/collects/compiler/private/embed.rkt (100%) rename racket/{lib => }/collects/compiler/private/macfw.rkt (100%) rename racket/{lib => }/collects/compiler/private/mach-o.rkt (100%) rename racket/{lib => }/collects/compiler/private/windlldir.rkt (100%) rename racket/{lib => }/collects/compiler/private/winsubsys.rkt (100%) rename racket/{lib => }/collects/compiler/private/winutf16.rkt (100%) rename racket/{lib => }/collects/compiler/private/xform.rkt (100%) rename racket/{lib => }/collects/compiler/sig.rkt (100%) rename racket/{lib => }/collects/data/bit-vector.rkt (100%) rename racket/{lib => }/collects/data/integer-set.rkt (100%) rename racket/{lib => }/collects/data/private/count-bits-in-fixnum.rkt (100%) rename racket/{lib => }/collects/data/queue.rkt (100%) rename racket/{lib => }/collects/db/base.rkt (100%) rename racket/{lib => }/collects/db/private/generic/common.rkt (100%) rename racket/{lib => }/collects/db/private/generic/connect-util.rkt (100%) rename racket/{lib => }/collects/db/private/generic/dsn.rkt (100%) rename racket/{lib => }/collects/db/private/generic/functions.rkt (100%) rename racket/{lib => }/collects/db/private/generic/interfaces.rkt (100%) rename racket/{lib => }/collects/db/private/generic/place-client.rkt (100%) rename racket/{lib => }/collects/db/private/generic/place-server.rkt (100%) rename racket/{lib => }/collects/db/private/generic/prepared.rkt (100%) rename racket/{lib => }/collects/db/private/generic/sql-convert.rkt (100%) rename racket/{lib => }/collects/db/private/generic/sql-data.rkt (100%) rename racket/{lib => }/collects/db/private/sqlite3/connection.rkt (100%) rename racket/{lib => }/collects/db/private/sqlite3/dbsystem.rkt (100%) rename racket/{lib => }/collects/db/private/sqlite3/ffi-constants.rkt (100%) rename racket/{lib => }/collects/db/private/sqlite3/ffi.rkt (100%) rename racket/{lib => }/collects/db/private/sqlite3/main.rkt (100%) rename racket/{lib => }/collects/db/sqlite3.rkt (100%) rename racket/{lib => }/collects/dynext/compile-sig.rkt (100%) rename racket/{lib => }/collects/dynext/compile-unit.rkt (100%) rename racket/{lib => }/collects/dynext/compile.rkt (100%) rename racket/{lib => }/collects/dynext/dynext-sig.rkt (100%) rename racket/{lib => }/collects/dynext/dynext-unit.rkt (100%) rename racket/{lib => }/collects/dynext/dynext.rkt (100%) rename racket/{lib => }/collects/dynext/file-sig.rkt (100%) rename racket/{lib => }/collects/dynext/file-unit.rkt (100%) rename racket/{lib => }/collects/dynext/file.rkt (100%) rename racket/{lib => }/collects/dynext/filename-version.rkt (100%) rename racket/{lib => }/collects/dynext/link-sig.rkt (100%) rename racket/{lib => }/collects/dynext/link-unit.rkt (100%) rename racket/{lib => }/collects/dynext/link.rkt (100%) rename racket/{lib => }/collects/dynext/main.rkt (100%) rename racket/{lib => }/collects/dynext/private/cmdargs.rkt (100%) rename racket/{lib => }/collects/dynext/private/dirs.rkt (100%) rename racket/{lib => }/collects/dynext/private/stdio.rkt (100%) rename racket/{lib => }/collects/ffi/com-registry.rkt (100%) rename racket/{lib => }/collects/ffi/com.rkt (100%) rename racket/{lib => }/collects/ffi/cvector.rkt (100%) rename racket/{lib => }/collects/ffi/examples/c-printf.rkt (100%) rename racket/{lib => }/collects/ffi/examples/crypt.rkt (100%) rename racket/{lib => }/collects/ffi/examples/esd.rkt (100%) rename racket/{lib => }/collects/ffi/examples/magick.rkt (100%) rename racket/{lib => }/collects/ffi/examples/sndfile.rkt (100%) rename racket/{lib => }/collects/ffi/examples/tcl.rkt (100%) rename racket/{lib => }/collects/ffi/examples/use-c-printf.rkt (100%) rename racket/{lib => }/collects/ffi/examples/use-crypt.rkt (100%) rename racket/{lib => }/collects/ffi/examples/use-esd.rkt (100%) rename racket/{lib => }/collects/ffi/examples/use-magick.rkt (100%) rename racket/{lib => }/collects/ffi/examples/use-sndfile.rkt (100%) rename racket/{lib => }/collects/ffi/examples/use-tcl.rkt (100%) rename racket/{lib => }/collects/ffi/examples/use-xmmsctrl.rkt (100%) rename racket/{lib => }/collects/ffi/examples/use-xosd.rkt (100%) rename racket/{lib => }/collects/ffi/examples/xmmsctrl.rkt (100%) rename racket/{lib => }/collects/ffi/examples/xosd.rkt (100%) rename racket/{lib => }/collects/ffi/file.rkt (100%) rename racket/{lib => }/collects/ffi/info.rkt (100%) rename racket/{lib => }/collects/ffi/objc.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/alloc.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/atomic.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/com.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/custodian.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/cvector.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/define.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/nsalloc.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/nsstring.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/objc.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/private/win32.rkt (100%) rename racket/{lib => }/collects/ffi/unsafe/try-atomic.rkt (100%) rename racket/{lib => }/collects/ffi/vector.rkt (100%) rename racket/{lib => }/collects/ffi/winapi.rkt (100%) rename racket/{lib => }/collects/file/convertible.rkt (100%) rename racket/{lib => }/collects/file/gunzip.rkt (100%) rename racket/{lib => }/collects/file/gzip.rkt (100%) rename racket/{lib => }/collects/file/ico.rkt (100%) rename racket/{lib => }/collects/file/md5.rkt (100%) rename racket/{lib => }/collects/file/private/octree-quantize.rkt (100%) rename racket/{lib => }/collects/file/private/strip-prefix.rkt (100%) rename racket/{lib => }/collects/file/resource.rkt (100%) rename racket/{lib => }/collects/file/sha1.rkt (100%) rename racket/{lib => }/collects/file/tar.rkt (100%) rename racket/{lib => }/collects/file/untar.rkt (100%) rename racket/{lib => }/collects/file/untgz.rkt (100%) rename racket/{lib => }/collects/file/unzip.rkt (100%) rename racket/{lib => }/collects/file/zip.rkt (100%) rename racket/{lib => }/collects/info/main.rkt (100%) rename racket/{lib => }/collects/json/main.rkt (100%) rename racket/{lib => }/collects/launcher/.gitignore (100%) rename racket/{lib => }/collects/launcher/info.rkt (100%) rename racket/{lib => }/collects/launcher/launcher-sig.rkt (100%) rename racket/{lib => }/collects/launcher/launcher-unit.rkt (100%) rename racket/{lib => }/collects/launcher/launcher.rkt (100%) rename racket/{lib => }/collects/launcher/main.rkt (100%) rename racket/{lib => }/collects/net/base64.rkt (100%) rename racket/{lib => }/collects/net/head.rkt (100%) rename racket/{lib => }/collects/net/uri-codec.rkt (100%) rename racket/{lib => }/collects/net/url-connect.rkt (100%) rename racket/{lib => }/collects/net/url-structs.rkt (100%) rename racket/{lib => }/collects/net/url.rkt (100%) rename racket/{lib => }/collects/openssl/libcrypto.rkt (100%) rename racket/{lib => }/collects/openssl/libssl.rkt (100%) rename racket/{lib => }/collects/openssl/main.rkt (100%) rename racket/{lib => }/collects/openssl/mzssl.rkt (100%) rename racket/{lib => }/collects/openssl/openssl.rkt (100%) rename racket/{lib => }/collects/openssl/private/add-cert.rkt (100%) rename racket/{lib => }/collects/openssl/private/macosx.rkt (100%) rename racket/{lib => }/collects/openssl/private/win32.rkt (100%) rename racket/{lib => }/collects/openssl/sha1.rkt (100%) rename racket/{lib => }/collects/openssl/test.pem (100%) rename racket/{lib => }/collects/pkg/commands.rkt (100%) rename racket/{lib => }/collects/pkg/db.rkt (100%) rename racket/{lib => }/collects/pkg/info.rkt (100%) rename racket/{lib => }/collects/pkg/lib.rkt (99%) rename racket/{lib => }/collects/pkg/main.rkt (100%) rename racket/{lib => }/collects/pkg/name.rkt (100%) rename racket/{lib => }/collects/pkg/path.rkt (100%) rename racket/{lib => }/collects/pkg/raco.rkt (100%) rename racket/{lib => }/collects/pkg/strip.rkt (99%) rename racket/{lib => }/collects/pkg/util.rkt (100%) rename racket/{lib => }/collects/planet/cachepath.rkt (100%) rename racket/{lib => }/collects/planet/config.rkt (100%) rename racket/{lib => }/collects/planet/planet-archives.rkt (100%) rename racket/{lib => }/collects/planet/private/command.rkt (100%) rename racket/{lib => }/collects/planet/private/data.rkt (100%) rename racket/{lib => }/collects/planet/private/define-config.rkt (100%) rename racket/{lib => }/collects/planet/private/linkage.rkt (100%) rename racket/{lib => }/collects/planet/private/parsereq.rkt (100%) rename racket/{lib => }/collects/planet/private/planet-shared.rkt (100%) rename racket/{lib => }/collects/planet/private/prefix-dispatcher.rkt (100%) rename racket/{lib => }/collects/planet/private/resolver.rkt (100%) rename racket/{lib => }/collects/planet/private/short-syntax-helpers.rkt (100%) rename racket/{lib => }/collects/planet/resolver.rkt (100%) rename racket/{lib => }/collects/planet/terse-info.rkt (100%) rename racket/{lib => }/collects/racket/HISTORY.txt (100%) rename racket/{lib => }/collects/racket/MzScheme_200.txt (100%) rename racket/{lib => }/collects/racket/MzScheme_300.txt (100%) rename racket/{lib => }/collects/racket/MzScheme_4.txt (100%) rename racket/{lib => }/collects/racket/Racket_5.txt (100%) rename racket/{lib => }/collects/racket/async-channel.rkt (100%) rename racket/{lib => }/collects/racket/base.rkt (100%) rename racket/{lib => }/collects/racket/base/lang/reader.rkt (100%) rename racket/{lib => }/collects/racket/block.rkt (100%) rename racket/{lib => }/collects/racket/bool.rkt (100%) rename racket/{lib => }/collects/racket/bytes.rkt (100%) rename racket/{lib => }/collects/racket/class.rkt (100%) rename racket/{lib => }/collects/racket/cmdline.rkt (100%) rename racket/{lib => }/collects/racket/contract.rkt (100%) rename racket/{lib => }/collects/racket/contract/base.rkt (100%) rename racket/{lib => }/collects/racket/contract/combinator.rkt (100%) rename racket/{lib => }/collects/racket/contract/parametric.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/arr-i-parse.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/arr-i.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/arr-util.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/arrow.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/base.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/basic-opters.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/blame.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/box.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/ds-helpers.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/ds.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/env.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/exists.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/generate-base.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/generate.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/guts.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/hash.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/helpers.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/legacy.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/misc.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/object.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/opt-guts.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/opt.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/opters.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/out.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/parametric.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/prop.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/provide.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/rand.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/struct-dc.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/struct-prop.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/top-sort.rkt (100%) rename racket/{lib => }/collects/racket/contract/private/vector.rkt (100%) rename racket/{lib => }/collects/racket/contract/region.rkt (100%) rename racket/{lib => }/collects/racket/control.rkt (100%) rename racket/{lib => }/collects/racket/date.rkt (100%) rename racket/{lib => }/collects/racket/dict.rkt (100%) rename racket/{lib => }/collects/racket/engine.rkt (100%) rename racket/{lib => }/collects/racket/enter.rkt (100%) rename racket/{lib => }/collects/racket/extflonum.rkt (100%) rename racket/{lib => }/collects/racket/fasl.rkt (100%) rename racket/{lib => }/collects/racket/file.rkt (100%) rename racket/{lib => }/collects/racket/fixnum.rkt (100%) rename racket/{lib => }/collects/racket/flonum.rkt (100%) rename racket/{lib => }/collects/racket/format.rkt (100%) rename racket/{lib => }/collects/racket/function.rkt (100%) rename racket/{lib => }/collects/racket/future.rkt (100%) rename racket/{lib => }/collects/racket/generator.rkt (100%) rename racket/{lib => }/collects/racket/generic.rkt (100%) rename racket/{lib => }/collects/racket/gui/dynamic.rkt (100%) rename racket/{lib => }/collects/racket/help.rkt (100%) rename racket/{lib => }/collects/racket/include.rkt (100%) rename racket/{lib => }/collects/racket/info.rkt (100%) rename racket/{lib => }/collects/racket/init.rkt (100%) rename racket/{lib => }/collects/racket/kernel.rkt (100%) rename racket/{lib => }/collects/racket/kernel/init.rkt (100%) rename racket/{lib => }/collects/racket/keyword-transform.rkt (100%) rename racket/{lib => }/collects/racket/lang/reader.rkt (100%) rename racket/{lib => }/collects/racket/language-info.rkt (100%) rename racket/{lib => }/collects/racket/lazy-require.rkt (100%) rename racket/{lib => }/collects/racket/list.rkt (100%) rename racket/{lib => }/collects/racket/load.rkt (100%) rename racket/{lib => }/collects/racket/load/lang/reader.rkt (100%) rename racket/{lib => }/collects/racket/local.rkt (100%) rename racket/{lib => }/collects/racket/main.rkt (100%) rename racket/{lib => }/collects/racket/match.rkt (100%) rename racket/{lib => }/collects/racket/match/compiler.rkt (100%) rename racket/{lib => }/collects/racket/match/define-forms.rkt (100%) rename racket/{lib => }/collects/racket/match/gen-match.rkt (100%) rename racket/{lib => }/collects/racket/match/legacy-match.rkt (100%) rename racket/{lib => }/collects/racket/match/match-expander.rkt (100%) rename racket/{lib => }/collects/racket/match/match.rkt (100%) rename racket/{lib => }/collects/racket/match/parse-helper.rkt (100%) rename racket/{lib => }/collects/racket/match/parse-legacy.rkt (100%) rename racket/{lib => }/collects/racket/match/parse-quasi.rkt (100%) rename racket/{lib => }/collects/racket/match/parse.rkt (100%) rename racket/{lib => }/collects/racket/match/patterns.rkt (100%) rename racket/{lib => }/collects/racket/match/reorder.rkt (100%) rename racket/{lib => }/collects/racket/match/runtime.rkt (100%) rename racket/{lib => }/collects/racket/match/split-rows.rkt (100%) rename racket/{lib => }/collects/racket/match/struct.rkt (100%) rename racket/{lib => }/collects/racket/match/stxtime.rkt (100%) rename racket/{lib => }/collects/racket/math.rkt (100%) rename racket/{lib => }/collects/racket/path.rkt (100%) rename racket/{lib => }/collects/racket/performance-hint.rkt (100%) rename racket/{lib => }/collects/racket/place.rkt (100%) rename racket/{lib => }/collects/racket/place/private/async-bi-channel.rkt (100%) rename racket/{lib => }/collects/racket/place/private/coercion.rkt (100%) rename racket/{lib => }/collects/racket/place/private/prop.rkt (100%) rename racket/{lib => }/collects/racket/place/private/th-place.rkt (100%) rename racket/{lib => }/collects/racket/port.rkt (100%) rename racket/{lib => }/collects/racket/pretty.rkt (100%) rename racket/{lib => }/collects/racket/private/base.rkt (100%) rename racket/{lib => }/collects/racket/private/case.rkt (100%) rename racket/{lib => }/collects/racket/private/cert.rkt (100%) rename racket/{lib => }/collects/racket/private/class-internal.rkt (100%) rename racket/{lib => }/collects/racket/private/classidmap.rkt (100%) rename racket/{lib => }/collects/racket/private/cond.rkt (100%) rename racket/{lib => }/collects/racket/private/define-et-al.rkt (100%) rename racket/{lib => }/collects/racket/private/define-struct.rkt (100%) rename racket/{lib => }/collects/racket/private/define.rkt (100%) rename racket/{lib => }/collects/racket/private/dict.rkt (100%) rename racket/{lib => }/collects/racket/private/ellipses.rkt (100%) rename racket/{lib => }/collects/racket/private/for.rkt (100%) rename racket/{lib => }/collects/racket/private/generic-interfaces.rkt (100%) rename racket/{lib => }/collects/racket/private/generic-methods.rkt (100%) rename racket/{lib => }/collects/racket/private/generic.rkt (100%) rename racket/{lib => }/collects/racket/private/hash.rkt (100%) rename racket/{lib => }/collects/racket/private/increader.rkt (100%) rename racket/{lib => }/collects/racket/private/kernstruct.rkt (100%) rename racket/{lib => }/collects/racket/private/kw-file.rkt (100%) rename racket/{lib => }/collects/racket/private/kw.rkt (100%) rename racket/{lib => }/collects/racket/private/letstx-scheme.rkt (100%) rename racket/{lib => }/collects/racket/private/list.rkt (100%) rename racket/{lib => }/collects/racket/private/local.rkt (100%) rename racket/{lib => }/collects/racket/private/logger.rkt (100%) rename racket/{lib => }/collects/racket/private/map.rkt (100%) rename racket/{lib => }/collects/racket/private/member.rkt (100%) rename racket/{lib => }/collects/racket/private/misc.rkt (100%) rename racket/{lib => }/collects/racket/private/modbeg.rkt (100%) rename racket/{lib => }/collects/racket/private/more-scheme.rkt (100%) rename racket/{lib => }/collects/racket/private/name.rkt (100%) rename racket/{lib => }/collects/racket/private/namespace.rkt (100%) rename racket/{lib => }/collects/racket/private/norm-arity.rkt (100%) rename racket/{lib => }/collects/racket/private/norm-define.rkt (100%) rename racket/{lib => }/collects/racket/private/performance-hint.rkt (100%) rename racket/{lib => }/collects/racket/private/port.rkt (100%) rename racket/{lib => }/collects/racket/private/portlines.rkt (100%) rename racket/{lib => }/collects/racket/private/pre-base.rkt (100%) rename racket/{lib => }/collects/racket/private/procedure-alias.rkt (100%) rename racket/{lib => }/collects/racket/private/promise.rkt (100%) rename racket/{lib => }/collects/racket/private/qq-and-or.rkt (100%) rename racket/{lib => }/collects/racket/private/qqstx.rkt (100%) rename racket/{lib => }/collects/racket/private/reqprov.rkt (100%) rename racket/{lib => }/collects/racket/private/reverse.rkt (100%) rename racket/{lib => }/collects/racket/private/runtime-path-table.rkt (100%) rename racket/{lib => }/collects/racket/private/sc.rkt (100%) rename racket/{lib => }/collects/racket/private/sequence.rkt (100%) rename racket/{lib => }/collects/racket/private/serialize-structs.rkt (100%) rename racket/{lib => }/collects/racket/private/serialize.rkt (100%) rename racket/{lib => }/collects/racket/private/shared-body.rktl (100%) rename racket/{lib => }/collects/racket/private/small-scheme.rkt (100%) rename racket/{lib => }/collects/racket/private/sort.rkt (100%) rename racket/{lib => }/collects/racket/private/stream-cons.rkt (100%) rename racket/{lib => }/collects/racket/private/streams.rkt (100%) rename racket/{lib => }/collects/racket/private/string.rkt (100%) rename racket/{lib => }/collects/racket/private/struct-info.rkt (100%) rename racket/{lib => }/collects/racket/private/struct.rkt (100%) rename racket/{lib => }/collects/racket/private/stx.rkt (100%) rename racket/{lib => }/collects/racket/private/stxcase-scheme.rkt (100%) rename racket/{lib => }/collects/racket/private/stxcase.rkt (100%) rename racket/{lib => }/collects/racket/private/stxloc.rkt (100%) rename racket/{lib => }/collects/racket/private/stxparam.rkt (100%) rename racket/{lib => }/collects/racket/private/stxparamkey.rkt (100%) rename racket/{lib => }/collects/racket/private/submodule.rkt (100%) rename racket/{lib => }/collects/racket/private/this-expression-source-directory.rkt (100%) rename racket/{lib => }/collects/racket/private/top-int.rkt (100%) rename racket/{lib => }/collects/racket/private/unit-compiletime.rkt (100%) rename racket/{lib => }/collects/racket/private/unit-contract-syntax.rkt (100%) rename racket/{lib => }/collects/racket/private/unit-contract.rkt (100%) rename racket/{lib => }/collects/racket/private/unit-keywords.rkt (100%) rename racket/{lib => }/collects/racket/private/unit-runtime.rkt (100%) rename racket/{lib => }/collects/racket/private/unit-syntax.rkt (100%) rename racket/{lib => }/collects/racket/private/unit-utils.rkt (100%) rename racket/{lib => }/collects/racket/private/vector-wraps.rkt (100%) rename racket/{lib => }/collects/racket/private/with-stx.rkt (100%) rename racket/{lib => }/collects/racket/promise.rkt (100%) rename racket/{lib => }/collects/racket/provide-syntax.rkt (100%) rename racket/{lib => }/collects/racket/provide-transform.rkt (100%) rename racket/{lib => }/collects/racket/provide.rkt (100%) rename racket/{lib => }/collects/racket/require-syntax.rkt (100%) rename racket/{lib => }/collects/racket/require-transform.rkt (100%) rename racket/{lib => }/collects/racket/require.rkt (100%) rename racket/{lib => }/collects/racket/rerequire.rkt (100%) rename racket/{lib => }/collects/racket/runtime-config.rkt (100%) rename racket/{lib => }/collects/racket/runtime-path.rkt (100%) rename racket/{lib => }/collects/racket/sequence.rkt (100%) rename racket/{lib => }/collects/racket/serialize.rkt (100%) rename racket/{lib => }/collects/racket/set.rkt (100%) rename racket/{lib => }/collects/racket/shared.rkt (100%) rename racket/{lib => }/collects/racket/signature/lang.rkt (100%) rename racket/{lib => }/collects/racket/signature/lang/reader.rkt (100%) rename racket/{lib => }/collects/racket/splicing.rkt (100%) rename racket/{lib => }/collects/racket/stream.rkt (100%) rename racket/{lib => }/collects/racket/string.rkt (100%) rename racket/{lib => }/collects/racket/struct-info.rkt (100%) rename racket/{lib => }/collects/racket/stxparam-exptime.rkt (100%) rename racket/{lib => }/collects/racket/stxparam.rkt (100%) rename racket/{lib => }/collects/racket/surrogate.rkt (100%) rename racket/{lib => }/collects/racket/syntax.rkt (100%) rename racket/{lib => }/collects/racket/system.rkt (100%) rename racket/{lib => }/collects/racket/tcp.rkt (100%) rename racket/{lib => }/collects/racket/trace.rkt (100%) rename racket/{lib => }/collects/racket/trait.rkt (100%) rename racket/{lib => }/collects/racket/udp.rkt (100%) rename racket/{lib => }/collects/racket/unit-exptime.rkt (100%) rename racket/{lib => }/collects/racket/unit.rkt (100%) rename racket/{lib => }/collects/racket/unit/lang.rkt (100%) rename racket/{lib => }/collects/racket/unit/lang/reader.rkt (100%) rename racket/{lib => }/collects/racket/unsafe/ops.rkt (100%) rename racket/{lib => }/collects/racket/vector.rkt (100%) rename racket/{lib => }/collects/rackunit/log.rkt (100%) rename racket/{lib => }/collects/raco/all-tools.rkt (100%) rename racket/{lib => }/collects/raco/command-name.rkt (100%) rename racket/{lib => }/collects/raco/doc.ico (100%) rename racket/{lib => }/collects/raco/info.rkt (100%) rename racket/{lib => }/collects/raco/main.extreg (100%) rename racket/{lib => }/collects/raco/main.lch (100%) rename racket/{lib => }/collects/raco/main.rkt (100%) rename racket/{lib => }/collects/raco/raco.rkt (100%) rename racket/{lib => }/collects/reader/lang/reader.rkt (100%) rename racket/{lib => }/collects/s-exp/lang/reader.rkt (100%) rename racket/{lib => }/collects/scheme/async-channel.rkt (100%) rename racket/{lib => }/collects/scheme/base.rkt (100%) rename racket/{lib => }/collects/scheme/base/lang/reader.rkt (100%) rename racket/{lib => }/collects/scheme/bool.rkt (100%) rename racket/{lib => }/collects/scheme/class.rkt (100%) rename racket/{lib => }/collects/scheme/cmdline.rkt (100%) rename racket/{lib => }/collects/scheme/contract.rkt (100%) rename racket/{lib => }/collects/scheme/control.rkt (100%) rename racket/{lib => }/collects/scheme/date.rkt (100%) rename racket/{lib => }/collects/scheme/dict.rkt (100%) rename racket/{lib => }/collects/scheme/enter.rkt (100%) rename racket/{lib => }/collects/scheme/exists/lang.rkt (100%) rename racket/{lib => }/collects/scheme/exists/lang/reader.rkt (100%) rename racket/{lib => }/collects/scheme/fasl.rkt (100%) rename racket/{lib => }/collects/scheme/file.rkt (100%) rename racket/{lib => }/collects/scheme/fixnum.rkt (100%) rename racket/{lib => }/collects/scheme/flonum.rkt (100%) rename racket/{lib => }/collects/scheme/foreign.rkt (100%) rename racket/{lib => }/collects/scheme/function.rkt (100%) rename racket/{lib => }/collects/scheme/future.rkt (100%) rename racket/{lib => }/collects/scheme/generator.rkt (100%) rename racket/{lib => }/collects/scheme/gui/dynamic.rkt (100%) rename racket/{lib => }/collects/scheme/help.rkt (100%) rename racket/{lib => }/collects/scheme/include.rkt (100%) rename racket/{lib => }/collects/scheme/init.rkt (100%) rename racket/{lib => }/collects/scheme/lang/reader.rkt (100%) rename racket/{lib => }/collects/scheme/language-info.rkt (100%) rename racket/{lib => }/collects/scheme/list.rkt (100%) rename racket/{lib => }/collects/scheme/load.rkt (100%) rename racket/{lib => }/collects/scheme/load/lang/reader.rkt (100%) rename racket/{lib => }/collects/scheme/local.rkt (100%) rename racket/{lib => }/collects/scheme/main.rkt (100%) rename racket/{lib => }/collects/scheme/match.rkt (100%) rename racket/{lib => }/collects/scheme/math.rkt (100%) rename racket/{lib => }/collects/scheme/nest.rkt (100%) rename racket/{lib => }/collects/scheme/path.rkt (100%) rename racket/{lib => }/collects/scheme/place.rkt (100%) rename racket/{lib => }/collects/scheme/port.rkt (100%) rename racket/{lib => }/collects/scheme/pretty.rkt (100%) rename racket/{lib => }/collects/scheme/private/namespace.rkt (100%) rename racket/{lib => }/collects/scheme/private/provider/lang.rkt (100%) rename racket/{lib => }/collects/scheme/private/provider/lang/reader.rkt (100%) rename racket/{lib => }/collects/scheme/promise.rkt (100%) rename racket/{lib => }/collects/scheme/provide-syntax.rkt (100%) rename racket/{lib => }/collects/scheme/provide-transform.rkt (100%) rename racket/{lib => }/collects/scheme/provide.rkt (100%) rename racket/{lib => }/collects/scheme/require-syntax.rkt (100%) rename racket/{lib => }/collects/scheme/require-transform.rkt (100%) rename racket/{lib => }/collects/scheme/require.rkt (100%) rename racket/{lib => }/collects/scheme/runtime-config.rkt (100%) rename racket/{lib => }/collects/scheme/runtime-path.rkt (100%) rename racket/{lib => }/collects/scheme/serialize.rkt (100%) rename racket/{lib => }/collects/scheme/set.rkt (100%) rename racket/{lib => }/collects/scheme/shared.rkt (100%) rename racket/{lib => }/collects/scheme/signature/lang/reader.rkt (100%) rename racket/{lib => }/collects/scheme/splicing.rkt (100%) rename racket/{lib => }/collects/scheme/string.rkt (100%) rename racket/{lib => }/collects/scheme/struct-info.rkt (100%) rename racket/{lib => }/collects/scheme/stxparam-exptime.rkt (100%) rename racket/{lib => }/collects/scheme/stxparam.rkt (100%) rename racket/{lib => }/collects/scheme/surrogate.rkt (100%) rename racket/{lib => }/collects/scheme/system.rkt (100%) rename racket/{lib => }/collects/scheme/tcp.rkt (100%) rename racket/{lib => }/collects/scheme/trace.rkt (100%) rename racket/{lib => }/collects/scheme/trait.rkt (100%) rename racket/{lib => }/collects/scheme/udp.rkt (100%) rename racket/{lib => }/collects/scheme/unit-exptime.rkt (100%) rename racket/{lib => }/collects/scheme/unit.rkt (100%) rename racket/{lib => }/collects/scheme/unit/lang.rkt (100%) rename racket/{lib => }/collects/scheme/unit/lang/reader.rkt (100%) rename racket/{lib => }/collects/scheme/unsafe/ops.rkt (100%) rename racket/{lib => }/collects/scheme/vector.rkt (100%) rename racket/{lib => }/collects/setup/collects.rkt (100%) rename racket/{lib => }/collects/setup/commands/link.rkt (100%) rename racket/{lib => }/collects/setup/dirs.rkt (96%) rename racket/{lib => }/collects/setup/doc-db.rkt (100%) rename racket/{lib => }/collects/setup/getinfo.rkt (95%) rename racket/{lib => }/collects/setup/info.rkt (100%) rename racket/{lib => }/collects/setup/infotab.rkt (100%) rename racket/{lib => }/collects/setup/infotab/lang/reader.rkt (100%) rename racket/{lib => }/collects/setup/link.rkt (100%) rename racket/{lib => }/collects/setup/main-collects.rkt (100%) rename racket/{lib => }/collects/setup/main-doc.rkt (100%) rename racket/{lib => }/collects/setup/main.lch (100%) rename racket/{lib => }/collects/setup/main.rkt (100%) rename racket/{lib => }/collects/setup/option-sig.rkt (100%) rename racket/{lib => }/collects/setup/option-unit.rkt (100%) rename racket/{lib => }/collects/setup/pack.rkt (100%) rename racket/{lib => }/collects/setup/parallel-build.rkt (100%) rename racket/{lib => }/collects/setup/parallel-do.rkt (100%) rename racket/{lib => }/collects/setup/path-relativize.rkt (100%) rename racket/{lib => }/collects/setup/path-to-relative.rkt (100%) rename racket/{lib => }/collects/setup/plt-single-installer.rkt (100%) rename racket/{lib => }/collects/setup/private/cc-struct.rkt (100%) rename racket/{lib => }/collects/setup/private/command-name.rkt (100%) rename racket/{lib => }/collects/setup/private/lib-roots.rkt (100%) rename racket/{lib => }/collects/setup/private/main-collects.rkt (100%) rename racket/{lib => }/collects/setup/private/omitted-paths.rkt (100%) rename racket/{lib => }/collects/setup/private/path-utils.rkt (100%) rename racket/{lib => }/collects/setup/private/pkg-deps.rkt (100%) rename racket/{lib => }/collects/setup/setup-cmdline.rkt (100%) rename racket/{lib => }/collects/setup/setup-go.rkt (100%) rename racket/{lib => }/collects/setup/setup-unit.rkt (97%) rename racket/{lib => }/collects/setup/setup.rkt (100%) rename racket/{lib => }/collects/setup/unixstyle-install.rkt (98%) rename racket/{lib => }/collects/setup/unpack.rkt (100%) rename racket/{lib => }/collects/setup/variant.rkt (100%) rename racket/{lib => }/collects/setup/winstrip.rkt (100%) rename racket/{lib => }/collects/setup/winvers-change.rkt (100%) rename racket/{lib => }/collects/setup/winvers.rkt (100%) rename racket/{lib => }/collects/srfi/1.rkt (100%) rename racket/{lib => }/collects/srfi/1/alist.rkt (100%) rename racket/{lib => }/collects/srfi/1/cons.rkt (100%) rename racket/{lib => }/collects/srfi/1/delete.rkt (100%) rename racket/{lib => }/collects/srfi/1/filter.rkt (100%) rename racket/{lib => }/collects/srfi/1/fold.rkt (100%) rename racket/{lib => }/collects/srfi/1/list.rkt (100%) rename racket/{lib => }/collects/srfi/1/lset.rkt (100%) rename racket/{lib => }/collects/srfi/1/misc.rkt (100%) rename racket/{lib => }/collects/srfi/1/predicate.rkt (100%) rename racket/{lib => }/collects/srfi/1/search.rkt (100%) rename racket/{lib => }/collects/srfi/1/selector.rkt (100%) rename racket/{lib => }/collects/srfi/1/util.rkt (100%) rename racket/{lib => }/collects/srfi/13.rkt (100%) rename racket/{lib => }/collects/srfi/13/string.rkt (100%) rename racket/{lib => }/collects/srfi/14.rkt (100%) rename racket/{lib => }/collects/srfi/14/char-set.rkt (100%) rename racket/{lib => }/collects/srfi/19.rkt (100%) rename racket/{lib => }/collects/srfi/19/time.rkt (100%) rename racket/{lib => }/collects/srfi/29.rkt (100%) rename racket/{lib => }/collects/srfi/29/bundles/es/srfi-19 (100%) rename racket/{lib => }/collects/srfi/29/bundles/srfi-19 (100%) rename racket/{lib => }/collects/srfi/29/localization.rkt (100%) rename racket/{lib => }/collects/srfi/8.rkt (100%) rename racket/{lib => }/collects/srfi/8/receive.rkt (100%) rename racket/{lib => }/collects/srfi/optional.rkt (100%) rename racket/{lib => }/collects/srfi/provider.rkt (100%) rename racket/{lib => }/collects/syntax/boundmap.rkt (100%) rename racket/{lib => }/collects/syntax/context.rkt (100%) rename racket/{lib => }/collects/syntax/datum.rkt (100%) rename racket/{lib => }/collects/syntax/define.rkt (100%) rename racket/{lib => }/collects/syntax/doc.txt (100%) rename racket/{lib => }/collects/syntax/docprovide.rkt (100%) rename racket/{lib => }/collects/syntax/flatten-begin.rkt (100%) rename racket/{lib => }/collects/syntax/for-body.rkt (100%) rename racket/{lib => }/collects/syntax/free-vars.rkt (100%) rename racket/{lib => }/collects/syntax/id-table.rkt (100%) rename racket/{lib => }/collects/syntax/kerncase.rkt (100%) rename racket/{lib => }/collects/syntax/keyword.rkt (100%) rename racket/{lib => }/collects/syntax/location.rkt (100%) rename racket/{lib => }/collects/syntax/modcode.rkt (100%) rename racket/{lib => }/collects/syntax/modcollapse.rkt (100%) rename racket/{lib => }/collects/syntax/moddep.rkt (100%) rename racket/{lib => }/collects/syntax/modread.rkt (100%) rename racket/{lib => }/collects/syntax/modresolve.rkt (100%) rename racket/{lib => }/collects/syntax/module-reader.rkt (100%) rename racket/{lib => }/collects/syntax/name.rkt (100%) rename racket/{lib => }/collects/syntax/parse.rkt (100%) rename racket/{lib => }/collects/syntax/parse/debug.rkt (100%) rename racket/{lib => }/collects/syntax/parse/define.rkt (100%) rename racket/{lib => }/collects/syntax/parse/experimental/contract.rkt (100%) rename racket/{lib => }/collects/syntax/parse/experimental/eh.rkt (100%) rename racket/{lib => }/collects/syntax/parse/experimental/private/substitute.rkt (100%) rename racket/{lib => }/collects/syntax/parse/experimental/provide.rkt (100%) rename racket/{lib => }/collects/syntax/parse/experimental/reflect.rkt (100%) rename racket/{lib => }/collects/syntax/parse/experimental/specialize.rkt (100%) rename racket/{lib => }/collects/syntax/parse/experimental/splicing.rkt (100%) rename racket/{lib => }/collects/syntax/parse/experimental/template.rkt (100%) rename racket/{lib => }/collects/syntax/parse/pre.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/3d-stx.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/keywords.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/kws.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/lib.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/litconv.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/minimatch.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/opt.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/parse-aux.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/parse.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/rep-attrs.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/rep-data.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/rep-patterns.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/rep.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/residual-ct.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/residual.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/runtime-progress.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/runtime-reflect.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/runtime-report.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/runtime.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/sc.rkt (100%) rename racket/{lib => }/collects/syntax/parse/private/txlift.rkt (100%) rename racket/{lib => }/collects/syntax/parse/todo.txt (100%) rename racket/{lib => }/collects/syntax/path-spec.rkt (100%) rename racket/{lib => }/collects/syntax/primitives.rkt (100%) rename racket/{lib => }/collects/syntax/private/boundmap.rkt (100%) rename racket/{lib => }/collects/syntax/private/doctable.rkt (100%) rename racket/{lib => }/collects/syntax/private/id-table.rkt (100%) rename racket/{lib => }/collects/syntax/private/keyword.rkt (100%) rename racket/{lib => }/collects/syntax/private/modcollapse-noctc.rkt (100%) rename racket/{lib => }/collects/syntax/private/modhelp.rkt (100%) rename racket/{lib => }/collects/syntax/private/template-runtime.rkt (100%) rename racket/{lib => }/collects/syntax/private/util/expand.rkt (100%) rename racket/{lib => }/collects/syntax/quote.rkt (100%) rename racket/{lib => }/collects/syntax/readerr.rkt (100%) rename racket/{lib => }/collects/syntax/srcloc.rkt (100%) rename racket/{lib => }/collects/syntax/strip-context.rkt (100%) rename racket/{lib => }/collects/syntax/struct.rkt (100%) rename racket/{lib => }/collects/syntax/stx.rkt (100%) rename racket/{lib => }/collects/syntax/template.rkt (100%) rename racket/{lib => }/collects/syntax/to-string.rkt (100%) rename racket/{lib => }/collects/syntax/toplevel.rkt (100%) rename racket/{lib => }/collects/syntax/trusted-xforms.rkt (100%) rename racket/{lib => }/collects/unstable/custom-write.rkt (100%) rename racket/{lib => }/collects/unstable/error.rkt (100%) rename racket/{lib => }/collects/unstable/markparam.rkt (100%) rename racket/{lib => }/collects/unstable/sequence.rkt (100%) rename racket/{lib => }/collects/unstable/socket.rkt (100%) rename racket/{lib => }/collects/unstable/struct.rkt (100%) rename racket/{lib => }/collects/unstable/syntax.rkt (100%) rename racket/{lib => }/collects/unstable/wrapc.rkt (100%) rename racket/{lib => }/collects/version/check.rkt (100%) rename racket/{lib => }/collects/version/patchlevel.rkt (100%) rename racket/{lib => }/collects/version/utils.rkt (100%) rename racket/{lib => }/collects/xml/main.rkt (100%) rename racket/{lib => }/collects/xml/path.rkt (100%) rename racket/{lib => }/collects/xml/plist.rkt (100%) rename racket/{lib => }/collects/xml/private/core.rkt (100%) rename racket/{lib => }/collects/xml/private/reader.rkt (100%) rename racket/{lib => }/collects/xml/private/space.rkt (100%) rename racket/{lib => }/collects/xml/private/structures.rkt (100%) rename racket/{lib => }/collects/xml/private/syntax.rkt (100%) rename racket/{lib => }/collects/xml/private/writer.rkt (100%) rename racket/{lib => }/collects/xml/private/xexpr-core.rkt (100%) rename racket/{lib => }/collects/xml/private/xexpr.rkt (100%) rename racket/{lib => }/collects/xml/xexpr.rkt (100%) rename racket/{lib => }/collects/xml/xml.rkt (100%) delete mode 100644 racket/lib/.gitignore diff --git a/Makefile b/Makefile index b4cf362cef..b0fdc2f872 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,9 @@ # # installers = `server' plus `client' via $(CONFIG) -DEFAULT_PKGS = main-distribution plt-services +# Packages (separated by spaces) to link in development mode or +# to include in a distribution: +PKGS = main-distribution plt-services # ------------------------------------------------------------ # In-place build @@ -29,6 +31,8 @@ WIN32_PLAIN_RACKET = racket\racket MACOSX_CHECK = $(PLAIN_RACKET) -I racket/base -e '(case (system-type) [(macosx) (exit 0)] [else (exit 1)])' +LINK_MODE = --save + CPUS = in-place: @@ -95,9 +99,6 @@ racket/src/build/Makefile: racket/src/configure racket/src/Makefile.in # end in "_q" or "_qq", don't use any quote marks on the right-hand # side of its definition. -# Packages (separated by spaces) to include in a distribution: -PKGS = $(DEFAULT_PKGS) - # Catalog for sources and native packages; use "local" to bootstrap # from package directories (in the same directory as this makefile) # plus the GitHub repository of raw native libraries. Otherwise, it's @@ -171,11 +172,11 @@ DISTRO_BUILD_PKGS = distro-build DISTBLD = pkgs/distro-build # Helper macros: -ADDON = build/user -RACKET = racket/bin/racket -A "$(ADDON)" -RACO = racket/bin/racket -A "$(ADDON)" -N raco -l- raco -WIN32_RACKET = racket\racket -A "$(ADDON)" -WIN32_RACO = racket\racket -A "$(ADDON)" -N raco -l- raco +USER_CONFIG = -G build/user/config -A build/user +RACKET = racket/bin/racket $(USER_CONFIG) +RACO = racket/bin/racket $(USER_CONFIG) -N raco -l- raco +WIN32_RACKET = racket\racket $(USER_CONFIG) +WIN32_RACO = racket\racket $(USER_CONFIG) -N raco -l- raco X_AUTO_OPTIONS = --skip-installed --deps search-auto $(JOB_OPTIONS) USER_AUTO_OPTIONS = --scope user $(X_AUTO_OPTIONS) LOCAL_USER_AUTO = --catalog build/local/catalog $(USER_AUTO_OPTIONS) @@ -189,7 +190,6 @@ BUNDLE_CONFIG = bundle/racket/etc/config.rktd # Linking all packages (development mode; not an installer build) LINK_ALL = -U -G build/config racket/src/link-all.rkt ++dir pkgs ++dir build/native-pkgs -LINK_MODE = --save pkg-links: $(PLAIN_RACKET) $(LINK_ALL) $(LINK_MODE) $(PKGS) $(REQUIRED_PKGS) @@ -315,12 +315,12 @@ binary-catalog-server: # `distro-buid/drive-clients', which is in turn run by the # `installers' target. # -# For a non-Windows machine, if "build/drive" exists, then +# For a non-Windows machine, if "build/log" exists, then # keep the "build/user" directory on the grounds that the # client is the same as the server. client: - if [ ! -d build/drive ] ; then rm -rf build/user ; fi + if [ ! -d build/log ] ; then rm -rf build/user ; fi $(MAKE) core $(MAKE) distro-build-from-server $(MAKE) bundle-from-server diff --git a/pkgs/distro-build/install-for-docs.rkt b/pkgs/distro-build/install-for-docs.rkt index adcd10dd38..09d256859b 100644 --- a/pkgs/distro-build/install-for-docs.rkt +++ b/pkgs/distro-build/install-for-docs.rkt @@ -28,9 +28,10 @@ (define ht (hash 'doc-dir (build-path/s "doc") 'lib-dir (build-path/s "lib") + 'share-dir (build-path/s "share") 'dll-dir (build-path/s "lib") - 'links-file (build-path/s "lib" "links.rktd") - 'pkgs-dir (build-path/s "lib" "pkgs") + 'links-file (build-path/s "share" "links.rktd") + 'pkgs-dir (build-path/s "share" "pkgs") 'bin-dir (build-path/s "bin") 'include-dir (build-path/s "include") 'catalogs (map build-path/f catalogs))) diff --git a/pkgs/distro-build/installer-exe.rkt b/pkgs/distro-build/installer-exe.rkt index eb960d20bd..53f3356836 100644 --- a/pkgs/distro-build/installer-exe.rkt +++ b/pkgs/distro-build/installer-exe.rkt @@ -212,7 +212,6 @@ Function myTestInstDir IfFileExists "$INSTDIR\Racket.exe" racket_is_installed @(if auto-launch @~a{IfFileExists "$INSTDIR\${RKTLaunchProgram}.exe" racket_is_installed} "") IfFileExists "$INSTDIR\collects" racket_is_installed - IfFileExists "$INSTDIR\lib\collects" racket_is_installed Goto racket_is_not_installed racket_is_installed: IfFileExists "${UNINSTEXE}" we_have_uninstall @@ -320,7 +319,7 @@ Function un.myGUIInit IfFileExists "$INSTDIR\Racket.exe" racket_is_installed_un IfFileExists "$INSTDIR\lib\GRacket.exe" racket_is_installed_un @(if auto-launch @~a{IfFileExists "$INSTDIR\${RKTLaunchProgram}.exe" racket_is_installed_un} "") - IfFileExists "$INSTDIR\lib\collects" racket_is_installed_un + IfFileExists "$INSTDIR\collects" racket_is_installed_un MessageBox MB_YESNO "It does not appear that Racket is installed in '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" /SD IDYES IDYES racket_is_installed_un Abort "Uninstall aborted by user" racket_is_installed_un: @@ -336,6 +335,7 @@ Section "Uninstall" Delete "$INSTDIR\README*.*" RMDir /r "$INSTDIR\include" RMDir /r "$INSTDIR\lib" + RMDir /r "$INSTDIR\share" RMDir /r "$INSTDIR\etc" RMDir /r "$INSTDIR\doc" ;; these exist in Racket-Full installations diff --git a/pkgs/distro-build/pack-collects.rkt b/pkgs/distro-build/pack-collects.rkt index 272061eaac..6078a4fb2d 100644 --- a/pkgs/distro-build/pack-collects.rkt +++ b/pkgs/distro-build/pack-collects.rkt @@ -13,7 +13,5 @@ (when (file-exists? tgz-file) (delete-file tgz-file)) -(parameterize ([current-directory (build-path "racket/lib")]) +(parameterize ([current-directory (build-path "racket")]) (tar-gzip tgz-file "collects")) - - \ No newline at end of file diff --git a/pkgs/distro-build/readme.rkt b/pkgs/distro-build/readme.rkt index 72b0a3708a..a5b2bfe41a 100644 --- a/pkgs/distro-build/readme.rkt +++ b/pkgs/distro-build/readme.rkt @@ -30,7 +30,7 @@ also modify Racket; if you distribute a modified version, you must distribute it under the terms of the LGPL, which in particular means that you must release the source code for the modified software. See - lib/COPYING_LESSER.txt for more information.}) + share/COPYING_LESSER.txt for more information.}) (define macosx-notes @~a{Install by dragging the enclosing Racket folder to your Applications folder diff --git a/pkgs/distro-build/unix-installer/installer-header b/pkgs/distro-build/unix-installer/installer-header index 8c685f6fa6..44dc68faa1 100644 --- a/pkgs/distro-build/unix-installer/installer-header +++ b/pkgs/distro-build/unix-installer/installer-header @@ -164,6 +164,7 @@ set_dirs() { libdir="$1/lib" incrktdir="$1/include/$TARGET" librktdir="$1/lib/$TARGET" + sharerktdir="$1/share/$TARGET" configdir="$1/etc/$TARGET" has_share="N" if test -d "$1/share"; then has_share="Y"; fi @@ -227,8 +228,8 @@ unpack_installation() { | { cd "$INSTDIR" "$tar" xf - || failwith "problems during unpacking of binary archive." } - test -d "$INSTDIR/lib/collects" \ - || failwith "unpack failed (could not find \"$T/lib/collects\")." + test -d "$INSTDIR/collects" \ + || failwith "unpack failed (could not find \"$T/collects\")." echo "Done." } @@ -328,6 +329,7 @@ unixstyle_install() { echo "Target Directories:" show_dir_var "[e] Executables " "$bindir" show_dir_var "[o] Libraries " "$librktdir" + show_dir_var "[s] Shared files " "$sharerktdir" show_dir_var "[c] Configuration" "$configdir" show_dir_var "[d] Documentation" "$docdir" show_dir_var "[l] C Libraries " "$libdir" @@ -351,6 +353,7 @@ unixstyle_install() { [lL]* ) read_dir libdir ;; [hH]* ) read_dir incrktdir ;; [oO]* ) read_dir librktdir ;; + [sS]* ) read_dir sharerktdir ;; [cC]* ) read_dir configdir ;; [mM]* ) read_dir mandir ;; "" ) if test "$err" = "N"; then done="Y" @@ -382,9 +385,9 @@ unixstyle_install() { unpack_installation "$tmp" cd "$where" - "$tmp/bin/racket" "$tmp/lib/collects/setup/unixstyle-install.rkt" \ - "move" "$tmp" "$bindir" "$librktdir/collects" "$docdir" "$libdir" \ - "$incrktdir" "$librktdir" "$configdir" "$mandir" \ + "$tmp/bin/racket" "$tmp/collects/setup/unixstyle-install.rkt" \ + "move" "$tmp" "$bindir" "$sharerktdir/collects" "$docdir" "$libdir" \ + "$incrktdir" "$librktdir" "$sharerktdir" "$configdir" "$mandir" \ || failwith "installation failed" } diff --git a/pkgs/distro-build/unpack-collects.rkt b/pkgs/distro-build/unpack-collects.rkt index 4837b07859..bc9dbd45b8 100644 --- a/pkgs/distro-build/unpack-collects.rkt +++ b/pkgs/distro-build/unpack-collects.rkt @@ -22,12 +22,9 @@ (display-time) -(define lib-dir (build-path dest-dir "lib")) -(make-directory* lib-dir) - -(define collects-dir (build-path lib-dir "collects")) +(define collects-dir (build-path dest-dir "collects")) (when (directory-exists? collects-dir) (delete-directory/files collects-dir)) (untgz (open-input-bytes zip-content) - #:dest lib-dir) + #:dest dest-dir) diff --git a/pkgs/honu/info.rkt b/pkgs/honu/info.rkt index 999e98e334..4e0f24d2f8 100644 --- a/pkgs/honu/info.rkt +++ b/pkgs/honu/info.rkt @@ -10,5 +10,5 @@ "sandbox-lib" "racket-doc")) -;; Make honu.vim easier to find by copying it to the "lib" directory: -(define copy-foreign-libs '("contrib/honu.vim")) +;; Make honu.vim easier to find by copying it to the "share" directory: +(define copy-shared-files '("contrib/honu.vim")) diff --git a/pkgs/racket-pkgs/racket-doc/scribblings/raco/config.scrbl b/pkgs/racket-pkgs/racket-doc/scribblings/raco/config.scrbl index ee57779454..da3bbd893a 100644 --- a/pkgs/racket-pkgs/racket-doc/scribblings/raco/config.scrbl +++ b/pkgs/racket-pkgs/racket-doc/scribblings/raco/config.scrbl @@ -27,12 +27,12 @@ directory: @item{@racket['doc-dir] --- a path, string, or byte string for the main documentation directory. The value defaults to a - @filepath{doc} sibling directory of the parent of the + @filepath{doc} sibling directory of the main collection directory.} @item{@racket['lib-dir] --- a path, string, or byte string for the - main library directory; it defaults to the parent - directory of the main collection directory.} + main library directory; it defaults to a @filepath{lib} + sibling directory of the main collection directory.} @item{@racket['lib-search-dirs] --- a list of paths, strings, byte strings, or @racket[#f] representing the search path for @@ -42,27 +42,32 @@ directory: directory followed by the main library directory.} @item{@racket['dll-dir] --- a path, string, or byte string for a - directory containing Unix shared libraries for the main + directory containing shared libraries for the main executable; it defaults to the main library directory.} + @item{@racket['share-dir] --- a path, string, or byte string for the + main shared-file directory, which normally includes installed packages; + it defaults to a @filepath{share} sibling directory of the main + collection directory.} + @item{@racket['links-file] --- a path, string, or byte string for the @tech[#:doc reference-doc]{collection links file}; it defaults - to a @filepath{links.rktd} file in the parent of the main - collection directory.} + to a @filepath{links.rktd} file in the @filepath{share} sibling + of the main collection directory.} @item{@racket['links-search-files] --- like @racket['lib-search-dirs], but for @tech[#:doc reference-doc]{collection links file}.} @item{@racket['pkgs-dir] --- a path, string, or byte string for packages that have installation scope; it defaults to - @filepath{pkgs} in the main library directory.} + @filepath{pkgs} in the main shared-file directory.} @item{@racket['pkgs-search-dirs] --- like @racket['lib-search-dirs], but for packages in installation scope.} @item{@racket['bin-dir] --- a path, string, or byte string for the main directory containing executables; it defaults to a - @filepath{bin} sibling directory of the parent of the main collection + @filepath{bin} sibling directory of the main collection directory.} @item{@racket['doc-search-dirs] --- like @racket['lib-search-dirs], @@ -70,7 +75,7 @@ directory: @item{@racket['include-dir] --- a path, string, or byte string for the main directory containing C header files; it defaults to an - @filepath{include} sibling directory of the main library + @filepath{include} sibling directory of the main collection directory.} @item{@racket['include-search-dirs] --- like diff --git a/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl b/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl index 5dfd1ac1d0..0b4ef5ab7d 100644 --- a/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl +++ b/pkgs/racket-pkgs/racket-doc/scribblings/raco/setup.scrbl @@ -534,6 +534,15 @@ Optional @filepath{info.rkt} fields trigger additional actions by but the original file is removed after it is copied (which makes sense for precompiled packages).} + @item{@indexed-racket[copy-shared-files] : @racket[(listof (and/c + path-string? relative-path?))] --- Files to copy into a + directory where shared files are found.} + + @item{@indexed-racket[move-shared-files] : @racket[(listof (and/c + path-string? relative-path?))] --- Like @racket[copy-shared-files], + but the original file is removed after it is copied (which makes sense + for precompiled packages).} + @item{@indexed-racket[copy-man-pages] : @racket[(listof (and/c path-string? relative-path? filename-extension))] --- Files to copy into a @tt{man} directory. The file suffix determines its category; @@ -1020,6 +1029,19 @@ v libraries and other build information. The result is @racket[#f] if no such directory is available.} +@defproc[(find-user-lib-dir) path?]{ + Returns a path to a user-specific @filepath{lib} directory; the directory + indicated by the returned path may or may not exist.} + +@defproc[(find-share-dir) (or/c path? #f)]{ Returns a path to the + installation's @filepath{share} directory, which contains installed + packages and other platform-independent files. The result is + @racket[#f] if no such directory is available.} + +@defproc[(find-user-share-dir) path?]{ + Returns a path to a user-specific @filepath{share} directory; the directory + indicated by the returned path may or may not exist.} + @defproc[(find-dll-dir) (or/c path? #f)]{ Returns a path to the directory that contains DLLs for use with the current executable (e.g., @filepath{libmzsch.dll} on Windows). @@ -1027,12 +1049,8 @@ v specific directory is available (i.e., other than the platform's normal search path).} -@defproc[(find-user-lib-dir) path?]{ - Returns a path to a user-specific @filepath{lib} directory; the directory - indicated by the returned path may or may not exist.} - @defproc[(get-lib-search-dirs) (listof path?)]{ - Returns a list of paths to search for libraries. Unless it is + Returns a list of paths to search for foreign libraries. Unless it is configured otherwise, the result includes any non-@racket[#f] result of @racket[(find-lib-dir)], @racket[(find-dll-dir)], and @racket[(find-user-lib-dir)]---but the last is included only if the diff --git a/pkgs/slatex/info.rkt b/pkgs/slatex/info.rkt index 1b89716bb9..af3e11b9ee 100644 --- a/pkgs/slatex/info.rkt +++ b/pkgs/slatex/info.rkt @@ -17,5 +17,5 @@ "scribble-lib")) ;; Make slatex.sty easier to find (for adding to TEXINPUTS) -;; by copying it to the "lib" directory. Same for rubber support: -(define copy-foreign-libs '("slatex.sty" "slatex.py")) +;; by copying it to the "share" directory. Same for rubber support: +(define copy-shared-files '("slatex.sty" "slatex.py")) diff --git a/racket/.gitignore b/racket/.gitignore index 61c838bf31..cf4cec76be 100644 --- a/racket/.gitignore +++ b/racket/.gitignore @@ -3,6 +3,8 @@ /include/ /etc/ /doc/ +/lib/ +/share/ # Windows and OSX executables /*.app diff --git a/racket/lib/collects/.gitignore b/racket/collects/.gitignore similarity index 100% rename from racket/lib/collects/.gitignore rename to racket/collects/.gitignore diff --git a/racket/lib/collects/acks/acks.rkt b/racket/collects/acks/acks.rkt similarity index 100% rename from racket/lib/collects/acks/acks.rkt rename to racket/collects/acks/acks.rkt diff --git a/racket/lib/collects/compiler/cm-accomplice.rkt b/racket/collects/compiler/cm-accomplice.rkt similarity index 100% rename from racket/lib/collects/compiler/cm-accomplice.rkt rename to racket/collects/compiler/cm-accomplice.rkt diff --git a/racket/lib/collects/compiler/cm.rkt b/racket/collects/compiler/cm.rkt similarity index 100% rename from racket/lib/collects/compiler/cm.rkt rename to racket/collects/compiler/cm.rkt diff --git a/racket/lib/collects/compiler/compile-file.rkt b/racket/collects/compiler/compile-file.rkt similarity index 100% rename from racket/lib/collects/compiler/compile-file.rkt rename to racket/collects/compiler/compile-file.rkt diff --git a/racket/lib/collects/compiler/compiler-unit.rkt b/racket/collects/compiler/compiler-unit.rkt similarity index 100% rename from racket/lib/collects/compiler/compiler-unit.rkt rename to racket/collects/compiler/compiler-unit.rkt diff --git a/racket/lib/collects/compiler/distribute.rkt b/racket/collects/compiler/distribute.rkt similarity index 100% rename from racket/lib/collects/compiler/distribute.rkt rename to racket/collects/compiler/distribute.rkt diff --git a/racket/lib/collects/compiler/embed-sig.rkt b/racket/collects/compiler/embed-sig.rkt similarity index 100% rename from racket/lib/collects/compiler/embed-sig.rkt rename to racket/collects/compiler/embed-sig.rkt diff --git a/racket/lib/collects/compiler/embed-unit.rkt b/racket/collects/compiler/embed-unit.rkt similarity index 100% rename from racket/lib/collects/compiler/embed-unit.rkt rename to racket/collects/compiler/embed-unit.rkt diff --git a/racket/lib/collects/compiler/embed.rkt b/racket/collects/compiler/embed.rkt similarity index 100% rename from racket/lib/collects/compiler/embed.rkt rename to racket/collects/compiler/embed.rkt diff --git a/racket/lib/collects/compiler/find-exe.rkt b/racket/collects/compiler/find-exe.rkt similarity index 100% rename from racket/lib/collects/compiler/find-exe.rkt rename to racket/collects/compiler/find-exe.rkt diff --git a/racket/lib/collects/compiler/option-unit.rkt b/racket/collects/compiler/option-unit.rkt similarity index 100% rename from racket/lib/collects/compiler/option-unit.rkt rename to racket/collects/compiler/option-unit.rkt diff --git a/racket/lib/collects/compiler/private/collects-path.rkt b/racket/collects/compiler/private/collects-path.rkt similarity index 100% rename from racket/lib/collects/compiler/private/collects-path.rkt rename to racket/collects/compiler/private/collects-path.rkt diff --git a/racket/lib/collects/compiler/private/configdir.rkt b/racket/collects/compiler/private/configdir.rkt similarity index 100% rename from racket/lib/collects/compiler/private/configdir.rkt rename to racket/collects/compiler/private/configdir.rkt diff --git a/racket/lib/collects/compiler/private/elf.rkt b/racket/collects/compiler/private/elf.rkt similarity index 100% rename from racket/lib/collects/compiler/private/elf.rkt rename to racket/collects/compiler/private/elf.rkt diff --git a/racket/lib/collects/compiler/private/embed.rkt b/racket/collects/compiler/private/embed.rkt similarity index 100% rename from racket/lib/collects/compiler/private/embed.rkt rename to racket/collects/compiler/private/embed.rkt diff --git a/racket/lib/collects/compiler/private/macfw.rkt b/racket/collects/compiler/private/macfw.rkt similarity index 100% rename from racket/lib/collects/compiler/private/macfw.rkt rename to racket/collects/compiler/private/macfw.rkt diff --git a/racket/lib/collects/compiler/private/mach-o.rkt b/racket/collects/compiler/private/mach-o.rkt similarity index 100% rename from racket/lib/collects/compiler/private/mach-o.rkt rename to racket/collects/compiler/private/mach-o.rkt diff --git a/racket/lib/collects/compiler/private/windlldir.rkt b/racket/collects/compiler/private/windlldir.rkt similarity index 100% rename from racket/lib/collects/compiler/private/windlldir.rkt rename to racket/collects/compiler/private/windlldir.rkt diff --git a/racket/lib/collects/compiler/private/winsubsys.rkt b/racket/collects/compiler/private/winsubsys.rkt similarity index 100% rename from racket/lib/collects/compiler/private/winsubsys.rkt rename to racket/collects/compiler/private/winsubsys.rkt diff --git a/racket/lib/collects/compiler/private/winutf16.rkt b/racket/collects/compiler/private/winutf16.rkt similarity index 100% rename from racket/lib/collects/compiler/private/winutf16.rkt rename to racket/collects/compiler/private/winutf16.rkt diff --git a/racket/lib/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt similarity index 100% rename from racket/lib/collects/compiler/private/xform.rkt rename to racket/collects/compiler/private/xform.rkt diff --git a/racket/lib/collects/compiler/sig.rkt b/racket/collects/compiler/sig.rkt similarity index 100% rename from racket/lib/collects/compiler/sig.rkt rename to racket/collects/compiler/sig.rkt diff --git a/racket/lib/collects/data/bit-vector.rkt b/racket/collects/data/bit-vector.rkt similarity index 100% rename from racket/lib/collects/data/bit-vector.rkt rename to racket/collects/data/bit-vector.rkt diff --git a/racket/lib/collects/data/integer-set.rkt b/racket/collects/data/integer-set.rkt similarity index 100% rename from racket/lib/collects/data/integer-set.rkt rename to racket/collects/data/integer-set.rkt diff --git a/racket/lib/collects/data/private/count-bits-in-fixnum.rkt b/racket/collects/data/private/count-bits-in-fixnum.rkt similarity index 100% rename from racket/lib/collects/data/private/count-bits-in-fixnum.rkt rename to racket/collects/data/private/count-bits-in-fixnum.rkt diff --git a/racket/lib/collects/data/queue.rkt b/racket/collects/data/queue.rkt similarity index 100% rename from racket/lib/collects/data/queue.rkt rename to racket/collects/data/queue.rkt diff --git a/racket/lib/collects/db/base.rkt b/racket/collects/db/base.rkt similarity index 100% rename from racket/lib/collects/db/base.rkt rename to racket/collects/db/base.rkt diff --git a/racket/lib/collects/db/private/generic/common.rkt b/racket/collects/db/private/generic/common.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/common.rkt rename to racket/collects/db/private/generic/common.rkt diff --git a/racket/lib/collects/db/private/generic/connect-util.rkt b/racket/collects/db/private/generic/connect-util.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/connect-util.rkt rename to racket/collects/db/private/generic/connect-util.rkt diff --git a/racket/lib/collects/db/private/generic/dsn.rkt b/racket/collects/db/private/generic/dsn.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/dsn.rkt rename to racket/collects/db/private/generic/dsn.rkt diff --git a/racket/lib/collects/db/private/generic/functions.rkt b/racket/collects/db/private/generic/functions.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/functions.rkt rename to racket/collects/db/private/generic/functions.rkt diff --git a/racket/lib/collects/db/private/generic/interfaces.rkt b/racket/collects/db/private/generic/interfaces.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/interfaces.rkt rename to racket/collects/db/private/generic/interfaces.rkt diff --git a/racket/lib/collects/db/private/generic/place-client.rkt b/racket/collects/db/private/generic/place-client.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/place-client.rkt rename to racket/collects/db/private/generic/place-client.rkt diff --git a/racket/lib/collects/db/private/generic/place-server.rkt b/racket/collects/db/private/generic/place-server.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/place-server.rkt rename to racket/collects/db/private/generic/place-server.rkt diff --git a/racket/lib/collects/db/private/generic/prepared.rkt b/racket/collects/db/private/generic/prepared.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/prepared.rkt rename to racket/collects/db/private/generic/prepared.rkt diff --git a/racket/lib/collects/db/private/generic/sql-convert.rkt b/racket/collects/db/private/generic/sql-convert.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/sql-convert.rkt rename to racket/collects/db/private/generic/sql-convert.rkt diff --git a/racket/lib/collects/db/private/generic/sql-data.rkt b/racket/collects/db/private/generic/sql-data.rkt similarity index 100% rename from racket/lib/collects/db/private/generic/sql-data.rkt rename to racket/collects/db/private/generic/sql-data.rkt diff --git a/racket/lib/collects/db/private/sqlite3/connection.rkt b/racket/collects/db/private/sqlite3/connection.rkt similarity index 100% rename from racket/lib/collects/db/private/sqlite3/connection.rkt rename to racket/collects/db/private/sqlite3/connection.rkt diff --git a/racket/lib/collects/db/private/sqlite3/dbsystem.rkt b/racket/collects/db/private/sqlite3/dbsystem.rkt similarity index 100% rename from racket/lib/collects/db/private/sqlite3/dbsystem.rkt rename to racket/collects/db/private/sqlite3/dbsystem.rkt diff --git a/racket/lib/collects/db/private/sqlite3/ffi-constants.rkt b/racket/collects/db/private/sqlite3/ffi-constants.rkt similarity index 100% rename from racket/lib/collects/db/private/sqlite3/ffi-constants.rkt rename to racket/collects/db/private/sqlite3/ffi-constants.rkt diff --git a/racket/lib/collects/db/private/sqlite3/ffi.rkt b/racket/collects/db/private/sqlite3/ffi.rkt similarity index 100% rename from racket/lib/collects/db/private/sqlite3/ffi.rkt rename to racket/collects/db/private/sqlite3/ffi.rkt diff --git a/racket/lib/collects/db/private/sqlite3/main.rkt b/racket/collects/db/private/sqlite3/main.rkt similarity index 100% rename from racket/lib/collects/db/private/sqlite3/main.rkt rename to racket/collects/db/private/sqlite3/main.rkt diff --git a/racket/lib/collects/db/sqlite3.rkt b/racket/collects/db/sqlite3.rkt similarity index 100% rename from racket/lib/collects/db/sqlite3.rkt rename to racket/collects/db/sqlite3.rkt diff --git a/racket/lib/collects/dynext/compile-sig.rkt b/racket/collects/dynext/compile-sig.rkt similarity index 100% rename from racket/lib/collects/dynext/compile-sig.rkt rename to racket/collects/dynext/compile-sig.rkt diff --git a/racket/lib/collects/dynext/compile-unit.rkt b/racket/collects/dynext/compile-unit.rkt similarity index 100% rename from racket/lib/collects/dynext/compile-unit.rkt rename to racket/collects/dynext/compile-unit.rkt diff --git a/racket/lib/collects/dynext/compile.rkt b/racket/collects/dynext/compile.rkt similarity index 100% rename from racket/lib/collects/dynext/compile.rkt rename to racket/collects/dynext/compile.rkt diff --git a/racket/lib/collects/dynext/dynext-sig.rkt b/racket/collects/dynext/dynext-sig.rkt similarity index 100% rename from racket/lib/collects/dynext/dynext-sig.rkt rename to racket/collects/dynext/dynext-sig.rkt diff --git a/racket/lib/collects/dynext/dynext-unit.rkt b/racket/collects/dynext/dynext-unit.rkt similarity index 100% rename from racket/lib/collects/dynext/dynext-unit.rkt rename to racket/collects/dynext/dynext-unit.rkt diff --git a/racket/lib/collects/dynext/dynext.rkt b/racket/collects/dynext/dynext.rkt similarity index 100% rename from racket/lib/collects/dynext/dynext.rkt rename to racket/collects/dynext/dynext.rkt diff --git a/racket/lib/collects/dynext/file-sig.rkt b/racket/collects/dynext/file-sig.rkt similarity index 100% rename from racket/lib/collects/dynext/file-sig.rkt rename to racket/collects/dynext/file-sig.rkt diff --git a/racket/lib/collects/dynext/file-unit.rkt b/racket/collects/dynext/file-unit.rkt similarity index 100% rename from racket/lib/collects/dynext/file-unit.rkt rename to racket/collects/dynext/file-unit.rkt diff --git a/racket/lib/collects/dynext/file.rkt b/racket/collects/dynext/file.rkt similarity index 100% rename from racket/lib/collects/dynext/file.rkt rename to racket/collects/dynext/file.rkt diff --git a/racket/lib/collects/dynext/filename-version.rkt b/racket/collects/dynext/filename-version.rkt similarity index 100% rename from racket/lib/collects/dynext/filename-version.rkt rename to racket/collects/dynext/filename-version.rkt diff --git a/racket/lib/collects/dynext/link-sig.rkt b/racket/collects/dynext/link-sig.rkt similarity index 100% rename from racket/lib/collects/dynext/link-sig.rkt rename to racket/collects/dynext/link-sig.rkt diff --git a/racket/lib/collects/dynext/link-unit.rkt b/racket/collects/dynext/link-unit.rkt similarity index 100% rename from racket/lib/collects/dynext/link-unit.rkt rename to racket/collects/dynext/link-unit.rkt diff --git a/racket/lib/collects/dynext/link.rkt b/racket/collects/dynext/link.rkt similarity index 100% rename from racket/lib/collects/dynext/link.rkt rename to racket/collects/dynext/link.rkt diff --git a/racket/lib/collects/dynext/main.rkt b/racket/collects/dynext/main.rkt similarity index 100% rename from racket/lib/collects/dynext/main.rkt rename to racket/collects/dynext/main.rkt diff --git a/racket/lib/collects/dynext/private/cmdargs.rkt b/racket/collects/dynext/private/cmdargs.rkt similarity index 100% rename from racket/lib/collects/dynext/private/cmdargs.rkt rename to racket/collects/dynext/private/cmdargs.rkt diff --git a/racket/lib/collects/dynext/private/dirs.rkt b/racket/collects/dynext/private/dirs.rkt similarity index 100% rename from racket/lib/collects/dynext/private/dirs.rkt rename to racket/collects/dynext/private/dirs.rkt diff --git a/racket/lib/collects/dynext/private/stdio.rkt b/racket/collects/dynext/private/stdio.rkt similarity index 100% rename from racket/lib/collects/dynext/private/stdio.rkt rename to racket/collects/dynext/private/stdio.rkt diff --git a/racket/lib/collects/ffi/com-registry.rkt b/racket/collects/ffi/com-registry.rkt similarity index 100% rename from racket/lib/collects/ffi/com-registry.rkt rename to racket/collects/ffi/com-registry.rkt diff --git a/racket/lib/collects/ffi/com.rkt b/racket/collects/ffi/com.rkt similarity index 100% rename from racket/lib/collects/ffi/com.rkt rename to racket/collects/ffi/com.rkt diff --git a/racket/lib/collects/ffi/cvector.rkt b/racket/collects/ffi/cvector.rkt similarity index 100% rename from racket/lib/collects/ffi/cvector.rkt rename to racket/collects/ffi/cvector.rkt diff --git a/racket/lib/collects/ffi/examples/c-printf.rkt b/racket/collects/ffi/examples/c-printf.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/c-printf.rkt rename to racket/collects/ffi/examples/c-printf.rkt diff --git a/racket/lib/collects/ffi/examples/crypt.rkt b/racket/collects/ffi/examples/crypt.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/crypt.rkt rename to racket/collects/ffi/examples/crypt.rkt diff --git a/racket/lib/collects/ffi/examples/esd.rkt b/racket/collects/ffi/examples/esd.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/esd.rkt rename to racket/collects/ffi/examples/esd.rkt diff --git a/racket/lib/collects/ffi/examples/magick.rkt b/racket/collects/ffi/examples/magick.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/magick.rkt rename to racket/collects/ffi/examples/magick.rkt diff --git a/racket/lib/collects/ffi/examples/sndfile.rkt b/racket/collects/ffi/examples/sndfile.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/sndfile.rkt rename to racket/collects/ffi/examples/sndfile.rkt diff --git a/racket/lib/collects/ffi/examples/tcl.rkt b/racket/collects/ffi/examples/tcl.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/tcl.rkt rename to racket/collects/ffi/examples/tcl.rkt diff --git a/racket/lib/collects/ffi/examples/use-c-printf.rkt b/racket/collects/ffi/examples/use-c-printf.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/use-c-printf.rkt rename to racket/collects/ffi/examples/use-c-printf.rkt diff --git a/racket/lib/collects/ffi/examples/use-crypt.rkt b/racket/collects/ffi/examples/use-crypt.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/use-crypt.rkt rename to racket/collects/ffi/examples/use-crypt.rkt diff --git a/racket/lib/collects/ffi/examples/use-esd.rkt b/racket/collects/ffi/examples/use-esd.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/use-esd.rkt rename to racket/collects/ffi/examples/use-esd.rkt diff --git a/racket/lib/collects/ffi/examples/use-magick.rkt b/racket/collects/ffi/examples/use-magick.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/use-magick.rkt rename to racket/collects/ffi/examples/use-magick.rkt diff --git a/racket/lib/collects/ffi/examples/use-sndfile.rkt b/racket/collects/ffi/examples/use-sndfile.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/use-sndfile.rkt rename to racket/collects/ffi/examples/use-sndfile.rkt diff --git a/racket/lib/collects/ffi/examples/use-tcl.rkt b/racket/collects/ffi/examples/use-tcl.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/use-tcl.rkt rename to racket/collects/ffi/examples/use-tcl.rkt diff --git a/racket/lib/collects/ffi/examples/use-xmmsctrl.rkt b/racket/collects/ffi/examples/use-xmmsctrl.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/use-xmmsctrl.rkt rename to racket/collects/ffi/examples/use-xmmsctrl.rkt diff --git a/racket/lib/collects/ffi/examples/use-xosd.rkt b/racket/collects/ffi/examples/use-xosd.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/use-xosd.rkt rename to racket/collects/ffi/examples/use-xosd.rkt diff --git a/racket/lib/collects/ffi/examples/xmmsctrl.rkt b/racket/collects/ffi/examples/xmmsctrl.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/xmmsctrl.rkt rename to racket/collects/ffi/examples/xmmsctrl.rkt diff --git a/racket/lib/collects/ffi/examples/xosd.rkt b/racket/collects/ffi/examples/xosd.rkt similarity index 100% rename from racket/lib/collects/ffi/examples/xosd.rkt rename to racket/collects/ffi/examples/xosd.rkt diff --git a/racket/lib/collects/ffi/file.rkt b/racket/collects/ffi/file.rkt similarity index 100% rename from racket/lib/collects/ffi/file.rkt rename to racket/collects/ffi/file.rkt diff --git a/racket/lib/collects/ffi/info.rkt b/racket/collects/ffi/info.rkt similarity index 100% rename from racket/lib/collects/ffi/info.rkt rename to racket/collects/ffi/info.rkt diff --git a/racket/lib/collects/ffi/objc.rkt b/racket/collects/ffi/objc.rkt similarity index 100% rename from racket/lib/collects/ffi/objc.rkt rename to racket/collects/ffi/objc.rkt diff --git a/racket/lib/collects/ffi/unsafe.rkt b/racket/collects/ffi/unsafe.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe.rkt rename to racket/collects/ffi/unsafe.rkt diff --git a/racket/lib/collects/ffi/unsafe/alloc.rkt b/racket/collects/ffi/unsafe/alloc.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/alloc.rkt rename to racket/collects/ffi/unsafe/alloc.rkt diff --git a/racket/lib/collects/ffi/unsafe/atomic.rkt b/racket/collects/ffi/unsafe/atomic.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/atomic.rkt rename to racket/collects/ffi/unsafe/atomic.rkt diff --git a/racket/lib/collects/ffi/unsafe/com.rkt b/racket/collects/ffi/unsafe/com.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/com.rkt rename to racket/collects/ffi/unsafe/com.rkt diff --git a/racket/lib/collects/ffi/unsafe/custodian.rkt b/racket/collects/ffi/unsafe/custodian.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/custodian.rkt rename to racket/collects/ffi/unsafe/custodian.rkt diff --git a/racket/lib/collects/ffi/unsafe/cvector.rkt b/racket/collects/ffi/unsafe/cvector.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/cvector.rkt rename to racket/collects/ffi/unsafe/cvector.rkt diff --git a/racket/lib/collects/ffi/unsafe/define.rkt b/racket/collects/ffi/unsafe/define.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/define.rkt rename to racket/collects/ffi/unsafe/define.rkt diff --git a/racket/lib/collects/ffi/unsafe/nsalloc.rkt b/racket/collects/ffi/unsafe/nsalloc.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/nsalloc.rkt rename to racket/collects/ffi/unsafe/nsalloc.rkt diff --git a/racket/lib/collects/ffi/unsafe/nsstring.rkt b/racket/collects/ffi/unsafe/nsstring.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/nsstring.rkt rename to racket/collects/ffi/unsafe/nsstring.rkt diff --git a/racket/lib/collects/ffi/unsafe/objc.rkt b/racket/collects/ffi/unsafe/objc.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/objc.rkt rename to racket/collects/ffi/unsafe/objc.rkt diff --git a/racket/lib/collects/ffi/unsafe/private/win32.rkt b/racket/collects/ffi/unsafe/private/win32.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/private/win32.rkt rename to racket/collects/ffi/unsafe/private/win32.rkt diff --git a/racket/lib/collects/ffi/unsafe/try-atomic.rkt b/racket/collects/ffi/unsafe/try-atomic.rkt similarity index 100% rename from racket/lib/collects/ffi/unsafe/try-atomic.rkt rename to racket/collects/ffi/unsafe/try-atomic.rkt diff --git a/racket/lib/collects/ffi/vector.rkt b/racket/collects/ffi/vector.rkt similarity index 100% rename from racket/lib/collects/ffi/vector.rkt rename to racket/collects/ffi/vector.rkt diff --git a/racket/lib/collects/ffi/winapi.rkt b/racket/collects/ffi/winapi.rkt similarity index 100% rename from racket/lib/collects/ffi/winapi.rkt rename to racket/collects/ffi/winapi.rkt diff --git a/racket/lib/collects/file/convertible.rkt b/racket/collects/file/convertible.rkt similarity index 100% rename from racket/lib/collects/file/convertible.rkt rename to racket/collects/file/convertible.rkt diff --git a/racket/lib/collects/file/gunzip.rkt b/racket/collects/file/gunzip.rkt similarity index 100% rename from racket/lib/collects/file/gunzip.rkt rename to racket/collects/file/gunzip.rkt diff --git a/racket/lib/collects/file/gzip.rkt b/racket/collects/file/gzip.rkt similarity index 100% rename from racket/lib/collects/file/gzip.rkt rename to racket/collects/file/gzip.rkt diff --git a/racket/lib/collects/file/ico.rkt b/racket/collects/file/ico.rkt similarity index 100% rename from racket/lib/collects/file/ico.rkt rename to racket/collects/file/ico.rkt diff --git a/racket/lib/collects/file/md5.rkt b/racket/collects/file/md5.rkt similarity index 100% rename from racket/lib/collects/file/md5.rkt rename to racket/collects/file/md5.rkt diff --git a/racket/lib/collects/file/private/octree-quantize.rkt b/racket/collects/file/private/octree-quantize.rkt similarity index 100% rename from racket/lib/collects/file/private/octree-quantize.rkt rename to racket/collects/file/private/octree-quantize.rkt diff --git a/racket/lib/collects/file/private/strip-prefix.rkt b/racket/collects/file/private/strip-prefix.rkt similarity index 100% rename from racket/lib/collects/file/private/strip-prefix.rkt rename to racket/collects/file/private/strip-prefix.rkt diff --git a/racket/lib/collects/file/resource.rkt b/racket/collects/file/resource.rkt similarity index 100% rename from racket/lib/collects/file/resource.rkt rename to racket/collects/file/resource.rkt diff --git a/racket/lib/collects/file/sha1.rkt b/racket/collects/file/sha1.rkt similarity index 100% rename from racket/lib/collects/file/sha1.rkt rename to racket/collects/file/sha1.rkt diff --git a/racket/lib/collects/file/tar.rkt b/racket/collects/file/tar.rkt similarity index 100% rename from racket/lib/collects/file/tar.rkt rename to racket/collects/file/tar.rkt diff --git a/racket/lib/collects/file/untar.rkt b/racket/collects/file/untar.rkt similarity index 100% rename from racket/lib/collects/file/untar.rkt rename to racket/collects/file/untar.rkt diff --git a/racket/lib/collects/file/untgz.rkt b/racket/collects/file/untgz.rkt similarity index 100% rename from racket/lib/collects/file/untgz.rkt rename to racket/collects/file/untgz.rkt diff --git a/racket/lib/collects/file/unzip.rkt b/racket/collects/file/unzip.rkt similarity index 100% rename from racket/lib/collects/file/unzip.rkt rename to racket/collects/file/unzip.rkt diff --git a/racket/lib/collects/file/zip.rkt b/racket/collects/file/zip.rkt similarity index 100% rename from racket/lib/collects/file/zip.rkt rename to racket/collects/file/zip.rkt diff --git a/racket/lib/collects/info/main.rkt b/racket/collects/info/main.rkt similarity index 100% rename from racket/lib/collects/info/main.rkt rename to racket/collects/info/main.rkt diff --git a/racket/lib/collects/json/main.rkt b/racket/collects/json/main.rkt similarity index 100% rename from racket/lib/collects/json/main.rkt rename to racket/collects/json/main.rkt diff --git a/racket/lib/collects/launcher/.gitignore b/racket/collects/launcher/.gitignore similarity index 100% rename from racket/lib/collects/launcher/.gitignore rename to racket/collects/launcher/.gitignore diff --git a/racket/lib/collects/launcher/info.rkt b/racket/collects/launcher/info.rkt similarity index 100% rename from racket/lib/collects/launcher/info.rkt rename to racket/collects/launcher/info.rkt diff --git a/racket/lib/collects/launcher/launcher-sig.rkt b/racket/collects/launcher/launcher-sig.rkt similarity index 100% rename from racket/lib/collects/launcher/launcher-sig.rkt rename to racket/collects/launcher/launcher-sig.rkt diff --git a/racket/lib/collects/launcher/launcher-unit.rkt b/racket/collects/launcher/launcher-unit.rkt similarity index 100% rename from racket/lib/collects/launcher/launcher-unit.rkt rename to racket/collects/launcher/launcher-unit.rkt diff --git a/racket/lib/collects/launcher/launcher.rkt b/racket/collects/launcher/launcher.rkt similarity index 100% rename from racket/lib/collects/launcher/launcher.rkt rename to racket/collects/launcher/launcher.rkt diff --git a/racket/lib/collects/launcher/main.rkt b/racket/collects/launcher/main.rkt similarity index 100% rename from racket/lib/collects/launcher/main.rkt rename to racket/collects/launcher/main.rkt diff --git a/racket/lib/collects/net/base64.rkt b/racket/collects/net/base64.rkt similarity index 100% rename from racket/lib/collects/net/base64.rkt rename to racket/collects/net/base64.rkt diff --git a/racket/lib/collects/net/head.rkt b/racket/collects/net/head.rkt similarity index 100% rename from racket/lib/collects/net/head.rkt rename to racket/collects/net/head.rkt diff --git a/racket/lib/collects/net/uri-codec.rkt b/racket/collects/net/uri-codec.rkt similarity index 100% rename from racket/lib/collects/net/uri-codec.rkt rename to racket/collects/net/uri-codec.rkt diff --git a/racket/lib/collects/net/url-connect.rkt b/racket/collects/net/url-connect.rkt similarity index 100% rename from racket/lib/collects/net/url-connect.rkt rename to racket/collects/net/url-connect.rkt diff --git a/racket/lib/collects/net/url-structs.rkt b/racket/collects/net/url-structs.rkt similarity index 100% rename from racket/lib/collects/net/url-structs.rkt rename to racket/collects/net/url-structs.rkt diff --git a/racket/lib/collects/net/url.rkt b/racket/collects/net/url.rkt similarity index 100% rename from racket/lib/collects/net/url.rkt rename to racket/collects/net/url.rkt diff --git a/racket/lib/collects/openssl/libcrypto.rkt b/racket/collects/openssl/libcrypto.rkt similarity index 100% rename from racket/lib/collects/openssl/libcrypto.rkt rename to racket/collects/openssl/libcrypto.rkt diff --git a/racket/lib/collects/openssl/libssl.rkt b/racket/collects/openssl/libssl.rkt similarity index 100% rename from racket/lib/collects/openssl/libssl.rkt rename to racket/collects/openssl/libssl.rkt diff --git a/racket/lib/collects/openssl/main.rkt b/racket/collects/openssl/main.rkt similarity index 100% rename from racket/lib/collects/openssl/main.rkt rename to racket/collects/openssl/main.rkt diff --git a/racket/lib/collects/openssl/mzssl.rkt b/racket/collects/openssl/mzssl.rkt similarity index 100% rename from racket/lib/collects/openssl/mzssl.rkt rename to racket/collects/openssl/mzssl.rkt diff --git a/racket/lib/collects/openssl/openssl.rkt b/racket/collects/openssl/openssl.rkt similarity index 100% rename from racket/lib/collects/openssl/openssl.rkt rename to racket/collects/openssl/openssl.rkt diff --git a/racket/lib/collects/openssl/private/add-cert.rkt b/racket/collects/openssl/private/add-cert.rkt similarity index 100% rename from racket/lib/collects/openssl/private/add-cert.rkt rename to racket/collects/openssl/private/add-cert.rkt diff --git a/racket/lib/collects/openssl/private/macosx.rkt b/racket/collects/openssl/private/macosx.rkt similarity index 100% rename from racket/lib/collects/openssl/private/macosx.rkt rename to racket/collects/openssl/private/macosx.rkt diff --git a/racket/lib/collects/openssl/private/win32.rkt b/racket/collects/openssl/private/win32.rkt similarity index 100% rename from racket/lib/collects/openssl/private/win32.rkt rename to racket/collects/openssl/private/win32.rkt diff --git a/racket/lib/collects/openssl/sha1.rkt b/racket/collects/openssl/sha1.rkt similarity index 100% rename from racket/lib/collects/openssl/sha1.rkt rename to racket/collects/openssl/sha1.rkt diff --git a/racket/lib/collects/openssl/test.pem b/racket/collects/openssl/test.pem similarity index 100% rename from racket/lib/collects/openssl/test.pem rename to racket/collects/openssl/test.pem diff --git a/racket/lib/collects/pkg/commands.rkt b/racket/collects/pkg/commands.rkt similarity index 100% rename from racket/lib/collects/pkg/commands.rkt rename to racket/collects/pkg/commands.rkt diff --git a/racket/lib/collects/pkg/db.rkt b/racket/collects/pkg/db.rkt similarity index 100% rename from racket/lib/collects/pkg/db.rkt rename to racket/collects/pkg/db.rkt diff --git a/racket/lib/collects/pkg/info.rkt b/racket/collects/pkg/info.rkt similarity index 100% rename from racket/lib/collects/pkg/info.rkt rename to racket/collects/pkg/info.rkt diff --git a/racket/lib/collects/pkg/lib.rkt b/racket/collects/pkg/lib.rkt similarity index 99% rename from racket/lib/collects/pkg/lib.rkt rename to racket/collects/pkg/lib.rkt index 29493677df..1ac38e73f3 100644 --- a/racket/lib/collects/pkg/lib.rkt +++ b/racket/collects/pkg/lib.rkt @@ -2191,7 +2191,7 @@ (define default (db:current-pkg-catalog-file)) (if (file-exists? default) default - (let ([installation (build-path (find-lib-dir) "pkgs" (file-name-from-path default))]) + (let ([installation (build-path (find-share-dir) "pkgs" (file-name-from-path default))]) (if (file-exists? installation) installation default)))) diff --git a/racket/lib/collects/pkg/main.rkt b/racket/collects/pkg/main.rkt similarity index 100% rename from racket/lib/collects/pkg/main.rkt rename to racket/collects/pkg/main.rkt diff --git a/racket/lib/collects/pkg/name.rkt b/racket/collects/pkg/name.rkt similarity index 100% rename from racket/lib/collects/pkg/name.rkt rename to racket/collects/pkg/name.rkt diff --git a/racket/lib/collects/pkg/path.rkt b/racket/collects/pkg/path.rkt similarity index 100% rename from racket/lib/collects/pkg/path.rkt rename to racket/collects/pkg/path.rkt diff --git a/racket/lib/collects/pkg/raco.rkt b/racket/collects/pkg/raco.rkt similarity index 100% rename from racket/lib/collects/pkg/raco.rkt rename to racket/collects/pkg/raco.rkt diff --git a/racket/lib/collects/pkg/strip.rkt b/racket/collects/pkg/strip.rkt similarity index 99% rename from racket/lib/collects/pkg/strip.rkt rename to racket/collects/pkg/strip.rkt index 1e57518ba4..c01530806d 100644 --- a/racket/lib/collects/pkg/strip.rkt +++ b/racket/collects/pkg/strip.rkt @@ -222,6 +222,8 @@ [`(define build-deps . ,v) #f] [`(define copy-foreign-libs . ,v) `(define move-foreign-libs . ,v)] + [`(define copy-shared-files . ,v) + `(define move-shared-files . ,v)] [`(define copy-man-pages . ,v) `(define move-man-pages . ,v)] [_ defn])) diff --git a/racket/lib/collects/pkg/util.rkt b/racket/collects/pkg/util.rkt similarity index 100% rename from racket/lib/collects/pkg/util.rkt rename to racket/collects/pkg/util.rkt diff --git a/racket/lib/collects/planet/cachepath.rkt b/racket/collects/planet/cachepath.rkt similarity index 100% rename from racket/lib/collects/planet/cachepath.rkt rename to racket/collects/planet/cachepath.rkt diff --git a/racket/lib/collects/planet/config.rkt b/racket/collects/planet/config.rkt similarity index 100% rename from racket/lib/collects/planet/config.rkt rename to racket/collects/planet/config.rkt diff --git a/racket/lib/collects/planet/planet-archives.rkt b/racket/collects/planet/planet-archives.rkt similarity index 100% rename from racket/lib/collects/planet/planet-archives.rkt rename to racket/collects/planet/planet-archives.rkt diff --git a/racket/lib/collects/planet/private/command.rkt b/racket/collects/planet/private/command.rkt similarity index 100% rename from racket/lib/collects/planet/private/command.rkt rename to racket/collects/planet/private/command.rkt diff --git a/racket/lib/collects/planet/private/data.rkt b/racket/collects/planet/private/data.rkt similarity index 100% rename from racket/lib/collects/planet/private/data.rkt rename to racket/collects/planet/private/data.rkt diff --git a/racket/lib/collects/planet/private/define-config.rkt b/racket/collects/planet/private/define-config.rkt similarity index 100% rename from racket/lib/collects/planet/private/define-config.rkt rename to racket/collects/planet/private/define-config.rkt diff --git a/racket/lib/collects/planet/private/linkage.rkt b/racket/collects/planet/private/linkage.rkt similarity index 100% rename from racket/lib/collects/planet/private/linkage.rkt rename to racket/collects/planet/private/linkage.rkt diff --git a/racket/lib/collects/planet/private/parsereq.rkt b/racket/collects/planet/private/parsereq.rkt similarity index 100% rename from racket/lib/collects/planet/private/parsereq.rkt rename to racket/collects/planet/private/parsereq.rkt diff --git a/racket/lib/collects/planet/private/planet-shared.rkt b/racket/collects/planet/private/planet-shared.rkt similarity index 100% rename from racket/lib/collects/planet/private/planet-shared.rkt rename to racket/collects/planet/private/planet-shared.rkt diff --git a/racket/lib/collects/planet/private/prefix-dispatcher.rkt b/racket/collects/planet/private/prefix-dispatcher.rkt similarity index 100% rename from racket/lib/collects/planet/private/prefix-dispatcher.rkt rename to racket/collects/planet/private/prefix-dispatcher.rkt diff --git a/racket/lib/collects/planet/private/resolver.rkt b/racket/collects/planet/private/resolver.rkt similarity index 100% rename from racket/lib/collects/planet/private/resolver.rkt rename to racket/collects/planet/private/resolver.rkt diff --git a/racket/lib/collects/planet/private/short-syntax-helpers.rkt b/racket/collects/planet/private/short-syntax-helpers.rkt similarity index 100% rename from racket/lib/collects/planet/private/short-syntax-helpers.rkt rename to racket/collects/planet/private/short-syntax-helpers.rkt diff --git a/racket/lib/collects/planet/resolver.rkt b/racket/collects/planet/resolver.rkt similarity index 100% rename from racket/lib/collects/planet/resolver.rkt rename to racket/collects/planet/resolver.rkt diff --git a/racket/lib/collects/planet/terse-info.rkt b/racket/collects/planet/terse-info.rkt similarity index 100% rename from racket/lib/collects/planet/terse-info.rkt rename to racket/collects/planet/terse-info.rkt diff --git a/racket/lib/collects/racket/HISTORY.txt b/racket/collects/racket/HISTORY.txt similarity index 100% rename from racket/lib/collects/racket/HISTORY.txt rename to racket/collects/racket/HISTORY.txt diff --git a/racket/lib/collects/racket/MzScheme_200.txt b/racket/collects/racket/MzScheme_200.txt similarity index 100% rename from racket/lib/collects/racket/MzScheme_200.txt rename to racket/collects/racket/MzScheme_200.txt diff --git a/racket/lib/collects/racket/MzScheme_300.txt b/racket/collects/racket/MzScheme_300.txt similarity index 100% rename from racket/lib/collects/racket/MzScheme_300.txt rename to racket/collects/racket/MzScheme_300.txt diff --git a/racket/lib/collects/racket/MzScheme_4.txt b/racket/collects/racket/MzScheme_4.txt similarity index 100% rename from racket/lib/collects/racket/MzScheme_4.txt rename to racket/collects/racket/MzScheme_4.txt diff --git a/racket/lib/collects/racket/Racket_5.txt b/racket/collects/racket/Racket_5.txt similarity index 100% rename from racket/lib/collects/racket/Racket_5.txt rename to racket/collects/racket/Racket_5.txt diff --git a/racket/lib/collects/racket/async-channel.rkt b/racket/collects/racket/async-channel.rkt similarity index 100% rename from racket/lib/collects/racket/async-channel.rkt rename to racket/collects/racket/async-channel.rkt diff --git a/racket/lib/collects/racket/base.rkt b/racket/collects/racket/base.rkt similarity index 100% rename from racket/lib/collects/racket/base.rkt rename to racket/collects/racket/base.rkt diff --git a/racket/lib/collects/racket/base/lang/reader.rkt b/racket/collects/racket/base/lang/reader.rkt similarity index 100% rename from racket/lib/collects/racket/base/lang/reader.rkt rename to racket/collects/racket/base/lang/reader.rkt diff --git a/racket/lib/collects/racket/block.rkt b/racket/collects/racket/block.rkt similarity index 100% rename from racket/lib/collects/racket/block.rkt rename to racket/collects/racket/block.rkt diff --git a/racket/lib/collects/racket/bool.rkt b/racket/collects/racket/bool.rkt similarity index 100% rename from racket/lib/collects/racket/bool.rkt rename to racket/collects/racket/bool.rkt diff --git a/racket/lib/collects/racket/bytes.rkt b/racket/collects/racket/bytes.rkt similarity index 100% rename from racket/lib/collects/racket/bytes.rkt rename to racket/collects/racket/bytes.rkt diff --git a/racket/lib/collects/racket/class.rkt b/racket/collects/racket/class.rkt similarity index 100% rename from racket/lib/collects/racket/class.rkt rename to racket/collects/racket/class.rkt diff --git a/racket/lib/collects/racket/cmdline.rkt b/racket/collects/racket/cmdline.rkt similarity index 100% rename from racket/lib/collects/racket/cmdline.rkt rename to racket/collects/racket/cmdline.rkt diff --git a/racket/lib/collects/racket/contract.rkt b/racket/collects/racket/contract.rkt similarity index 100% rename from racket/lib/collects/racket/contract.rkt rename to racket/collects/racket/contract.rkt diff --git a/racket/lib/collects/racket/contract/base.rkt b/racket/collects/racket/contract/base.rkt similarity index 100% rename from racket/lib/collects/racket/contract/base.rkt rename to racket/collects/racket/contract/base.rkt diff --git a/racket/lib/collects/racket/contract/combinator.rkt b/racket/collects/racket/contract/combinator.rkt similarity index 100% rename from racket/lib/collects/racket/contract/combinator.rkt rename to racket/collects/racket/contract/combinator.rkt diff --git a/racket/lib/collects/racket/contract/parametric.rkt b/racket/collects/racket/contract/parametric.rkt similarity index 100% rename from racket/lib/collects/racket/contract/parametric.rkt rename to racket/collects/racket/contract/parametric.rkt diff --git a/racket/lib/collects/racket/contract/private/arr-i-parse.rkt b/racket/collects/racket/contract/private/arr-i-parse.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/arr-i-parse.rkt rename to racket/collects/racket/contract/private/arr-i-parse.rkt diff --git a/racket/lib/collects/racket/contract/private/arr-i.rkt b/racket/collects/racket/contract/private/arr-i.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/arr-i.rkt rename to racket/collects/racket/contract/private/arr-i.rkt diff --git a/racket/lib/collects/racket/contract/private/arr-util.rkt b/racket/collects/racket/contract/private/arr-util.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/arr-util.rkt rename to racket/collects/racket/contract/private/arr-util.rkt diff --git a/racket/lib/collects/racket/contract/private/arrow.rkt b/racket/collects/racket/contract/private/arrow.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/arrow.rkt rename to racket/collects/racket/contract/private/arrow.rkt diff --git a/racket/lib/collects/racket/contract/private/base.rkt b/racket/collects/racket/contract/private/base.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/base.rkt rename to racket/collects/racket/contract/private/base.rkt diff --git a/racket/lib/collects/racket/contract/private/basic-opters.rkt b/racket/collects/racket/contract/private/basic-opters.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/basic-opters.rkt rename to racket/collects/racket/contract/private/basic-opters.rkt diff --git a/racket/lib/collects/racket/contract/private/blame.rkt b/racket/collects/racket/contract/private/blame.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/blame.rkt rename to racket/collects/racket/contract/private/blame.rkt diff --git a/racket/lib/collects/racket/contract/private/box.rkt b/racket/collects/racket/contract/private/box.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/box.rkt rename to racket/collects/racket/contract/private/box.rkt diff --git a/racket/lib/collects/racket/contract/private/ds-helpers.rkt b/racket/collects/racket/contract/private/ds-helpers.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/ds-helpers.rkt rename to racket/collects/racket/contract/private/ds-helpers.rkt diff --git a/racket/lib/collects/racket/contract/private/ds.rkt b/racket/collects/racket/contract/private/ds.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/ds.rkt rename to racket/collects/racket/contract/private/ds.rkt diff --git a/racket/lib/collects/racket/contract/private/env.rkt b/racket/collects/racket/contract/private/env.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/env.rkt rename to racket/collects/racket/contract/private/env.rkt diff --git a/racket/lib/collects/racket/contract/private/exists.rkt b/racket/collects/racket/contract/private/exists.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/exists.rkt rename to racket/collects/racket/contract/private/exists.rkt diff --git a/racket/lib/collects/racket/contract/private/generate-base.rkt b/racket/collects/racket/contract/private/generate-base.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/generate-base.rkt rename to racket/collects/racket/contract/private/generate-base.rkt diff --git a/racket/lib/collects/racket/contract/private/generate.rkt b/racket/collects/racket/contract/private/generate.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/generate.rkt rename to racket/collects/racket/contract/private/generate.rkt diff --git a/racket/lib/collects/racket/contract/private/guts.rkt b/racket/collects/racket/contract/private/guts.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/guts.rkt rename to racket/collects/racket/contract/private/guts.rkt diff --git a/racket/lib/collects/racket/contract/private/hash.rkt b/racket/collects/racket/contract/private/hash.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/hash.rkt rename to racket/collects/racket/contract/private/hash.rkt diff --git a/racket/lib/collects/racket/contract/private/helpers.rkt b/racket/collects/racket/contract/private/helpers.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/helpers.rkt rename to racket/collects/racket/contract/private/helpers.rkt diff --git a/racket/lib/collects/racket/contract/private/legacy.rkt b/racket/collects/racket/contract/private/legacy.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/legacy.rkt rename to racket/collects/racket/contract/private/legacy.rkt diff --git a/racket/lib/collects/racket/contract/private/misc.rkt b/racket/collects/racket/contract/private/misc.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/misc.rkt rename to racket/collects/racket/contract/private/misc.rkt diff --git a/racket/lib/collects/racket/contract/private/object.rkt b/racket/collects/racket/contract/private/object.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/object.rkt rename to racket/collects/racket/contract/private/object.rkt diff --git a/racket/lib/collects/racket/contract/private/opt-guts.rkt b/racket/collects/racket/contract/private/opt-guts.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/opt-guts.rkt rename to racket/collects/racket/contract/private/opt-guts.rkt diff --git a/racket/lib/collects/racket/contract/private/opt.rkt b/racket/collects/racket/contract/private/opt.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/opt.rkt rename to racket/collects/racket/contract/private/opt.rkt diff --git a/racket/lib/collects/racket/contract/private/opters.rkt b/racket/collects/racket/contract/private/opters.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/opters.rkt rename to racket/collects/racket/contract/private/opters.rkt diff --git a/racket/lib/collects/racket/contract/private/out.rkt b/racket/collects/racket/contract/private/out.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/out.rkt rename to racket/collects/racket/contract/private/out.rkt diff --git a/racket/lib/collects/racket/contract/private/parametric.rkt b/racket/collects/racket/contract/private/parametric.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/parametric.rkt rename to racket/collects/racket/contract/private/parametric.rkt diff --git a/racket/lib/collects/racket/contract/private/prop.rkt b/racket/collects/racket/contract/private/prop.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/prop.rkt rename to racket/collects/racket/contract/private/prop.rkt diff --git a/racket/lib/collects/racket/contract/private/provide.rkt b/racket/collects/racket/contract/private/provide.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/provide.rkt rename to racket/collects/racket/contract/private/provide.rkt diff --git a/racket/lib/collects/racket/contract/private/rand.rkt b/racket/collects/racket/contract/private/rand.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/rand.rkt rename to racket/collects/racket/contract/private/rand.rkt diff --git a/racket/lib/collects/racket/contract/private/struct-dc.rkt b/racket/collects/racket/contract/private/struct-dc.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/struct-dc.rkt rename to racket/collects/racket/contract/private/struct-dc.rkt diff --git a/racket/lib/collects/racket/contract/private/struct-prop.rkt b/racket/collects/racket/contract/private/struct-prop.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/struct-prop.rkt rename to racket/collects/racket/contract/private/struct-prop.rkt diff --git a/racket/lib/collects/racket/contract/private/top-sort.rkt b/racket/collects/racket/contract/private/top-sort.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/top-sort.rkt rename to racket/collects/racket/contract/private/top-sort.rkt diff --git a/racket/lib/collects/racket/contract/private/vector.rkt b/racket/collects/racket/contract/private/vector.rkt similarity index 100% rename from racket/lib/collects/racket/contract/private/vector.rkt rename to racket/collects/racket/contract/private/vector.rkt diff --git a/racket/lib/collects/racket/contract/region.rkt b/racket/collects/racket/contract/region.rkt similarity index 100% rename from racket/lib/collects/racket/contract/region.rkt rename to racket/collects/racket/contract/region.rkt diff --git a/racket/lib/collects/racket/control.rkt b/racket/collects/racket/control.rkt similarity index 100% rename from racket/lib/collects/racket/control.rkt rename to racket/collects/racket/control.rkt diff --git a/racket/lib/collects/racket/date.rkt b/racket/collects/racket/date.rkt similarity index 100% rename from racket/lib/collects/racket/date.rkt rename to racket/collects/racket/date.rkt diff --git a/racket/lib/collects/racket/dict.rkt b/racket/collects/racket/dict.rkt similarity index 100% rename from racket/lib/collects/racket/dict.rkt rename to racket/collects/racket/dict.rkt diff --git a/racket/lib/collects/racket/engine.rkt b/racket/collects/racket/engine.rkt similarity index 100% rename from racket/lib/collects/racket/engine.rkt rename to racket/collects/racket/engine.rkt diff --git a/racket/lib/collects/racket/enter.rkt b/racket/collects/racket/enter.rkt similarity index 100% rename from racket/lib/collects/racket/enter.rkt rename to racket/collects/racket/enter.rkt diff --git a/racket/lib/collects/racket/extflonum.rkt b/racket/collects/racket/extflonum.rkt similarity index 100% rename from racket/lib/collects/racket/extflonum.rkt rename to racket/collects/racket/extflonum.rkt diff --git a/racket/lib/collects/racket/fasl.rkt b/racket/collects/racket/fasl.rkt similarity index 100% rename from racket/lib/collects/racket/fasl.rkt rename to racket/collects/racket/fasl.rkt diff --git a/racket/lib/collects/racket/file.rkt b/racket/collects/racket/file.rkt similarity index 100% rename from racket/lib/collects/racket/file.rkt rename to racket/collects/racket/file.rkt diff --git a/racket/lib/collects/racket/fixnum.rkt b/racket/collects/racket/fixnum.rkt similarity index 100% rename from racket/lib/collects/racket/fixnum.rkt rename to racket/collects/racket/fixnum.rkt diff --git a/racket/lib/collects/racket/flonum.rkt b/racket/collects/racket/flonum.rkt similarity index 100% rename from racket/lib/collects/racket/flonum.rkt rename to racket/collects/racket/flonum.rkt diff --git a/racket/lib/collects/racket/format.rkt b/racket/collects/racket/format.rkt similarity index 100% rename from racket/lib/collects/racket/format.rkt rename to racket/collects/racket/format.rkt diff --git a/racket/lib/collects/racket/function.rkt b/racket/collects/racket/function.rkt similarity index 100% rename from racket/lib/collects/racket/function.rkt rename to racket/collects/racket/function.rkt diff --git a/racket/lib/collects/racket/future.rkt b/racket/collects/racket/future.rkt similarity index 100% rename from racket/lib/collects/racket/future.rkt rename to racket/collects/racket/future.rkt diff --git a/racket/lib/collects/racket/generator.rkt b/racket/collects/racket/generator.rkt similarity index 100% rename from racket/lib/collects/racket/generator.rkt rename to racket/collects/racket/generator.rkt diff --git a/racket/lib/collects/racket/generic.rkt b/racket/collects/racket/generic.rkt similarity index 100% rename from racket/lib/collects/racket/generic.rkt rename to racket/collects/racket/generic.rkt diff --git a/racket/lib/collects/racket/gui/dynamic.rkt b/racket/collects/racket/gui/dynamic.rkt similarity index 100% rename from racket/lib/collects/racket/gui/dynamic.rkt rename to racket/collects/racket/gui/dynamic.rkt diff --git a/racket/lib/collects/racket/help.rkt b/racket/collects/racket/help.rkt similarity index 100% rename from racket/lib/collects/racket/help.rkt rename to racket/collects/racket/help.rkt diff --git a/racket/lib/collects/racket/include.rkt b/racket/collects/racket/include.rkt similarity index 100% rename from racket/lib/collects/racket/include.rkt rename to racket/collects/racket/include.rkt diff --git a/racket/lib/collects/racket/info.rkt b/racket/collects/racket/info.rkt similarity index 100% rename from racket/lib/collects/racket/info.rkt rename to racket/collects/racket/info.rkt diff --git a/racket/lib/collects/racket/init.rkt b/racket/collects/racket/init.rkt similarity index 100% rename from racket/lib/collects/racket/init.rkt rename to racket/collects/racket/init.rkt diff --git a/racket/lib/collects/racket/kernel.rkt b/racket/collects/racket/kernel.rkt similarity index 100% rename from racket/lib/collects/racket/kernel.rkt rename to racket/collects/racket/kernel.rkt diff --git a/racket/lib/collects/racket/kernel/init.rkt b/racket/collects/racket/kernel/init.rkt similarity index 100% rename from racket/lib/collects/racket/kernel/init.rkt rename to racket/collects/racket/kernel/init.rkt diff --git a/racket/lib/collects/racket/keyword-transform.rkt b/racket/collects/racket/keyword-transform.rkt similarity index 100% rename from racket/lib/collects/racket/keyword-transform.rkt rename to racket/collects/racket/keyword-transform.rkt diff --git a/racket/lib/collects/racket/lang/reader.rkt b/racket/collects/racket/lang/reader.rkt similarity index 100% rename from racket/lib/collects/racket/lang/reader.rkt rename to racket/collects/racket/lang/reader.rkt diff --git a/racket/lib/collects/racket/language-info.rkt b/racket/collects/racket/language-info.rkt similarity index 100% rename from racket/lib/collects/racket/language-info.rkt rename to racket/collects/racket/language-info.rkt diff --git a/racket/lib/collects/racket/lazy-require.rkt b/racket/collects/racket/lazy-require.rkt similarity index 100% rename from racket/lib/collects/racket/lazy-require.rkt rename to racket/collects/racket/lazy-require.rkt diff --git a/racket/lib/collects/racket/list.rkt b/racket/collects/racket/list.rkt similarity index 100% rename from racket/lib/collects/racket/list.rkt rename to racket/collects/racket/list.rkt diff --git a/racket/lib/collects/racket/load.rkt b/racket/collects/racket/load.rkt similarity index 100% rename from racket/lib/collects/racket/load.rkt rename to racket/collects/racket/load.rkt diff --git a/racket/lib/collects/racket/load/lang/reader.rkt b/racket/collects/racket/load/lang/reader.rkt similarity index 100% rename from racket/lib/collects/racket/load/lang/reader.rkt rename to racket/collects/racket/load/lang/reader.rkt diff --git a/racket/lib/collects/racket/local.rkt b/racket/collects/racket/local.rkt similarity index 100% rename from racket/lib/collects/racket/local.rkt rename to racket/collects/racket/local.rkt diff --git a/racket/lib/collects/racket/main.rkt b/racket/collects/racket/main.rkt similarity index 100% rename from racket/lib/collects/racket/main.rkt rename to racket/collects/racket/main.rkt diff --git a/racket/lib/collects/racket/match.rkt b/racket/collects/racket/match.rkt similarity index 100% rename from racket/lib/collects/racket/match.rkt rename to racket/collects/racket/match.rkt diff --git a/racket/lib/collects/racket/match/compiler.rkt b/racket/collects/racket/match/compiler.rkt similarity index 100% rename from racket/lib/collects/racket/match/compiler.rkt rename to racket/collects/racket/match/compiler.rkt diff --git a/racket/lib/collects/racket/match/define-forms.rkt b/racket/collects/racket/match/define-forms.rkt similarity index 100% rename from racket/lib/collects/racket/match/define-forms.rkt rename to racket/collects/racket/match/define-forms.rkt diff --git a/racket/lib/collects/racket/match/gen-match.rkt b/racket/collects/racket/match/gen-match.rkt similarity index 100% rename from racket/lib/collects/racket/match/gen-match.rkt rename to racket/collects/racket/match/gen-match.rkt diff --git a/racket/lib/collects/racket/match/legacy-match.rkt b/racket/collects/racket/match/legacy-match.rkt similarity index 100% rename from racket/lib/collects/racket/match/legacy-match.rkt rename to racket/collects/racket/match/legacy-match.rkt diff --git a/racket/lib/collects/racket/match/match-expander.rkt b/racket/collects/racket/match/match-expander.rkt similarity index 100% rename from racket/lib/collects/racket/match/match-expander.rkt rename to racket/collects/racket/match/match-expander.rkt diff --git a/racket/lib/collects/racket/match/match.rkt b/racket/collects/racket/match/match.rkt similarity index 100% rename from racket/lib/collects/racket/match/match.rkt rename to racket/collects/racket/match/match.rkt diff --git a/racket/lib/collects/racket/match/parse-helper.rkt b/racket/collects/racket/match/parse-helper.rkt similarity index 100% rename from racket/lib/collects/racket/match/parse-helper.rkt rename to racket/collects/racket/match/parse-helper.rkt diff --git a/racket/lib/collects/racket/match/parse-legacy.rkt b/racket/collects/racket/match/parse-legacy.rkt similarity index 100% rename from racket/lib/collects/racket/match/parse-legacy.rkt rename to racket/collects/racket/match/parse-legacy.rkt diff --git a/racket/lib/collects/racket/match/parse-quasi.rkt b/racket/collects/racket/match/parse-quasi.rkt similarity index 100% rename from racket/lib/collects/racket/match/parse-quasi.rkt rename to racket/collects/racket/match/parse-quasi.rkt diff --git a/racket/lib/collects/racket/match/parse.rkt b/racket/collects/racket/match/parse.rkt similarity index 100% rename from racket/lib/collects/racket/match/parse.rkt rename to racket/collects/racket/match/parse.rkt diff --git a/racket/lib/collects/racket/match/patterns.rkt b/racket/collects/racket/match/patterns.rkt similarity index 100% rename from racket/lib/collects/racket/match/patterns.rkt rename to racket/collects/racket/match/patterns.rkt diff --git a/racket/lib/collects/racket/match/reorder.rkt b/racket/collects/racket/match/reorder.rkt similarity index 100% rename from racket/lib/collects/racket/match/reorder.rkt rename to racket/collects/racket/match/reorder.rkt diff --git a/racket/lib/collects/racket/match/runtime.rkt b/racket/collects/racket/match/runtime.rkt similarity index 100% rename from racket/lib/collects/racket/match/runtime.rkt rename to racket/collects/racket/match/runtime.rkt diff --git a/racket/lib/collects/racket/match/split-rows.rkt b/racket/collects/racket/match/split-rows.rkt similarity index 100% rename from racket/lib/collects/racket/match/split-rows.rkt rename to racket/collects/racket/match/split-rows.rkt diff --git a/racket/lib/collects/racket/match/struct.rkt b/racket/collects/racket/match/struct.rkt similarity index 100% rename from racket/lib/collects/racket/match/struct.rkt rename to racket/collects/racket/match/struct.rkt diff --git a/racket/lib/collects/racket/match/stxtime.rkt b/racket/collects/racket/match/stxtime.rkt similarity index 100% rename from racket/lib/collects/racket/match/stxtime.rkt rename to racket/collects/racket/match/stxtime.rkt diff --git a/racket/lib/collects/racket/math.rkt b/racket/collects/racket/math.rkt similarity index 100% rename from racket/lib/collects/racket/math.rkt rename to racket/collects/racket/math.rkt diff --git a/racket/lib/collects/racket/path.rkt b/racket/collects/racket/path.rkt similarity index 100% rename from racket/lib/collects/racket/path.rkt rename to racket/collects/racket/path.rkt diff --git a/racket/lib/collects/racket/performance-hint.rkt b/racket/collects/racket/performance-hint.rkt similarity index 100% rename from racket/lib/collects/racket/performance-hint.rkt rename to racket/collects/racket/performance-hint.rkt diff --git a/racket/lib/collects/racket/place.rkt b/racket/collects/racket/place.rkt similarity index 100% rename from racket/lib/collects/racket/place.rkt rename to racket/collects/racket/place.rkt diff --git a/racket/lib/collects/racket/place/private/async-bi-channel.rkt b/racket/collects/racket/place/private/async-bi-channel.rkt similarity index 100% rename from racket/lib/collects/racket/place/private/async-bi-channel.rkt rename to racket/collects/racket/place/private/async-bi-channel.rkt diff --git a/racket/lib/collects/racket/place/private/coercion.rkt b/racket/collects/racket/place/private/coercion.rkt similarity index 100% rename from racket/lib/collects/racket/place/private/coercion.rkt rename to racket/collects/racket/place/private/coercion.rkt diff --git a/racket/lib/collects/racket/place/private/prop.rkt b/racket/collects/racket/place/private/prop.rkt similarity index 100% rename from racket/lib/collects/racket/place/private/prop.rkt rename to racket/collects/racket/place/private/prop.rkt diff --git a/racket/lib/collects/racket/place/private/th-place.rkt b/racket/collects/racket/place/private/th-place.rkt similarity index 100% rename from racket/lib/collects/racket/place/private/th-place.rkt rename to racket/collects/racket/place/private/th-place.rkt diff --git a/racket/lib/collects/racket/port.rkt b/racket/collects/racket/port.rkt similarity index 100% rename from racket/lib/collects/racket/port.rkt rename to racket/collects/racket/port.rkt diff --git a/racket/lib/collects/racket/pretty.rkt b/racket/collects/racket/pretty.rkt similarity index 100% rename from racket/lib/collects/racket/pretty.rkt rename to racket/collects/racket/pretty.rkt diff --git a/racket/lib/collects/racket/private/base.rkt b/racket/collects/racket/private/base.rkt similarity index 100% rename from racket/lib/collects/racket/private/base.rkt rename to racket/collects/racket/private/base.rkt diff --git a/racket/lib/collects/racket/private/case.rkt b/racket/collects/racket/private/case.rkt similarity index 100% rename from racket/lib/collects/racket/private/case.rkt rename to racket/collects/racket/private/case.rkt diff --git a/racket/lib/collects/racket/private/cert.rkt b/racket/collects/racket/private/cert.rkt similarity index 100% rename from racket/lib/collects/racket/private/cert.rkt rename to racket/collects/racket/private/cert.rkt diff --git a/racket/lib/collects/racket/private/class-internal.rkt b/racket/collects/racket/private/class-internal.rkt similarity index 100% rename from racket/lib/collects/racket/private/class-internal.rkt rename to racket/collects/racket/private/class-internal.rkt diff --git a/racket/lib/collects/racket/private/classidmap.rkt b/racket/collects/racket/private/classidmap.rkt similarity index 100% rename from racket/lib/collects/racket/private/classidmap.rkt rename to racket/collects/racket/private/classidmap.rkt diff --git a/racket/lib/collects/racket/private/cond.rkt b/racket/collects/racket/private/cond.rkt similarity index 100% rename from racket/lib/collects/racket/private/cond.rkt rename to racket/collects/racket/private/cond.rkt diff --git a/racket/lib/collects/racket/private/define-et-al.rkt b/racket/collects/racket/private/define-et-al.rkt similarity index 100% rename from racket/lib/collects/racket/private/define-et-al.rkt rename to racket/collects/racket/private/define-et-al.rkt diff --git a/racket/lib/collects/racket/private/define-struct.rkt b/racket/collects/racket/private/define-struct.rkt similarity index 100% rename from racket/lib/collects/racket/private/define-struct.rkt rename to racket/collects/racket/private/define-struct.rkt diff --git a/racket/lib/collects/racket/private/define.rkt b/racket/collects/racket/private/define.rkt similarity index 100% rename from racket/lib/collects/racket/private/define.rkt rename to racket/collects/racket/private/define.rkt diff --git a/racket/lib/collects/racket/private/dict.rkt b/racket/collects/racket/private/dict.rkt similarity index 100% rename from racket/lib/collects/racket/private/dict.rkt rename to racket/collects/racket/private/dict.rkt diff --git a/racket/lib/collects/racket/private/ellipses.rkt b/racket/collects/racket/private/ellipses.rkt similarity index 100% rename from racket/lib/collects/racket/private/ellipses.rkt rename to racket/collects/racket/private/ellipses.rkt diff --git a/racket/lib/collects/racket/private/for.rkt b/racket/collects/racket/private/for.rkt similarity index 100% rename from racket/lib/collects/racket/private/for.rkt rename to racket/collects/racket/private/for.rkt diff --git a/racket/lib/collects/racket/private/generic-interfaces.rkt b/racket/collects/racket/private/generic-interfaces.rkt similarity index 100% rename from racket/lib/collects/racket/private/generic-interfaces.rkt rename to racket/collects/racket/private/generic-interfaces.rkt diff --git a/racket/lib/collects/racket/private/generic-methods.rkt b/racket/collects/racket/private/generic-methods.rkt similarity index 100% rename from racket/lib/collects/racket/private/generic-methods.rkt rename to racket/collects/racket/private/generic-methods.rkt diff --git a/racket/lib/collects/racket/private/generic.rkt b/racket/collects/racket/private/generic.rkt similarity index 100% rename from racket/lib/collects/racket/private/generic.rkt rename to racket/collects/racket/private/generic.rkt diff --git a/racket/lib/collects/racket/private/hash.rkt b/racket/collects/racket/private/hash.rkt similarity index 100% rename from racket/lib/collects/racket/private/hash.rkt rename to racket/collects/racket/private/hash.rkt diff --git a/racket/lib/collects/racket/private/increader.rkt b/racket/collects/racket/private/increader.rkt similarity index 100% rename from racket/lib/collects/racket/private/increader.rkt rename to racket/collects/racket/private/increader.rkt diff --git a/racket/lib/collects/racket/private/kernstruct.rkt b/racket/collects/racket/private/kernstruct.rkt similarity index 100% rename from racket/lib/collects/racket/private/kernstruct.rkt rename to racket/collects/racket/private/kernstruct.rkt diff --git a/racket/lib/collects/racket/private/kw-file.rkt b/racket/collects/racket/private/kw-file.rkt similarity index 100% rename from racket/lib/collects/racket/private/kw-file.rkt rename to racket/collects/racket/private/kw-file.rkt diff --git a/racket/lib/collects/racket/private/kw.rkt b/racket/collects/racket/private/kw.rkt similarity index 100% rename from racket/lib/collects/racket/private/kw.rkt rename to racket/collects/racket/private/kw.rkt diff --git a/racket/lib/collects/racket/private/letstx-scheme.rkt b/racket/collects/racket/private/letstx-scheme.rkt similarity index 100% rename from racket/lib/collects/racket/private/letstx-scheme.rkt rename to racket/collects/racket/private/letstx-scheme.rkt diff --git a/racket/lib/collects/racket/private/list.rkt b/racket/collects/racket/private/list.rkt similarity index 100% rename from racket/lib/collects/racket/private/list.rkt rename to racket/collects/racket/private/list.rkt diff --git a/racket/lib/collects/racket/private/local.rkt b/racket/collects/racket/private/local.rkt similarity index 100% rename from racket/lib/collects/racket/private/local.rkt rename to racket/collects/racket/private/local.rkt diff --git a/racket/lib/collects/racket/private/logger.rkt b/racket/collects/racket/private/logger.rkt similarity index 100% rename from racket/lib/collects/racket/private/logger.rkt rename to racket/collects/racket/private/logger.rkt diff --git a/racket/lib/collects/racket/private/map.rkt b/racket/collects/racket/private/map.rkt similarity index 100% rename from racket/lib/collects/racket/private/map.rkt rename to racket/collects/racket/private/map.rkt diff --git a/racket/lib/collects/racket/private/member.rkt b/racket/collects/racket/private/member.rkt similarity index 100% rename from racket/lib/collects/racket/private/member.rkt rename to racket/collects/racket/private/member.rkt diff --git a/racket/lib/collects/racket/private/misc.rkt b/racket/collects/racket/private/misc.rkt similarity index 100% rename from racket/lib/collects/racket/private/misc.rkt rename to racket/collects/racket/private/misc.rkt diff --git a/racket/lib/collects/racket/private/modbeg.rkt b/racket/collects/racket/private/modbeg.rkt similarity index 100% rename from racket/lib/collects/racket/private/modbeg.rkt rename to racket/collects/racket/private/modbeg.rkt diff --git a/racket/lib/collects/racket/private/more-scheme.rkt b/racket/collects/racket/private/more-scheme.rkt similarity index 100% rename from racket/lib/collects/racket/private/more-scheme.rkt rename to racket/collects/racket/private/more-scheme.rkt diff --git a/racket/lib/collects/racket/private/name.rkt b/racket/collects/racket/private/name.rkt similarity index 100% rename from racket/lib/collects/racket/private/name.rkt rename to racket/collects/racket/private/name.rkt diff --git a/racket/lib/collects/racket/private/namespace.rkt b/racket/collects/racket/private/namespace.rkt similarity index 100% rename from racket/lib/collects/racket/private/namespace.rkt rename to racket/collects/racket/private/namespace.rkt diff --git a/racket/lib/collects/racket/private/norm-arity.rkt b/racket/collects/racket/private/norm-arity.rkt similarity index 100% rename from racket/lib/collects/racket/private/norm-arity.rkt rename to racket/collects/racket/private/norm-arity.rkt diff --git a/racket/lib/collects/racket/private/norm-define.rkt b/racket/collects/racket/private/norm-define.rkt similarity index 100% rename from racket/lib/collects/racket/private/norm-define.rkt rename to racket/collects/racket/private/norm-define.rkt diff --git a/racket/lib/collects/racket/private/performance-hint.rkt b/racket/collects/racket/private/performance-hint.rkt similarity index 100% rename from racket/lib/collects/racket/private/performance-hint.rkt rename to racket/collects/racket/private/performance-hint.rkt diff --git a/racket/lib/collects/racket/private/port.rkt b/racket/collects/racket/private/port.rkt similarity index 100% rename from racket/lib/collects/racket/private/port.rkt rename to racket/collects/racket/private/port.rkt diff --git a/racket/lib/collects/racket/private/portlines.rkt b/racket/collects/racket/private/portlines.rkt similarity index 100% rename from racket/lib/collects/racket/private/portlines.rkt rename to racket/collects/racket/private/portlines.rkt diff --git a/racket/lib/collects/racket/private/pre-base.rkt b/racket/collects/racket/private/pre-base.rkt similarity index 100% rename from racket/lib/collects/racket/private/pre-base.rkt rename to racket/collects/racket/private/pre-base.rkt diff --git a/racket/lib/collects/racket/private/procedure-alias.rkt b/racket/collects/racket/private/procedure-alias.rkt similarity index 100% rename from racket/lib/collects/racket/private/procedure-alias.rkt rename to racket/collects/racket/private/procedure-alias.rkt diff --git a/racket/lib/collects/racket/private/promise.rkt b/racket/collects/racket/private/promise.rkt similarity index 100% rename from racket/lib/collects/racket/private/promise.rkt rename to racket/collects/racket/private/promise.rkt diff --git a/racket/lib/collects/racket/private/qq-and-or.rkt b/racket/collects/racket/private/qq-and-or.rkt similarity index 100% rename from racket/lib/collects/racket/private/qq-and-or.rkt rename to racket/collects/racket/private/qq-and-or.rkt diff --git a/racket/lib/collects/racket/private/qqstx.rkt b/racket/collects/racket/private/qqstx.rkt similarity index 100% rename from racket/lib/collects/racket/private/qqstx.rkt rename to racket/collects/racket/private/qqstx.rkt diff --git a/racket/lib/collects/racket/private/reqprov.rkt b/racket/collects/racket/private/reqprov.rkt similarity index 100% rename from racket/lib/collects/racket/private/reqprov.rkt rename to racket/collects/racket/private/reqprov.rkt diff --git a/racket/lib/collects/racket/private/reverse.rkt b/racket/collects/racket/private/reverse.rkt similarity index 100% rename from racket/lib/collects/racket/private/reverse.rkt rename to racket/collects/racket/private/reverse.rkt diff --git a/racket/lib/collects/racket/private/runtime-path-table.rkt b/racket/collects/racket/private/runtime-path-table.rkt similarity index 100% rename from racket/lib/collects/racket/private/runtime-path-table.rkt rename to racket/collects/racket/private/runtime-path-table.rkt diff --git a/racket/lib/collects/racket/private/sc.rkt b/racket/collects/racket/private/sc.rkt similarity index 100% rename from racket/lib/collects/racket/private/sc.rkt rename to racket/collects/racket/private/sc.rkt diff --git a/racket/lib/collects/racket/private/sequence.rkt b/racket/collects/racket/private/sequence.rkt similarity index 100% rename from racket/lib/collects/racket/private/sequence.rkt rename to racket/collects/racket/private/sequence.rkt diff --git a/racket/lib/collects/racket/private/serialize-structs.rkt b/racket/collects/racket/private/serialize-structs.rkt similarity index 100% rename from racket/lib/collects/racket/private/serialize-structs.rkt rename to racket/collects/racket/private/serialize-structs.rkt diff --git a/racket/lib/collects/racket/private/serialize.rkt b/racket/collects/racket/private/serialize.rkt similarity index 100% rename from racket/lib/collects/racket/private/serialize.rkt rename to racket/collects/racket/private/serialize.rkt diff --git a/racket/lib/collects/racket/private/shared-body.rktl b/racket/collects/racket/private/shared-body.rktl similarity index 100% rename from racket/lib/collects/racket/private/shared-body.rktl rename to racket/collects/racket/private/shared-body.rktl diff --git a/racket/lib/collects/racket/private/small-scheme.rkt b/racket/collects/racket/private/small-scheme.rkt similarity index 100% rename from racket/lib/collects/racket/private/small-scheme.rkt rename to racket/collects/racket/private/small-scheme.rkt diff --git a/racket/lib/collects/racket/private/sort.rkt b/racket/collects/racket/private/sort.rkt similarity index 100% rename from racket/lib/collects/racket/private/sort.rkt rename to racket/collects/racket/private/sort.rkt diff --git a/racket/lib/collects/racket/private/stream-cons.rkt b/racket/collects/racket/private/stream-cons.rkt similarity index 100% rename from racket/lib/collects/racket/private/stream-cons.rkt rename to racket/collects/racket/private/stream-cons.rkt diff --git a/racket/lib/collects/racket/private/streams.rkt b/racket/collects/racket/private/streams.rkt similarity index 100% rename from racket/lib/collects/racket/private/streams.rkt rename to racket/collects/racket/private/streams.rkt diff --git a/racket/lib/collects/racket/private/string.rkt b/racket/collects/racket/private/string.rkt similarity index 100% rename from racket/lib/collects/racket/private/string.rkt rename to racket/collects/racket/private/string.rkt diff --git a/racket/lib/collects/racket/private/struct-info.rkt b/racket/collects/racket/private/struct-info.rkt similarity index 100% rename from racket/lib/collects/racket/private/struct-info.rkt rename to racket/collects/racket/private/struct-info.rkt diff --git a/racket/lib/collects/racket/private/struct.rkt b/racket/collects/racket/private/struct.rkt similarity index 100% rename from racket/lib/collects/racket/private/struct.rkt rename to racket/collects/racket/private/struct.rkt diff --git a/racket/lib/collects/racket/private/stx.rkt b/racket/collects/racket/private/stx.rkt similarity index 100% rename from racket/lib/collects/racket/private/stx.rkt rename to racket/collects/racket/private/stx.rkt diff --git a/racket/lib/collects/racket/private/stxcase-scheme.rkt b/racket/collects/racket/private/stxcase-scheme.rkt similarity index 100% rename from racket/lib/collects/racket/private/stxcase-scheme.rkt rename to racket/collects/racket/private/stxcase-scheme.rkt diff --git a/racket/lib/collects/racket/private/stxcase.rkt b/racket/collects/racket/private/stxcase.rkt similarity index 100% rename from racket/lib/collects/racket/private/stxcase.rkt rename to racket/collects/racket/private/stxcase.rkt diff --git a/racket/lib/collects/racket/private/stxloc.rkt b/racket/collects/racket/private/stxloc.rkt similarity index 100% rename from racket/lib/collects/racket/private/stxloc.rkt rename to racket/collects/racket/private/stxloc.rkt diff --git a/racket/lib/collects/racket/private/stxparam.rkt b/racket/collects/racket/private/stxparam.rkt similarity index 100% rename from racket/lib/collects/racket/private/stxparam.rkt rename to racket/collects/racket/private/stxparam.rkt diff --git a/racket/lib/collects/racket/private/stxparamkey.rkt b/racket/collects/racket/private/stxparamkey.rkt similarity index 100% rename from racket/lib/collects/racket/private/stxparamkey.rkt rename to racket/collects/racket/private/stxparamkey.rkt diff --git a/racket/lib/collects/racket/private/submodule.rkt b/racket/collects/racket/private/submodule.rkt similarity index 100% rename from racket/lib/collects/racket/private/submodule.rkt rename to racket/collects/racket/private/submodule.rkt diff --git a/racket/lib/collects/racket/private/this-expression-source-directory.rkt b/racket/collects/racket/private/this-expression-source-directory.rkt similarity index 100% rename from racket/lib/collects/racket/private/this-expression-source-directory.rkt rename to racket/collects/racket/private/this-expression-source-directory.rkt diff --git a/racket/lib/collects/racket/private/top-int.rkt b/racket/collects/racket/private/top-int.rkt similarity index 100% rename from racket/lib/collects/racket/private/top-int.rkt rename to racket/collects/racket/private/top-int.rkt diff --git a/racket/lib/collects/racket/private/unit-compiletime.rkt b/racket/collects/racket/private/unit-compiletime.rkt similarity index 100% rename from racket/lib/collects/racket/private/unit-compiletime.rkt rename to racket/collects/racket/private/unit-compiletime.rkt diff --git a/racket/lib/collects/racket/private/unit-contract-syntax.rkt b/racket/collects/racket/private/unit-contract-syntax.rkt similarity index 100% rename from racket/lib/collects/racket/private/unit-contract-syntax.rkt rename to racket/collects/racket/private/unit-contract-syntax.rkt diff --git a/racket/lib/collects/racket/private/unit-contract.rkt b/racket/collects/racket/private/unit-contract.rkt similarity index 100% rename from racket/lib/collects/racket/private/unit-contract.rkt rename to racket/collects/racket/private/unit-contract.rkt diff --git a/racket/lib/collects/racket/private/unit-keywords.rkt b/racket/collects/racket/private/unit-keywords.rkt similarity index 100% rename from racket/lib/collects/racket/private/unit-keywords.rkt rename to racket/collects/racket/private/unit-keywords.rkt diff --git a/racket/lib/collects/racket/private/unit-runtime.rkt b/racket/collects/racket/private/unit-runtime.rkt similarity index 100% rename from racket/lib/collects/racket/private/unit-runtime.rkt rename to racket/collects/racket/private/unit-runtime.rkt diff --git a/racket/lib/collects/racket/private/unit-syntax.rkt b/racket/collects/racket/private/unit-syntax.rkt similarity index 100% rename from racket/lib/collects/racket/private/unit-syntax.rkt rename to racket/collects/racket/private/unit-syntax.rkt diff --git a/racket/lib/collects/racket/private/unit-utils.rkt b/racket/collects/racket/private/unit-utils.rkt similarity index 100% rename from racket/lib/collects/racket/private/unit-utils.rkt rename to racket/collects/racket/private/unit-utils.rkt diff --git a/racket/lib/collects/racket/private/vector-wraps.rkt b/racket/collects/racket/private/vector-wraps.rkt similarity index 100% rename from racket/lib/collects/racket/private/vector-wraps.rkt rename to racket/collects/racket/private/vector-wraps.rkt diff --git a/racket/lib/collects/racket/private/with-stx.rkt b/racket/collects/racket/private/with-stx.rkt similarity index 100% rename from racket/lib/collects/racket/private/with-stx.rkt rename to racket/collects/racket/private/with-stx.rkt diff --git a/racket/lib/collects/racket/promise.rkt b/racket/collects/racket/promise.rkt similarity index 100% rename from racket/lib/collects/racket/promise.rkt rename to racket/collects/racket/promise.rkt diff --git a/racket/lib/collects/racket/provide-syntax.rkt b/racket/collects/racket/provide-syntax.rkt similarity index 100% rename from racket/lib/collects/racket/provide-syntax.rkt rename to racket/collects/racket/provide-syntax.rkt diff --git a/racket/lib/collects/racket/provide-transform.rkt b/racket/collects/racket/provide-transform.rkt similarity index 100% rename from racket/lib/collects/racket/provide-transform.rkt rename to racket/collects/racket/provide-transform.rkt diff --git a/racket/lib/collects/racket/provide.rkt b/racket/collects/racket/provide.rkt similarity index 100% rename from racket/lib/collects/racket/provide.rkt rename to racket/collects/racket/provide.rkt diff --git a/racket/lib/collects/racket/require-syntax.rkt b/racket/collects/racket/require-syntax.rkt similarity index 100% rename from racket/lib/collects/racket/require-syntax.rkt rename to racket/collects/racket/require-syntax.rkt diff --git a/racket/lib/collects/racket/require-transform.rkt b/racket/collects/racket/require-transform.rkt similarity index 100% rename from racket/lib/collects/racket/require-transform.rkt rename to racket/collects/racket/require-transform.rkt diff --git a/racket/lib/collects/racket/require.rkt b/racket/collects/racket/require.rkt similarity index 100% rename from racket/lib/collects/racket/require.rkt rename to racket/collects/racket/require.rkt diff --git a/racket/lib/collects/racket/rerequire.rkt b/racket/collects/racket/rerequire.rkt similarity index 100% rename from racket/lib/collects/racket/rerequire.rkt rename to racket/collects/racket/rerequire.rkt diff --git a/racket/lib/collects/racket/runtime-config.rkt b/racket/collects/racket/runtime-config.rkt similarity index 100% rename from racket/lib/collects/racket/runtime-config.rkt rename to racket/collects/racket/runtime-config.rkt diff --git a/racket/lib/collects/racket/runtime-path.rkt b/racket/collects/racket/runtime-path.rkt similarity index 100% rename from racket/lib/collects/racket/runtime-path.rkt rename to racket/collects/racket/runtime-path.rkt diff --git a/racket/lib/collects/racket/sequence.rkt b/racket/collects/racket/sequence.rkt similarity index 100% rename from racket/lib/collects/racket/sequence.rkt rename to racket/collects/racket/sequence.rkt diff --git a/racket/lib/collects/racket/serialize.rkt b/racket/collects/racket/serialize.rkt similarity index 100% rename from racket/lib/collects/racket/serialize.rkt rename to racket/collects/racket/serialize.rkt diff --git a/racket/lib/collects/racket/set.rkt b/racket/collects/racket/set.rkt similarity index 100% rename from racket/lib/collects/racket/set.rkt rename to racket/collects/racket/set.rkt diff --git a/racket/lib/collects/racket/shared.rkt b/racket/collects/racket/shared.rkt similarity index 100% rename from racket/lib/collects/racket/shared.rkt rename to racket/collects/racket/shared.rkt diff --git a/racket/lib/collects/racket/signature/lang.rkt b/racket/collects/racket/signature/lang.rkt similarity index 100% rename from racket/lib/collects/racket/signature/lang.rkt rename to racket/collects/racket/signature/lang.rkt diff --git a/racket/lib/collects/racket/signature/lang/reader.rkt b/racket/collects/racket/signature/lang/reader.rkt similarity index 100% rename from racket/lib/collects/racket/signature/lang/reader.rkt rename to racket/collects/racket/signature/lang/reader.rkt diff --git a/racket/lib/collects/racket/splicing.rkt b/racket/collects/racket/splicing.rkt similarity index 100% rename from racket/lib/collects/racket/splicing.rkt rename to racket/collects/racket/splicing.rkt diff --git a/racket/lib/collects/racket/stream.rkt b/racket/collects/racket/stream.rkt similarity index 100% rename from racket/lib/collects/racket/stream.rkt rename to racket/collects/racket/stream.rkt diff --git a/racket/lib/collects/racket/string.rkt b/racket/collects/racket/string.rkt similarity index 100% rename from racket/lib/collects/racket/string.rkt rename to racket/collects/racket/string.rkt diff --git a/racket/lib/collects/racket/struct-info.rkt b/racket/collects/racket/struct-info.rkt similarity index 100% rename from racket/lib/collects/racket/struct-info.rkt rename to racket/collects/racket/struct-info.rkt diff --git a/racket/lib/collects/racket/stxparam-exptime.rkt b/racket/collects/racket/stxparam-exptime.rkt similarity index 100% rename from racket/lib/collects/racket/stxparam-exptime.rkt rename to racket/collects/racket/stxparam-exptime.rkt diff --git a/racket/lib/collects/racket/stxparam.rkt b/racket/collects/racket/stxparam.rkt similarity index 100% rename from racket/lib/collects/racket/stxparam.rkt rename to racket/collects/racket/stxparam.rkt diff --git a/racket/lib/collects/racket/surrogate.rkt b/racket/collects/racket/surrogate.rkt similarity index 100% rename from racket/lib/collects/racket/surrogate.rkt rename to racket/collects/racket/surrogate.rkt diff --git a/racket/lib/collects/racket/syntax.rkt b/racket/collects/racket/syntax.rkt similarity index 100% rename from racket/lib/collects/racket/syntax.rkt rename to racket/collects/racket/syntax.rkt diff --git a/racket/lib/collects/racket/system.rkt b/racket/collects/racket/system.rkt similarity index 100% rename from racket/lib/collects/racket/system.rkt rename to racket/collects/racket/system.rkt diff --git a/racket/lib/collects/racket/tcp.rkt b/racket/collects/racket/tcp.rkt similarity index 100% rename from racket/lib/collects/racket/tcp.rkt rename to racket/collects/racket/tcp.rkt diff --git a/racket/lib/collects/racket/trace.rkt b/racket/collects/racket/trace.rkt similarity index 100% rename from racket/lib/collects/racket/trace.rkt rename to racket/collects/racket/trace.rkt diff --git a/racket/lib/collects/racket/trait.rkt b/racket/collects/racket/trait.rkt similarity index 100% rename from racket/lib/collects/racket/trait.rkt rename to racket/collects/racket/trait.rkt diff --git a/racket/lib/collects/racket/udp.rkt b/racket/collects/racket/udp.rkt similarity index 100% rename from racket/lib/collects/racket/udp.rkt rename to racket/collects/racket/udp.rkt diff --git a/racket/lib/collects/racket/unit-exptime.rkt b/racket/collects/racket/unit-exptime.rkt similarity index 100% rename from racket/lib/collects/racket/unit-exptime.rkt rename to racket/collects/racket/unit-exptime.rkt diff --git a/racket/lib/collects/racket/unit.rkt b/racket/collects/racket/unit.rkt similarity index 100% rename from racket/lib/collects/racket/unit.rkt rename to racket/collects/racket/unit.rkt diff --git a/racket/lib/collects/racket/unit/lang.rkt b/racket/collects/racket/unit/lang.rkt similarity index 100% rename from racket/lib/collects/racket/unit/lang.rkt rename to racket/collects/racket/unit/lang.rkt diff --git a/racket/lib/collects/racket/unit/lang/reader.rkt b/racket/collects/racket/unit/lang/reader.rkt similarity index 100% rename from racket/lib/collects/racket/unit/lang/reader.rkt rename to racket/collects/racket/unit/lang/reader.rkt diff --git a/racket/lib/collects/racket/unsafe/ops.rkt b/racket/collects/racket/unsafe/ops.rkt similarity index 100% rename from racket/lib/collects/racket/unsafe/ops.rkt rename to racket/collects/racket/unsafe/ops.rkt diff --git a/racket/lib/collects/racket/vector.rkt b/racket/collects/racket/vector.rkt similarity index 100% rename from racket/lib/collects/racket/vector.rkt rename to racket/collects/racket/vector.rkt diff --git a/racket/lib/collects/rackunit/log.rkt b/racket/collects/rackunit/log.rkt similarity index 100% rename from racket/lib/collects/rackunit/log.rkt rename to racket/collects/rackunit/log.rkt diff --git a/racket/lib/collects/raco/all-tools.rkt b/racket/collects/raco/all-tools.rkt similarity index 100% rename from racket/lib/collects/raco/all-tools.rkt rename to racket/collects/raco/all-tools.rkt diff --git a/racket/lib/collects/raco/command-name.rkt b/racket/collects/raco/command-name.rkt similarity index 100% rename from racket/lib/collects/raco/command-name.rkt rename to racket/collects/raco/command-name.rkt diff --git a/racket/lib/collects/raco/doc.ico b/racket/collects/raco/doc.ico similarity index 100% rename from racket/lib/collects/raco/doc.ico rename to racket/collects/raco/doc.ico diff --git a/racket/lib/collects/raco/info.rkt b/racket/collects/raco/info.rkt similarity index 100% rename from racket/lib/collects/raco/info.rkt rename to racket/collects/raco/info.rkt diff --git a/racket/lib/collects/raco/main.extreg b/racket/collects/raco/main.extreg similarity index 100% rename from racket/lib/collects/raco/main.extreg rename to racket/collects/raco/main.extreg diff --git a/racket/lib/collects/raco/main.lch b/racket/collects/raco/main.lch similarity index 100% rename from racket/lib/collects/raco/main.lch rename to racket/collects/raco/main.lch diff --git a/racket/lib/collects/raco/main.rkt b/racket/collects/raco/main.rkt similarity index 100% rename from racket/lib/collects/raco/main.rkt rename to racket/collects/raco/main.rkt diff --git a/racket/lib/collects/raco/raco.rkt b/racket/collects/raco/raco.rkt similarity index 100% rename from racket/lib/collects/raco/raco.rkt rename to racket/collects/raco/raco.rkt diff --git a/racket/lib/collects/reader/lang/reader.rkt b/racket/collects/reader/lang/reader.rkt similarity index 100% rename from racket/lib/collects/reader/lang/reader.rkt rename to racket/collects/reader/lang/reader.rkt diff --git a/racket/lib/collects/s-exp/lang/reader.rkt b/racket/collects/s-exp/lang/reader.rkt similarity index 100% rename from racket/lib/collects/s-exp/lang/reader.rkt rename to racket/collects/s-exp/lang/reader.rkt diff --git a/racket/lib/collects/scheme/async-channel.rkt b/racket/collects/scheme/async-channel.rkt similarity index 100% rename from racket/lib/collects/scheme/async-channel.rkt rename to racket/collects/scheme/async-channel.rkt diff --git a/racket/lib/collects/scheme/base.rkt b/racket/collects/scheme/base.rkt similarity index 100% rename from racket/lib/collects/scheme/base.rkt rename to racket/collects/scheme/base.rkt diff --git a/racket/lib/collects/scheme/base/lang/reader.rkt b/racket/collects/scheme/base/lang/reader.rkt similarity index 100% rename from racket/lib/collects/scheme/base/lang/reader.rkt rename to racket/collects/scheme/base/lang/reader.rkt diff --git a/racket/lib/collects/scheme/bool.rkt b/racket/collects/scheme/bool.rkt similarity index 100% rename from racket/lib/collects/scheme/bool.rkt rename to racket/collects/scheme/bool.rkt diff --git a/racket/lib/collects/scheme/class.rkt b/racket/collects/scheme/class.rkt similarity index 100% rename from racket/lib/collects/scheme/class.rkt rename to racket/collects/scheme/class.rkt diff --git a/racket/lib/collects/scheme/cmdline.rkt b/racket/collects/scheme/cmdline.rkt similarity index 100% rename from racket/lib/collects/scheme/cmdline.rkt rename to racket/collects/scheme/cmdline.rkt diff --git a/racket/lib/collects/scheme/contract.rkt b/racket/collects/scheme/contract.rkt similarity index 100% rename from racket/lib/collects/scheme/contract.rkt rename to racket/collects/scheme/contract.rkt diff --git a/racket/lib/collects/scheme/control.rkt b/racket/collects/scheme/control.rkt similarity index 100% rename from racket/lib/collects/scheme/control.rkt rename to racket/collects/scheme/control.rkt diff --git a/racket/lib/collects/scheme/date.rkt b/racket/collects/scheme/date.rkt similarity index 100% rename from racket/lib/collects/scheme/date.rkt rename to racket/collects/scheme/date.rkt diff --git a/racket/lib/collects/scheme/dict.rkt b/racket/collects/scheme/dict.rkt similarity index 100% rename from racket/lib/collects/scheme/dict.rkt rename to racket/collects/scheme/dict.rkt diff --git a/racket/lib/collects/scheme/enter.rkt b/racket/collects/scheme/enter.rkt similarity index 100% rename from racket/lib/collects/scheme/enter.rkt rename to racket/collects/scheme/enter.rkt diff --git a/racket/lib/collects/scheme/exists/lang.rkt b/racket/collects/scheme/exists/lang.rkt similarity index 100% rename from racket/lib/collects/scheme/exists/lang.rkt rename to racket/collects/scheme/exists/lang.rkt diff --git a/racket/lib/collects/scheme/exists/lang/reader.rkt b/racket/collects/scheme/exists/lang/reader.rkt similarity index 100% rename from racket/lib/collects/scheme/exists/lang/reader.rkt rename to racket/collects/scheme/exists/lang/reader.rkt diff --git a/racket/lib/collects/scheme/fasl.rkt b/racket/collects/scheme/fasl.rkt similarity index 100% rename from racket/lib/collects/scheme/fasl.rkt rename to racket/collects/scheme/fasl.rkt diff --git a/racket/lib/collects/scheme/file.rkt b/racket/collects/scheme/file.rkt similarity index 100% rename from racket/lib/collects/scheme/file.rkt rename to racket/collects/scheme/file.rkt diff --git a/racket/lib/collects/scheme/fixnum.rkt b/racket/collects/scheme/fixnum.rkt similarity index 100% rename from racket/lib/collects/scheme/fixnum.rkt rename to racket/collects/scheme/fixnum.rkt diff --git a/racket/lib/collects/scheme/flonum.rkt b/racket/collects/scheme/flonum.rkt similarity index 100% rename from racket/lib/collects/scheme/flonum.rkt rename to racket/collects/scheme/flonum.rkt diff --git a/racket/lib/collects/scheme/foreign.rkt b/racket/collects/scheme/foreign.rkt similarity index 100% rename from racket/lib/collects/scheme/foreign.rkt rename to racket/collects/scheme/foreign.rkt diff --git a/racket/lib/collects/scheme/function.rkt b/racket/collects/scheme/function.rkt similarity index 100% rename from racket/lib/collects/scheme/function.rkt rename to racket/collects/scheme/function.rkt diff --git a/racket/lib/collects/scheme/future.rkt b/racket/collects/scheme/future.rkt similarity index 100% rename from racket/lib/collects/scheme/future.rkt rename to racket/collects/scheme/future.rkt diff --git a/racket/lib/collects/scheme/generator.rkt b/racket/collects/scheme/generator.rkt similarity index 100% rename from racket/lib/collects/scheme/generator.rkt rename to racket/collects/scheme/generator.rkt diff --git a/racket/lib/collects/scheme/gui/dynamic.rkt b/racket/collects/scheme/gui/dynamic.rkt similarity index 100% rename from racket/lib/collects/scheme/gui/dynamic.rkt rename to racket/collects/scheme/gui/dynamic.rkt diff --git a/racket/lib/collects/scheme/help.rkt b/racket/collects/scheme/help.rkt similarity index 100% rename from racket/lib/collects/scheme/help.rkt rename to racket/collects/scheme/help.rkt diff --git a/racket/lib/collects/scheme/include.rkt b/racket/collects/scheme/include.rkt similarity index 100% rename from racket/lib/collects/scheme/include.rkt rename to racket/collects/scheme/include.rkt diff --git a/racket/lib/collects/scheme/init.rkt b/racket/collects/scheme/init.rkt similarity index 100% rename from racket/lib/collects/scheme/init.rkt rename to racket/collects/scheme/init.rkt diff --git a/racket/lib/collects/scheme/lang/reader.rkt b/racket/collects/scheme/lang/reader.rkt similarity index 100% rename from racket/lib/collects/scheme/lang/reader.rkt rename to racket/collects/scheme/lang/reader.rkt diff --git a/racket/lib/collects/scheme/language-info.rkt b/racket/collects/scheme/language-info.rkt similarity index 100% rename from racket/lib/collects/scheme/language-info.rkt rename to racket/collects/scheme/language-info.rkt diff --git a/racket/lib/collects/scheme/list.rkt b/racket/collects/scheme/list.rkt similarity index 100% rename from racket/lib/collects/scheme/list.rkt rename to racket/collects/scheme/list.rkt diff --git a/racket/lib/collects/scheme/load.rkt b/racket/collects/scheme/load.rkt similarity index 100% rename from racket/lib/collects/scheme/load.rkt rename to racket/collects/scheme/load.rkt diff --git a/racket/lib/collects/scheme/load/lang/reader.rkt b/racket/collects/scheme/load/lang/reader.rkt similarity index 100% rename from racket/lib/collects/scheme/load/lang/reader.rkt rename to racket/collects/scheme/load/lang/reader.rkt diff --git a/racket/lib/collects/scheme/local.rkt b/racket/collects/scheme/local.rkt similarity index 100% rename from racket/lib/collects/scheme/local.rkt rename to racket/collects/scheme/local.rkt diff --git a/racket/lib/collects/scheme/main.rkt b/racket/collects/scheme/main.rkt similarity index 100% rename from racket/lib/collects/scheme/main.rkt rename to racket/collects/scheme/main.rkt diff --git a/racket/lib/collects/scheme/match.rkt b/racket/collects/scheme/match.rkt similarity index 100% rename from racket/lib/collects/scheme/match.rkt rename to racket/collects/scheme/match.rkt diff --git a/racket/lib/collects/scheme/math.rkt b/racket/collects/scheme/math.rkt similarity index 100% rename from racket/lib/collects/scheme/math.rkt rename to racket/collects/scheme/math.rkt diff --git a/racket/lib/collects/scheme/nest.rkt b/racket/collects/scheme/nest.rkt similarity index 100% rename from racket/lib/collects/scheme/nest.rkt rename to racket/collects/scheme/nest.rkt diff --git a/racket/lib/collects/scheme/path.rkt b/racket/collects/scheme/path.rkt similarity index 100% rename from racket/lib/collects/scheme/path.rkt rename to racket/collects/scheme/path.rkt diff --git a/racket/lib/collects/scheme/place.rkt b/racket/collects/scheme/place.rkt similarity index 100% rename from racket/lib/collects/scheme/place.rkt rename to racket/collects/scheme/place.rkt diff --git a/racket/lib/collects/scheme/port.rkt b/racket/collects/scheme/port.rkt similarity index 100% rename from racket/lib/collects/scheme/port.rkt rename to racket/collects/scheme/port.rkt diff --git a/racket/lib/collects/scheme/pretty.rkt b/racket/collects/scheme/pretty.rkt similarity index 100% rename from racket/lib/collects/scheme/pretty.rkt rename to racket/collects/scheme/pretty.rkt diff --git a/racket/lib/collects/scheme/private/namespace.rkt b/racket/collects/scheme/private/namespace.rkt similarity index 100% rename from racket/lib/collects/scheme/private/namespace.rkt rename to racket/collects/scheme/private/namespace.rkt diff --git a/racket/lib/collects/scheme/private/provider/lang.rkt b/racket/collects/scheme/private/provider/lang.rkt similarity index 100% rename from racket/lib/collects/scheme/private/provider/lang.rkt rename to racket/collects/scheme/private/provider/lang.rkt diff --git a/racket/lib/collects/scheme/private/provider/lang/reader.rkt b/racket/collects/scheme/private/provider/lang/reader.rkt similarity index 100% rename from racket/lib/collects/scheme/private/provider/lang/reader.rkt rename to racket/collects/scheme/private/provider/lang/reader.rkt diff --git a/racket/lib/collects/scheme/promise.rkt b/racket/collects/scheme/promise.rkt similarity index 100% rename from racket/lib/collects/scheme/promise.rkt rename to racket/collects/scheme/promise.rkt diff --git a/racket/lib/collects/scheme/provide-syntax.rkt b/racket/collects/scheme/provide-syntax.rkt similarity index 100% rename from racket/lib/collects/scheme/provide-syntax.rkt rename to racket/collects/scheme/provide-syntax.rkt diff --git a/racket/lib/collects/scheme/provide-transform.rkt b/racket/collects/scheme/provide-transform.rkt similarity index 100% rename from racket/lib/collects/scheme/provide-transform.rkt rename to racket/collects/scheme/provide-transform.rkt diff --git a/racket/lib/collects/scheme/provide.rkt b/racket/collects/scheme/provide.rkt similarity index 100% rename from racket/lib/collects/scheme/provide.rkt rename to racket/collects/scheme/provide.rkt diff --git a/racket/lib/collects/scheme/require-syntax.rkt b/racket/collects/scheme/require-syntax.rkt similarity index 100% rename from racket/lib/collects/scheme/require-syntax.rkt rename to racket/collects/scheme/require-syntax.rkt diff --git a/racket/lib/collects/scheme/require-transform.rkt b/racket/collects/scheme/require-transform.rkt similarity index 100% rename from racket/lib/collects/scheme/require-transform.rkt rename to racket/collects/scheme/require-transform.rkt diff --git a/racket/lib/collects/scheme/require.rkt b/racket/collects/scheme/require.rkt similarity index 100% rename from racket/lib/collects/scheme/require.rkt rename to racket/collects/scheme/require.rkt diff --git a/racket/lib/collects/scheme/runtime-config.rkt b/racket/collects/scheme/runtime-config.rkt similarity index 100% rename from racket/lib/collects/scheme/runtime-config.rkt rename to racket/collects/scheme/runtime-config.rkt diff --git a/racket/lib/collects/scheme/runtime-path.rkt b/racket/collects/scheme/runtime-path.rkt similarity index 100% rename from racket/lib/collects/scheme/runtime-path.rkt rename to racket/collects/scheme/runtime-path.rkt diff --git a/racket/lib/collects/scheme/serialize.rkt b/racket/collects/scheme/serialize.rkt similarity index 100% rename from racket/lib/collects/scheme/serialize.rkt rename to racket/collects/scheme/serialize.rkt diff --git a/racket/lib/collects/scheme/set.rkt b/racket/collects/scheme/set.rkt similarity index 100% rename from racket/lib/collects/scheme/set.rkt rename to racket/collects/scheme/set.rkt diff --git a/racket/lib/collects/scheme/shared.rkt b/racket/collects/scheme/shared.rkt similarity index 100% rename from racket/lib/collects/scheme/shared.rkt rename to racket/collects/scheme/shared.rkt diff --git a/racket/lib/collects/scheme/signature/lang/reader.rkt b/racket/collects/scheme/signature/lang/reader.rkt similarity index 100% rename from racket/lib/collects/scheme/signature/lang/reader.rkt rename to racket/collects/scheme/signature/lang/reader.rkt diff --git a/racket/lib/collects/scheme/splicing.rkt b/racket/collects/scheme/splicing.rkt similarity index 100% rename from racket/lib/collects/scheme/splicing.rkt rename to racket/collects/scheme/splicing.rkt diff --git a/racket/lib/collects/scheme/string.rkt b/racket/collects/scheme/string.rkt similarity index 100% rename from racket/lib/collects/scheme/string.rkt rename to racket/collects/scheme/string.rkt diff --git a/racket/lib/collects/scheme/struct-info.rkt b/racket/collects/scheme/struct-info.rkt similarity index 100% rename from racket/lib/collects/scheme/struct-info.rkt rename to racket/collects/scheme/struct-info.rkt diff --git a/racket/lib/collects/scheme/stxparam-exptime.rkt b/racket/collects/scheme/stxparam-exptime.rkt similarity index 100% rename from racket/lib/collects/scheme/stxparam-exptime.rkt rename to racket/collects/scheme/stxparam-exptime.rkt diff --git a/racket/lib/collects/scheme/stxparam.rkt b/racket/collects/scheme/stxparam.rkt similarity index 100% rename from racket/lib/collects/scheme/stxparam.rkt rename to racket/collects/scheme/stxparam.rkt diff --git a/racket/lib/collects/scheme/surrogate.rkt b/racket/collects/scheme/surrogate.rkt similarity index 100% rename from racket/lib/collects/scheme/surrogate.rkt rename to racket/collects/scheme/surrogate.rkt diff --git a/racket/lib/collects/scheme/system.rkt b/racket/collects/scheme/system.rkt similarity index 100% rename from racket/lib/collects/scheme/system.rkt rename to racket/collects/scheme/system.rkt diff --git a/racket/lib/collects/scheme/tcp.rkt b/racket/collects/scheme/tcp.rkt similarity index 100% rename from racket/lib/collects/scheme/tcp.rkt rename to racket/collects/scheme/tcp.rkt diff --git a/racket/lib/collects/scheme/trace.rkt b/racket/collects/scheme/trace.rkt similarity index 100% rename from racket/lib/collects/scheme/trace.rkt rename to racket/collects/scheme/trace.rkt diff --git a/racket/lib/collects/scheme/trait.rkt b/racket/collects/scheme/trait.rkt similarity index 100% rename from racket/lib/collects/scheme/trait.rkt rename to racket/collects/scheme/trait.rkt diff --git a/racket/lib/collects/scheme/udp.rkt b/racket/collects/scheme/udp.rkt similarity index 100% rename from racket/lib/collects/scheme/udp.rkt rename to racket/collects/scheme/udp.rkt diff --git a/racket/lib/collects/scheme/unit-exptime.rkt b/racket/collects/scheme/unit-exptime.rkt similarity index 100% rename from racket/lib/collects/scheme/unit-exptime.rkt rename to racket/collects/scheme/unit-exptime.rkt diff --git a/racket/lib/collects/scheme/unit.rkt b/racket/collects/scheme/unit.rkt similarity index 100% rename from racket/lib/collects/scheme/unit.rkt rename to racket/collects/scheme/unit.rkt diff --git a/racket/lib/collects/scheme/unit/lang.rkt b/racket/collects/scheme/unit/lang.rkt similarity index 100% rename from racket/lib/collects/scheme/unit/lang.rkt rename to racket/collects/scheme/unit/lang.rkt diff --git a/racket/lib/collects/scheme/unit/lang/reader.rkt b/racket/collects/scheme/unit/lang/reader.rkt similarity index 100% rename from racket/lib/collects/scheme/unit/lang/reader.rkt rename to racket/collects/scheme/unit/lang/reader.rkt diff --git a/racket/lib/collects/scheme/unsafe/ops.rkt b/racket/collects/scheme/unsafe/ops.rkt similarity index 100% rename from racket/lib/collects/scheme/unsafe/ops.rkt rename to racket/collects/scheme/unsafe/ops.rkt diff --git a/racket/lib/collects/scheme/vector.rkt b/racket/collects/scheme/vector.rkt similarity index 100% rename from racket/lib/collects/scheme/vector.rkt rename to racket/collects/scheme/vector.rkt diff --git a/racket/lib/collects/setup/collects.rkt b/racket/collects/setup/collects.rkt similarity index 100% rename from racket/lib/collects/setup/collects.rkt rename to racket/collects/setup/collects.rkt diff --git a/racket/lib/collects/setup/commands/link.rkt b/racket/collects/setup/commands/link.rkt similarity index 100% rename from racket/lib/collects/setup/commands/link.rkt rename to racket/collects/setup/commands/link.rkt diff --git a/racket/lib/collects/setup/dirs.rkt b/racket/collects/setup/dirs.rkt similarity index 96% rename from racket/lib/collects/setup/dirs.rkt rename to racket/collects/setup/dirs.rkt index 4e072d124a..6aceb70b0c 100644 --- a/racket/lib/collects/setup/dirs.rkt +++ b/racket/collects/setup/dirs.rkt @@ -71,6 +71,7 @@ (define-config config:dll-dir 'dll-dir to-path) (define-config config:lib-dir 'lib-dir to-path) (define-config config:lib-search-dirs 'lib-search-dirs to-path) +(define-config config:share-dir 'share-dir to-path) (define-config config:include-dir 'include-dir to-path) (define-config config:include-search-dirs 'include-search-dirs to-path) (define-config config:bin-dir 'bin-dir to-path) @@ -171,7 +172,7 @@ (delay (or (force config:id) (let ([p (find-collects-dir)]) - (and p (simplify-path (build-path p 'up 'up default))))))) + (and p (simplify-path (build-path p 'up default))))))) (define (id) (force dir)))] [(_ provide config:id id user-id default) @@ -229,6 +230,15 @@ get-lib-search-dirs find-dll-dir "lib") +;; ---------------------------------------- +;; "share" + +(define-finder provide + config:share-dir + find-share-dir + find-user-share-dir + "share") + ;; ---------------------------------------- ;; "man" @@ -335,7 +345,7 @@ (define (find-links-file) (or (force config:links-file) - (build-path (find-lib-dir) "links.rktd"))) + (build-path (find-share-dir) "links.rktd"))) (define (get-links-search-files) (combine-search (force config:links-search-files) (list (find-links-file)))) @@ -349,7 +359,7 @@ get-false config:pkgs-search-dirs get-pkgs-search-dirs - (chain-to (lambda () (build-path (find-lib-dir) "pkgs")))) + (chain-to (lambda () (build-path (find-share-dir) "pkgs")))) (provide find-user-pkgs-dir find-shared-pkgs-dir) diff --git a/racket/lib/collects/setup/doc-db.rkt b/racket/collects/setup/doc-db.rkt similarity index 100% rename from racket/lib/collects/setup/doc-db.rkt rename to racket/collects/setup/doc-db.rkt diff --git a/racket/lib/collects/setup/getinfo.rkt b/racket/collects/setup/getinfo.rkt similarity index 95% rename from racket/lib/collects/setup/getinfo.rkt rename to racket/collects/setup/getinfo.rkt index 2fb6d698ee..1ef21a2a40 100644 --- a/racket/lib/collects/setup/getinfo.rkt +++ b/racket/collects/setup/getinfo.rkt @@ -128,12 +128,12 @@ (define (populate-table! t) ;; Use the colls ht because a collection might be in multiple ;; collection paths, and we only want one - (define-values (path->main-lib-relative - main-lib-relative->path) - (make-relativize find-lib-dir - 'lib - 'path->main-lib-relative - 'main-lib-relative->path)) + (define-values (path->main-share-relative + main-share-relative->path) + (make-relativize find-share-dir + 'share + 'path->main-share-relative + 'main-share-relative->path)) (let ([colls (make-hash)]) (for ([f+root-dir (reverse (table-paths t))]) (let ([f (car f+root-dir)] @@ -151,7 +151,7 @@ [else (error 'find-relevant-directories "bad info-domain cache file: ~a" f)]))]) (match i - [(list (and pathbytes (or (? bytes?) (list (or 'info 'lib) (? bytes?) ...))) + [(list (and pathbytes (or (? bytes?) (list (or 'info 'share) (? bytes?) ...))) (list (? symbol? fields) ...) key ;; anything is okay here (? integer? maj) @@ -169,7 +169,7 @@ p)) (if (eq? (car pathbytes) 'info) (info-relative->path pathbytes) - (main-lib-relative->path pathbytes))) + (main-share-relative->path pathbytes))) fields)]) (hash-set! colls key ((table-insert t) root-dir new-item old-items)))] @@ -219,8 +219,8 @@ (filter values (if (eq? key 'no-user) - (list (find-lib-dir)) - (list (find-lib-dir) (find-user-lib-dir)))))))) + (list (find-share-dir)) + (list (find-share-dir) (find-user-share-dir)))))))) (when t (unless (equal? (table-paths t) search-path) (set-table-ht! t (make-hasheq)) diff --git a/racket/lib/collects/setup/info.rkt b/racket/collects/setup/info.rkt similarity index 100% rename from racket/lib/collects/setup/info.rkt rename to racket/collects/setup/info.rkt diff --git a/racket/lib/collects/setup/infotab.rkt b/racket/collects/setup/infotab.rkt similarity index 100% rename from racket/lib/collects/setup/infotab.rkt rename to racket/collects/setup/infotab.rkt diff --git a/racket/lib/collects/setup/infotab/lang/reader.rkt b/racket/collects/setup/infotab/lang/reader.rkt similarity index 100% rename from racket/lib/collects/setup/infotab/lang/reader.rkt rename to racket/collects/setup/infotab/lang/reader.rkt diff --git a/racket/lib/collects/setup/link.rkt b/racket/collects/setup/link.rkt similarity index 100% rename from racket/lib/collects/setup/link.rkt rename to racket/collects/setup/link.rkt diff --git a/racket/lib/collects/setup/main-collects.rkt b/racket/collects/setup/main-collects.rkt similarity index 100% rename from racket/lib/collects/setup/main-collects.rkt rename to racket/collects/setup/main-collects.rkt diff --git a/racket/lib/collects/setup/main-doc.rkt b/racket/collects/setup/main-doc.rkt similarity index 100% rename from racket/lib/collects/setup/main-doc.rkt rename to racket/collects/setup/main-doc.rkt diff --git a/racket/lib/collects/setup/main.lch b/racket/collects/setup/main.lch similarity index 100% rename from racket/lib/collects/setup/main.lch rename to racket/collects/setup/main.lch diff --git a/racket/lib/collects/setup/main.rkt b/racket/collects/setup/main.rkt similarity index 100% rename from racket/lib/collects/setup/main.rkt rename to racket/collects/setup/main.rkt diff --git a/racket/lib/collects/setup/option-sig.rkt b/racket/collects/setup/option-sig.rkt similarity index 100% rename from racket/lib/collects/setup/option-sig.rkt rename to racket/collects/setup/option-sig.rkt diff --git a/racket/lib/collects/setup/option-unit.rkt b/racket/collects/setup/option-unit.rkt similarity index 100% rename from racket/lib/collects/setup/option-unit.rkt rename to racket/collects/setup/option-unit.rkt diff --git a/racket/lib/collects/setup/pack.rkt b/racket/collects/setup/pack.rkt similarity index 100% rename from racket/lib/collects/setup/pack.rkt rename to racket/collects/setup/pack.rkt diff --git a/racket/lib/collects/setup/parallel-build.rkt b/racket/collects/setup/parallel-build.rkt similarity index 100% rename from racket/lib/collects/setup/parallel-build.rkt rename to racket/collects/setup/parallel-build.rkt diff --git a/racket/lib/collects/setup/parallel-do.rkt b/racket/collects/setup/parallel-do.rkt similarity index 100% rename from racket/lib/collects/setup/parallel-do.rkt rename to racket/collects/setup/parallel-do.rkt diff --git a/racket/lib/collects/setup/path-relativize.rkt b/racket/collects/setup/path-relativize.rkt similarity index 100% rename from racket/lib/collects/setup/path-relativize.rkt rename to racket/collects/setup/path-relativize.rkt diff --git a/racket/lib/collects/setup/path-to-relative.rkt b/racket/collects/setup/path-to-relative.rkt similarity index 100% rename from racket/lib/collects/setup/path-to-relative.rkt rename to racket/collects/setup/path-to-relative.rkt diff --git a/racket/lib/collects/setup/plt-single-installer.rkt b/racket/collects/setup/plt-single-installer.rkt similarity index 100% rename from racket/lib/collects/setup/plt-single-installer.rkt rename to racket/collects/setup/plt-single-installer.rkt diff --git a/racket/lib/collects/setup/private/cc-struct.rkt b/racket/collects/setup/private/cc-struct.rkt similarity index 100% rename from racket/lib/collects/setup/private/cc-struct.rkt rename to racket/collects/setup/private/cc-struct.rkt diff --git a/racket/lib/collects/setup/private/command-name.rkt b/racket/collects/setup/private/command-name.rkt similarity index 100% rename from racket/lib/collects/setup/private/command-name.rkt rename to racket/collects/setup/private/command-name.rkt diff --git a/racket/lib/collects/setup/private/lib-roots.rkt b/racket/collects/setup/private/lib-roots.rkt similarity index 100% rename from racket/lib/collects/setup/private/lib-roots.rkt rename to racket/collects/setup/private/lib-roots.rkt diff --git a/racket/lib/collects/setup/private/main-collects.rkt b/racket/collects/setup/private/main-collects.rkt similarity index 100% rename from racket/lib/collects/setup/private/main-collects.rkt rename to racket/collects/setup/private/main-collects.rkt diff --git a/racket/lib/collects/setup/private/omitted-paths.rkt b/racket/collects/setup/private/omitted-paths.rkt similarity index 100% rename from racket/lib/collects/setup/private/omitted-paths.rkt rename to racket/collects/setup/private/omitted-paths.rkt diff --git a/racket/lib/collects/setup/private/path-utils.rkt b/racket/collects/setup/private/path-utils.rkt similarity index 100% rename from racket/lib/collects/setup/private/path-utils.rkt rename to racket/collects/setup/private/path-utils.rkt diff --git a/racket/lib/collects/setup/private/pkg-deps.rkt b/racket/collects/setup/private/pkg-deps.rkt similarity index 100% rename from racket/lib/collects/setup/private/pkg-deps.rkt rename to racket/collects/setup/private/pkg-deps.rkt diff --git a/racket/lib/collects/setup/setup-cmdline.rkt b/racket/collects/setup/setup-cmdline.rkt similarity index 100% rename from racket/lib/collects/setup/setup-cmdline.rkt rename to racket/collects/setup/setup-cmdline.rkt diff --git a/racket/lib/collects/setup/setup-go.rkt b/racket/collects/setup/setup-go.rkt similarity index 100% rename from racket/lib/collects/setup/setup-go.rkt rename to racket/collects/setup/setup-go.rkt diff --git a/racket/lib/collects/setup/setup-unit.rkt b/racket/collects/setup/setup-unit.rkt similarity index 97% rename from racket/lib/collects/setup/setup-unit.rkt rename to racket/collects/setup/setup-unit.rkt index e0687a9872..53e1481c07 100644 --- a/racket/lib/collects/setup/setup-unit.rkt +++ b/racket/collects/setup/setup-unit.rkt @@ -108,6 +108,14 @@ (make-path->relative-string (list (cons find-lib-dir "/")))) + (define path->relative-string/share + (make-path->relative-string + (list (cons find-share-dir "/")))) + + (define path->relative-string/man + (make-path->relative-string + (list (cons find-man-dir "/")))) + (define-values (path->main-lib-relative main-lib-relative->path) (make-relativize find-lib-dir @@ -347,7 +355,7 @@ #:path (build-path cp collection) #:main? (hash-ref main-collects-dirs cp #f))) (let () - (define info-root (find-lib-dir)) + (define info-root (find-share-dir)) (define info-path (build-path info-root "info-cache.rktd")) (define (cc! col #:path path) (collection-cc! col @@ -369,7 +377,7 @@ (cc! (list collection) #:path (build-path cp collection))))) (when (make-user) - (define info-root (find-user-lib-dir)) + (define info-root (find-user-share-dir)) (define info-path (build-path info-root "info-cache.rktd")) (define (cc! col #:path path) (collection-cc! col @@ -705,8 +713,8 @@ (with-output-to-file fn void #:exists 'truncate/replace)))) (for ([p (current-library-collection-paths)]) (check-one-info-domain (build-path p "info-domain" "compiled" "cache.rktd"))) - (check-one-info-domain (build-path (find-lib-dir) "info-cache.rktd")) - (check-one-info-domain (build-path (find-user-lib-dir) "info-cache.rktd")) + (check-one-info-domain (build-path (find-share-dir) "info-cache.rktd")) + (check-one-info-domain (build-path (find-user-share-dir) "info-cache.rktd")) (setup-printf #f "deleting documentation databases") (for ([d (in-list (list (find-doc-dir) (find-user-doc-dir)))]) (when d @@ -1059,12 +1067,12 @@ (when (file-exists? info-path) (get-info-ht c info-path 'relative)))) (unless (avoid-main-installation) - (define info-root (find-lib-dir)) + (define info-root (find-share-dir)) (define info-path (build-path info-root "info-cache.rktd")) (when (file-exists? info-path) (get-info-ht info-root info-path 'abs-in-relative))) (when (make-user) - (define info-root (find-user-lib-dir)) + (define info-root (find-user-share-dir)) (define info-path (build-path info-root "info-cache.rktd")) (when (file-exists? info-path) (get-info-ht info-root info-path 'abs-in-relative)) @@ -1406,7 +1414,9 @@ move-tag find-target-dir find-user-target-dir + path->relative-string/* receipt-file + receipt-at-dest? check-entry build-dest-path) (define (make-libs-step) @@ -1425,9 +1435,11 @@ (define dir (if (cc-main? cc) (find-target-dir) (find-user-target-dir))) - (define r-dir (if (cc-main? cc) - (find-lib-dir) - (find-user-lib-dir))) + (define r-dir (if receipt-at-dest? + dir + (if (cc-main? cc) + (find-lib-dir) + (find-user-lib-dir)))) (define receipt-path (build-path r-dir receipt-file)) (make-directory* dir) (make-directory* r-dir) @@ -1444,7 +1456,7 @@ (same-content? src dest))) (unless already? (setup-printf "installing" (string-append what " ~a") - (path->relative-string/lib dest))) + (path->relative-string/* dest))) (hash-set! installed-libs (record-lib receipt-path lib-name (cc-collection cc) (cc-path cc)) @@ -1547,7 +1559,7 @@ (define lib-path (build-dest-path target-dir (bytes->path-element k))) (when (file-exists? lib-path) (setup-printf "deleting" (string-append what " ~a") - (path->relative-string/lib lib-path)) + (path->relative-string/* lib-path)) (delete-file lib-path)) ht]))) (unless (equal? ht ht2) @@ -1564,7 +1576,23 @@ 'move-foreign-libs find-lib-dir find-user-lib-dir - "libs.rktd" + path->relative-string/lib + "libs.rktd" #t + (lambda (l) + (unless (list-of relative-path-string? l) + (error "entry is not a list of relative path strings:" l))) + build-path)) + + (define make-shares-step + (make-copy/move-step "shared file" + "shared files" + "Share Files Setup" + 'copy-shared-files + 'move-shared-files + find-share-dir + find-user-share-dir + path->relative-string/share + "shares.rktd" #t (lambda (l) (unless (list-of relative-path-string? l) (error "entry is not a list of relative path strings:" l))) @@ -1578,7 +1606,8 @@ 'move-man-pages find-man-dir find-user-man-dir - "mans.rktd" + path->relative-string/man + "mans.rktd" #f (lambda (l) (unless (list-of (lambda (p) (and (relative-path-string? p) diff --git a/racket/lib/collects/setup/setup.rkt b/racket/collects/setup/setup.rkt similarity index 100% rename from racket/lib/collects/setup/setup.rkt rename to racket/collects/setup/setup.rkt diff --git a/racket/lib/collects/setup/unixstyle-install.rkt b/racket/collects/setup/unixstyle-install.rkt similarity index 98% rename from racket/lib/collects/setup/unixstyle-install.rkt rename to racket/collects/setup/unixstyle-install.rkt index 200429b920..1869f875e0 100644 --- a/racket/lib/collects/setup/unixstyle-install.rkt +++ b/racket/collects/setup/unixstyle-install.rkt @@ -42,14 +42,15 @@ (case name [(includerkt) "include"] [(librkt) "lib"] + [(sharerkt) "share"] [(config) "etc"] - [(collects) (build-path "lib" "collects")] + [(collects) "collects"] [else (symbol->string name)]))) (define dirs (map (lambda (name) (list name (if base-destdir (build-dest-arg name) (get-arg)))) - '(bin collects doc lib includerkt librkt config man #|src|#))) + '(bin collects doc lib includerkt librkt sharerkt config man #|src|#))) (define (dir: name) (cadr (or (assq name dirs) (error 'getdir "unknown dir name: ~e" name)))) @@ -73,6 +74,7 @@ ;; if shared libraries are used, then these files should be moved ;; independently, as if they had a level of #f [(lib) 1] + [(share) 1] [(etc) 1] [(man) #f] [(src) 1] @@ -290,7 +292,7 @@ (define write-config (case-lambda - [() (write-config #t (dir: 'config))] + [() (write-config (dir: 'config))] [(configdir) (define (cpath . xs) (apply make-path configdir xs)) @@ -306,6 +308,7 @@ (when (eq? 'shared (system-type 'link)) ; never true for now (printf " (dll-dir . ~s)\n" (dir: 'lib))) (printf " (lib-dir . ~s)\n" (dir: 'librkt)) + (printf " (share-dir . ~s)\n" (dir: 'sharerkt)) (printf " (include-dir . ~s)\n" (dir: 'includerkt)) (printf " (bin-dir . ~s)\n" (dir: 'bin)) (printf " (man-dir . ~s)\n" (dir: 'man)) @@ -393,9 +396,9 @@ ;; All other platforms use "bin": (do-tree "bin" 'bin)) (do-tree "doc" 'doc #:missing 'skip) ; not included in text distros - ;; (do-tree ??? 'lib) ; shared stuff goes here - (do-tree "include" 'includerkt) (do-tree "lib" 'librkt) + (do-tree "include" 'includerkt) + (do-tree "share" 'sharerkt) (do-tree "etc" 'config) (do-tree "man" 'man) ;; (when (and (not (equal? (dir: 'src) "")) (directory-exists? "src")) @@ -426,7 +429,7 @@ (lambda (p) (regexp-match? #rx"^(?:[.].*|compiled)$" (basename p)))) (with-handlers ([exn? (lambda (e) (undo-changes) (raise e))]) (set! yes-to-all? #t) ; non-interactive - (copytree "lib/collects" 'collects) + (copytree "collects" 'collects) (copytree "doc" 'doc) (copytree "man" 'man) (unless origtree? (write-config)))) diff --git a/racket/lib/collects/setup/unpack.rkt b/racket/collects/setup/unpack.rkt similarity index 100% rename from racket/lib/collects/setup/unpack.rkt rename to racket/collects/setup/unpack.rkt diff --git a/racket/lib/collects/setup/variant.rkt b/racket/collects/setup/variant.rkt similarity index 100% rename from racket/lib/collects/setup/variant.rkt rename to racket/collects/setup/variant.rkt diff --git a/racket/lib/collects/setup/winstrip.rkt b/racket/collects/setup/winstrip.rkt similarity index 100% rename from racket/lib/collects/setup/winstrip.rkt rename to racket/collects/setup/winstrip.rkt diff --git a/racket/lib/collects/setup/winvers-change.rkt b/racket/collects/setup/winvers-change.rkt similarity index 100% rename from racket/lib/collects/setup/winvers-change.rkt rename to racket/collects/setup/winvers-change.rkt diff --git a/racket/lib/collects/setup/winvers.rkt b/racket/collects/setup/winvers.rkt similarity index 100% rename from racket/lib/collects/setup/winvers.rkt rename to racket/collects/setup/winvers.rkt diff --git a/racket/lib/collects/srfi/1.rkt b/racket/collects/srfi/1.rkt similarity index 100% rename from racket/lib/collects/srfi/1.rkt rename to racket/collects/srfi/1.rkt diff --git a/racket/lib/collects/srfi/1/alist.rkt b/racket/collects/srfi/1/alist.rkt similarity index 100% rename from racket/lib/collects/srfi/1/alist.rkt rename to racket/collects/srfi/1/alist.rkt diff --git a/racket/lib/collects/srfi/1/cons.rkt b/racket/collects/srfi/1/cons.rkt similarity index 100% rename from racket/lib/collects/srfi/1/cons.rkt rename to racket/collects/srfi/1/cons.rkt diff --git a/racket/lib/collects/srfi/1/delete.rkt b/racket/collects/srfi/1/delete.rkt similarity index 100% rename from racket/lib/collects/srfi/1/delete.rkt rename to racket/collects/srfi/1/delete.rkt diff --git a/racket/lib/collects/srfi/1/filter.rkt b/racket/collects/srfi/1/filter.rkt similarity index 100% rename from racket/lib/collects/srfi/1/filter.rkt rename to racket/collects/srfi/1/filter.rkt diff --git a/racket/lib/collects/srfi/1/fold.rkt b/racket/collects/srfi/1/fold.rkt similarity index 100% rename from racket/lib/collects/srfi/1/fold.rkt rename to racket/collects/srfi/1/fold.rkt diff --git a/racket/lib/collects/srfi/1/list.rkt b/racket/collects/srfi/1/list.rkt similarity index 100% rename from racket/lib/collects/srfi/1/list.rkt rename to racket/collects/srfi/1/list.rkt diff --git a/racket/lib/collects/srfi/1/lset.rkt b/racket/collects/srfi/1/lset.rkt similarity index 100% rename from racket/lib/collects/srfi/1/lset.rkt rename to racket/collects/srfi/1/lset.rkt diff --git a/racket/lib/collects/srfi/1/misc.rkt b/racket/collects/srfi/1/misc.rkt similarity index 100% rename from racket/lib/collects/srfi/1/misc.rkt rename to racket/collects/srfi/1/misc.rkt diff --git a/racket/lib/collects/srfi/1/predicate.rkt b/racket/collects/srfi/1/predicate.rkt similarity index 100% rename from racket/lib/collects/srfi/1/predicate.rkt rename to racket/collects/srfi/1/predicate.rkt diff --git a/racket/lib/collects/srfi/1/search.rkt b/racket/collects/srfi/1/search.rkt similarity index 100% rename from racket/lib/collects/srfi/1/search.rkt rename to racket/collects/srfi/1/search.rkt diff --git a/racket/lib/collects/srfi/1/selector.rkt b/racket/collects/srfi/1/selector.rkt similarity index 100% rename from racket/lib/collects/srfi/1/selector.rkt rename to racket/collects/srfi/1/selector.rkt diff --git a/racket/lib/collects/srfi/1/util.rkt b/racket/collects/srfi/1/util.rkt similarity index 100% rename from racket/lib/collects/srfi/1/util.rkt rename to racket/collects/srfi/1/util.rkt diff --git a/racket/lib/collects/srfi/13.rkt b/racket/collects/srfi/13.rkt similarity index 100% rename from racket/lib/collects/srfi/13.rkt rename to racket/collects/srfi/13.rkt diff --git a/racket/lib/collects/srfi/13/string.rkt b/racket/collects/srfi/13/string.rkt similarity index 100% rename from racket/lib/collects/srfi/13/string.rkt rename to racket/collects/srfi/13/string.rkt diff --git a/racket/lib/collects/srfi/14.rkt b/racket/collects/srfi/14.rkt similarity index 100% rename from racket/lib/collects/srfi/14.rkt rename to racket/collects/srfi/14.rkt diff --git a/racket/lib/collects/srfi/14/char-set.rkt b/racket/collects/srfi/14/char-set.rkt similarity index 100% rename from racket/lib/collects/srfi/14/char-set.rkt rename to racket/collects/srfi/14/char-set.rkt diff --git a/racket/lib/collects/srfi/19.rkt b/racket/collects/srfi/19.rkt similarity index 100% rename from racket/lib/collects/srfi/19.rkt rename to racket/collects/srfi/19.rkt diff --git a/racket/lib/collects/srfi/19/time.rkt b/racket/collects/srfi/19/time.rkt similarity index 100% rename from racket/lib/collects/srfi/19/time.rkt rename to racket/collects/srfi/19/time.rkt diff --git a/racket/lib/collects/srfi/29.rkt b/racket/collects/srfi/29.rkt similarity index 100% rename from racket/lib/collects/srfi/29.rkt rename to racket/collects/srfi/29.rkt diff --git a/racket/lib/collects/srfi/29/bundles/es/srfi-19 b/racket/collects/srfi/29/bundles/es/srfi-19 similarity index 100% rename from racket/lib/collects/srfi/29/bundles/es/srfi-19 rename to racket/collects/srfi/29/bundles/es/srfi-19 diff --git a/racket/lib/collects/srfi/29/bundles/srfi-19 b/racket/collects/srfi/29/bundles/srfi-19 similarity index 100% rename from racket/lib/collects/srfi/29/bundles/srfi-19 rename to racket/collects/srfi/29/bundles/srfi-19 diff --git a/racket/lib/collects/srfi/29/localization.rkt b/racket/collects/srfi/29/localization.rkt similarity index 100% rename from racket/lib/collects/srfi/29/localization.rkt rename to racket/collects/srfi/29/localization.rkt diff --git a/racket/lib/collects/srfi/8.rkt b/racket/collects/srfi/8.rkt similarity index 100% rename from racket/lib/collects/srfi/8.rkt rename to racket/collects/srfi/8.rkt diff --git a/racket/lib/collects/srfi/8/receive.rkt b/racket/collects/srfi/8/receive.rkt similarity index 100% rename from racket/lib/collects/srfi/8/receive.rkt rename to racket/collects/srfi/8/receive.rkt diff --git a/racket/lib/collects/srfi/optional.rkt b/racket/collects/srfi/optional.rkt similarity index 100% rename from racket/lib/collects/srfi/optional.rkt rename to racket/collects/srfi/optional.rkt diff --git a/racket/lib/collects/srfi/provider.rkt b/racket/collects/srfi/provider.rkt similarity index 100% rename from racket/lib/collects/srfi/provider.rkt rename to racket/collects/srfi/provider.rkt diff --git a/racket/lib/collects/syntax/boundmap.rkt b/racket/collects/syntax/boundmap.rkt similarity index 100% rename from racket/lib/collects/syntax/boundmap.rkt rename to racket/collects/syntax/boundmap.rkt diff --git a/racket/lib/collects/syntax/context.rkt b/racket/collects/syntax/context.rkt similarity index 100% rename from racket/lib/collects/syntax/context.rkt rename to racket/collects/syntax/context.rkt diff --git a/racket/lib/collects/syntax/datum.rkt b/racket/collects/syntax/datum.rkt similarity index 100% rename from racket/lib/collects/syntax/datum.rkt rename to racket/collects/syntax/datum.rkt diff --git a/racket/lib/collects/syntax/define.rkt b/racket/collects/syntax/define.rkt similarity index 100% rename from racket/lib/collects/syntax/define.rkt rename to racket/collects/syntax/define.rkt diff --git a/racket/lib/collects/syntax/doc.txt b/racket/collects/syntax/doc.txt similarity index 100% rename from racket/lib/collects/syntax/doc.txt rename to racket/collects/syntax/doc.txt diff --git a/racket/lib/collects/syntax/docprovide.rkt b/racket/collects/syntax/docprovide.rkt similarity index 100% rename from racket/lib/collects/syntax/docprovide.rkt rename to racket/collects/syntax/docprovide.rkt diff --git a/racket/lib/collects/syntax/flatten-begin.rkt b/racket/collects/syntax/flatten-begin.rkt similarity index 100% rename from racket/lib/collects/syntax/flatten-begin.rkt rename to racket/collects/syntax/flatten-begin.rkt diff --git a/racket/lib/collects/syntax/for-body.rkt b/racket/collects/syntax/for-body.rkt similarity index 100% rename from racket/lib/collects/syntax/for-body.rkt rename to racket/collects/syntax/for-body.rkt diff --git a/racket/lib/collects/syntax/free-vars.rkt b/racket/collects/syntax/free-vars.rkt similarity index 100% rename from racket/lib/collects/syntax/free-vars.rkt rename to racket/collects/syntax/free-vars.rkt diff --git a/racket/lib/collects/syntax/id-table.rkt b/racket/collects/syntax/id-table.rkt similarity index 100% rename from racket/lib/collects/syntax/id-table.rkt rename to racket/collects/syntax/id-table.rkt diff --git a/racket/lib/collects/syntax/kerncase.rkt b/racket/collects/syntax/kerncase.rkt similarity index 100% rename from racket/lib/collects/syntax/kerncase.rkt rename to racket/collects/syntax/kerncase.rkt diff --git a/racket/lib/collects/syntax/keyword.rkt b/racket/collects/syntax/keyword.rkt similarity index 100% rename from racket/lib/collects/syntax/keyword.rkt rename to racket/collects/syntax/keyword.rkt diff --git a/racket/lib/collects/syntax/location.rkt b/racket/collects/syntax/location.rkt similarity index 100% rename from racket/lib/collects/syntax/location.rkt rename to racket/collects/syntax/location.rkt diff --git a/racket/lib/collects/syntax/modcode.rkt b/racket/collects/syntax/modcode.rkt similarity index 100% rename from racket/lib/collects/syntax/modcode.rkt rename to racket/collects/syntax/modcode.rkt diff --git a/racket/lib/collects/syntax/modcollapse.rkt b/racket/collects/syntax/modcollapse.rkt similarity index 100% rename from racket/lib/collects/syntax/modcollapse.rkt rename to racket/collects/syntax/modcollapse.rkt diff --git a/racket/lib/collects/syntax/moddep.rkt b/racket/collects/syntax/moddep.rkt similarity index 100% rename from racket/lib/collects/syntax/moddep.rkt rename to racket/collects/syntax/moddep.rkt diff --git a/racket/lib/collects/syntax/modread.rkt b/racket/collects/syntax/modread.rkt similarity index 100% rename from racket/lib/collects/syntax/modread.rkt rename to racket/collects/syntax/modread.rkt diff --git a/racket/lib/collects/syntax/modresolve.rkt b/racket/collects/syntax/modresolve.rkt similarity index 100% rename from racket/lib/collects/syntax/modresolve.rkt rename to racket/collects/syntax/modresolve.rkt diff --git a/racket/lib/collects/syntax/module-reader.rkt b/racket/collects/syntax/module-reader.rkt similarity index 100% rename from racket/lib/collects/syntax/module-reader.rkt rename to racket/collects/syntax/module-reader.rkt diff --git a/racket/lib/collects/syntax/name.rkt b/racket/collects/syntax/name.rkt similarity index 100% rename from racket/lib/collects/syntax/name.rkt rename to racket/collects/syntax/name.rkt diff --git a/racket/lib/collects/syntax/parse.rkt b/racket/collects/syntax/parse.rkt similarity index 100% rename from racket/lib/collects/syntax/parse.rkt rename to racket/collects/syntax/parse.rkt diff --git a/racket/lib/collects/syntax/parse/debug.rkt b/racket/collects/syntax/parse/debug.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/debug.rkt rename to racket/collects/syntax/parse/debug.rkt diff --git a/racket/lib/collects/syntax/parse/define.rkt b/racket/collects/syntax/parse/define.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/define.rkt rename to racket/collects/syntax/parse/define.rkt diff --git a/racket/lib/collects/syntax/parse/experimental/contract.rkt b/racket/collects/syntax/parse/experimental/contract.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/experimental/contract.rkt rename to racket/collects/syntax/parse/experimental/contract.rkt diff --git a/racket/lib/collects/syntax/parse/experimental/eh.rkt b/racket/collects/syntax/parse/experimental/eh.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/experimental/eh.rkt rename to racket/collects/syntax/parse/experimental/eh.rkt diff --git a/racket/lib/collects/syntax/parse/experimental/private/substitute.rkt b/racket/collects/syntax/parse/experimental/private/substitute.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/experimental/private/substitute.rkt rename to racket/collects/syntax/parse/experimental/private/substitute.rkt diff --git a/racket/lib/collects/syntax/parse/experimental/provide.rkt b/racket/collects/syntax/parse/experimental/provide.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/experimental/provide.rkt rename to racket/collects/syntax/parse/experimental/provide.rkt diff --git a/racket/lib/collects/syntax/parse/experimental/reflect.rkt b/racket/collects/syntax/parse/experimental/reflect.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/experimental/reflect.rkt rename to racket/collects/syntax/parse/experimental/reflect.rkt diff --git a/racket/lib/collects/syntax/parse/experimental/specialize.rkt b/racket/collects/syntax/parse/experimental/specialize.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/experimental/specialize.rkt rename to racket/collects/syntax/parse/experimental/specialize.rkt diff --git a/racket/lib/collects/syntax/parse/experimental/splicing.rkt b/racket/collects/syntax/parse/experimental/splicing.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/experimental/splicing.rkt rename to racket/collects/syntax/parse/experimental/splicing.rkt diff --git a/racket/lib/collects/syntax/parse/experimental/template.rkt b/racket/collects/syntax/parse/experimental/template.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/experimental/template.rkt rename to racket/collects/syntax/parse/experimental/template.rkt diff --git a/racket/lib/collects/syntax/parse/pre.rkt b/racket/collects/syntax/parse/pre.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/pre.rkt rename to racket/collects/syntax/parse/pre.rkt diff --git a/racket/lib/collects/syntax/parse/private/3d-stx.rkt b/racket/collects/syntax/parse/private/3d-stx.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/3d-stx.rkt rename to racket/collects/syntax/parse/private/3d-stx.rkt diff --git a/racket/lib/collects/syntax/parse/private/keywords.rkt b/racket/collects/syntax/parse/private/keywords.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/keywords.rkt rename to racket/collects/syntax/parse/private/keywords.rkt diff --git a/racket/lib/collects/syntax/parse/private/kws.rkt b/racket/collects/syntax/parse/private/kws.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/kws.rkt rename to racket/collects/syntax/parse/private/kws.rkt diff --git a/racket/lib/collects/syntax/parse/private/lib.rkt b/racket/collects/syntax/parse/private/lib.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/lib.rkt rename to racket/collects/syntax/parse/private/lib.rkt diff --git a/racket/lib/collects/syntax/parse/private/litconv.rkt b/racket/collects/syntax/parse/private/litconv.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/litconv.rkt rename to racket/collects/syntax/parse/private/litconv.rkt diff --git a/racket/lib/collects/syntax/parse/private/minimatch.rkt b/racket/collects/syntax/parse/private/minimatch.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/minimatch.rkt rename to racket/collects/syntax/parse/private/minimatch.rkt diff --git a/racket/lib/collects/syntax/parse/private/opt.rkt b/racket/collects/syntax/parse/private/opt.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/opt.rkt rename to racket/collects/syntax/parse/private/opt.rkt diff --git a/racket/lib/collects/syntax/parse/private/parse-aux.rkt b/racket/collects/syntax/parse/private/parse-aux.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/parse-aux.rkt rename to racket/collects/syntax/parse/private/parse-aux.rkt diff --git a/racket/lib/collects/syntax/parse/private/parse.rkt b/racket/collects/syntax/parse/private/parse.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/parse.rkt rename to racket/collects/syntax/parse/private/parse.rkt diff --git a/racket/lib/collects/syntax/parse/private/rep-attrs.rkt b/racket/collects/syntax/parse/private/rep-attrs.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/rep-attrs.rkt rename to racket/collects/syntax/parse/private/rep-attrs.rkt diff --git a/racket/lib/collects/syntax/parse/private/rep-data.rkt b/racket/collects/syntax/parse/private/rep-data.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/rep-data.rkt rename to racket/collects/syntax/parse/private/rep-data.rkt diff --git a/racket/lib/collects/syntax/parse/private/rep-patterns.rkt b/racket/collects/syntax/parse/private/rep-patterns.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/rep-patterns.rkt rename to racket/collects/syntax/parse/private/rep-patterns.rkt diff --git a/racket/lib/collects/syntax/parse/private/rep.rkt b/racket/collects/syntax/parse/private/rep.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/rep.rkt rename to racket/collects/syntax/parse/private/rep.rkt diff --git a/racket/lib/collects/syntax/parse/private/residual-ct.rkt b/racket/collects/syntax/parse/private/residual-ct.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/residual-ct.rkt rename to racket/collects/syntax/parse/private/residual-ct.rkt diff --git a/racket/lib/collects/syntax/parse/private/residual.rkt b/racket/collects/syntax/parse/private/residual.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/residual.rkt rename to racket/collects/syntax/parse/private/residual.rkt diff --git a/racket/lib/collects/syntax/parse/private/runtime-progress.rkt b/racket/collects/syntax/parse/private/runtime-progress.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/runtime-progress.rkt rename to racket/collects/syntax/parse/private/runtime-progress.rkt diff --git a/racket/lib/collects/syntax/parse/private/runtime-reflect.rkt b/racket/collects/syntax/parse/private/runtime-reflect.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/runtime-reflect.rkt rename to racket/collects/syntax/parse/private/runtime-reflect.rkt diff --git a/racket/lib/collects/syntax/parse/private/runtime-report.rkt b/racket/collects/syntax/parse/private/runtime-report.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/runtime-report.rkt rename to racket/collects/syntax/parse/private/runtime-report.rkt diff --git a/racket/lib/collects/syntax/parse/private/runtime.rkt b/racket/collects/syntax/parse/private/runtime.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/runtime.rkt rename to racket/collects/syntax/parse/private/runtime.rkt diff --git a/racket/lib/collects/syntax/parse/private/sc.rkt b/racket/collects/syntax/parse/private/sc.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/sc.rkt rename to racket/collects/syntax/parse/private/sc.rkt diff --git a/racket/lib/collects/syntax/parse/private/txlift.rkt b/racket/collects/syntax/parse/private/txlift.rkt similarity index 100% rename from racket/lib/collects/syntax/parse/private/txlift.rkt rename to racket/collects/syntax/parse/private/txlift.rkt diff --git a/racket/lib/collects/syntax/parse/todo.txt b/racket/collects/syntax/parse/todo.txt similarity index 100% rename from racket/lib/collects/syntax/parse/todo.txt rename to racket/collects/syntax/parse/todo.txt diff --git a/racket/lib/collects/syntax/path-spec.rkt b/racket/collects/syntax/path-spec.rkt similarity index 100% rename from racket/lib/collects/syntax/path-spec.rkt rename to racket/collects/syntax/path-spec.rkt diff --git a/racket/lib/collects/syntax/primitives.rkt b/racket/collects/syntax/primitives.rkt similarity index 100% rename from racket/lib/collects/syntax/primitives.rkt rename to racket/collects/syntax/primitives.rkt diff --git a/racket/lib/collects/syntax/private/boundmap.rkt b/racket/collects/syntax/private/boundmap.rkt similarity index 100% rename from racket/lib/collects/syntax/private/boundmap.rkt rename to racket/collects/syntax/private/boundmap.rkt diff --git a/racket/lib/collects/syntax/private/doctable.rkt b/racket/collects/syntax/private/doctable.rkt similarity index 100% rename from racket/lib/collects/syntax/private/doctable.rkt rename to racket/collects/syntax/private/doctable.rkt diff --git a/racket/lib/collects/syntax/private/id-table.rkt b/racket/collects/syntax/private/id-table.rkt similarity index 100% rename from racket/lib/collects/syntax/private/id-table.rkt rename to racket/collects/syntax/private/id-table.rkt diff --git a/racket/lib/collects/syntax/private/keyword.rkt b/racket/collects/syntax/private/keyword.rkt similarity index 100% rename from racket/lib/collects/syntax/private/keyword.rkt rename to racket/collects/syntax/private/keyword.rkt diff --git a/racket/lib/collects/syntax/private/modcollapse-noctc.rkt b/racket/collects/syntax/private/modcollapse-noctc.rkt similarity index 100% rename from racket/lib/collects/syntax/private/modcollapse-noctc.rkt rename to racket/collects/syntax/private/modcollapse-noctc.rkt diff --git a/racket/lib/collects/syntax/private/modhelp.rkt b/racket/collects/syntax/private/modhelp.rkt similarity index 100% rename from racket/lib/collects/syntax/private/modhelp.rkt rename to racket/collects/syntax/private/modhelp.rkt diff --git a/racket/lib/collects/syntax/private/template-runtime.rkt b/racket/collects/syntax/private/template-runtime.rkt similarity index 100% rename from racket/lib/collects/syntax/private/template-runtime.rkt rename to racket/collects/syntax/private/template-runtime.rkt diff --git a/racket/lib/collects/syntax/private/util/expand.rkt b/racket/collects/syntax/private/util/expand.rkt similarity index 100% rename from racket/lib/collects/syntax/private/util/expand.rkt rename to racket/collects/syntax/private/util/expand.rkt diff --git a/racket/lib/collects/syntax/quote.rkt b/racket/collects/syntax/quote.rkt similarity index 100% rename from racket/lib/collects/syntax/quote.rkt rename to racket/collects/syntax/quote.rkt diff --git a/racket/lib/collects/syntax/readerr.rkt b/racket/collects/syntax/readerr.rkt similarity index 100% rename from racket/lib/collects/syntax/readerr.rkt rename to racket/collects/syntax/readerr.rkt diff --git a/racket/lib/collects/syntax/srcloc.rkt b/racket/collects/syntax/srcloc.rkt similarity index 100% rename from racket/lib/collects/syntax/srcloc.rkt rename to racket/collects/syntax/srcloc.rkt diff --git a/racket/lib/collects/syntax/strip-context.rkt b/racket/collects/syntax/strip-context.rkt similarity index 100% rename from racket/lib/collects/syntax/strip-context.rkt rename to racket/collects/syntax/strip-context.rkt diff --git a/racket/lib/collects/syntax/struct.rkt b/racket/collects/syntax/struct.rkt similarity index 100% rename from racket/lib/collects/syntax/struct.rkt rename to racket/collects/syntax/struct.rkt diff --git a/racket/lib/collects/syntax/stx.rkt b/racket/collects/syntax/stx.rkt similarity index 100% rename from racket/lib/collects/syntax/stx.rkt rename to racket/collects/syntax/stx.rkt diff --git a/racket/lib/collects/syntax/template.rkt b/racket/collects/syntax/template.rkt similarity index 100% rename from racket/lib/collects/syntax/template.rkt rename to racket/collects/syntax/template.rkt diff --git a/racket/lib/collects/syntax/to-string.rkt b/racket/collects/syntax/to-string.rkt similarity index 100% rename from racket/lib/collects/syntax/to-string.rkt rename to racket/collects/syntax/to-string.rkt diff --git a/racket/lib/collects/syntax/toplevel.rkt b/racket/collects/syntax/toplevel.rkt similarity index 100% rename from racket/lib/collects/syntax/toplevel.rkt rename to racket/collects/syntax/toplevel.rkt diff --git a/racket/lib/collects/syntax/trusted-xforms.rkt b/racket/collects/syntax/trusted-xforms.rkt similarity index 100% rename from racket/lib/collects/syntax/trusted-xforms.rkt rename to racket/collects/syntax/trusted-xforms.rkt diff --git a/racket/lib/collects/unstable/custom-write.rkt b/racket/collects/unstable/custom-write.rkt similarity index 100% rename from racket/lib/collects/unstable/custom-write.rkt rename to racket/collects/unstable/custom-write.rkt diff --git a/racket/lib/collects/unstable/error.rkt b/racket/collects/unstable/error.rkt similarity index 100% rename from racket/lib/collects/unstable/error.rkt rename to racket/collects/unstable/error.rkt diff --git a/racket/lib/collects/unstable/markparam.rkt b/racket/collects/unstable/markparam.rkt similarity index 100% rename from racket/lib/collects/unstable/markparam.rkt rename to racket/collects/unstable/markparam.rkt diff --git a/racket/lib/collects/unstable/sequence.rkt b/racket/collects/unstable/sequence.rkt similarity index 100% rename from racket/lib/collects/unstable/sequence.rkt rename to racket/collects/unstable/sequence.rkt diff --git a/racket/lib/collects/unstable/socket.rkt b/racket/collects/unstable/socket.rkt similarity index 100% rename from racket/lib/collects/unstable/socket.rkt rename to racket/collects/unstable/socket.rkt diff --git a/racket/lib/collects/unstable/struct.rkt b/racket/collects/unstable/struct.rkt similarity index 100% rename from racket/lib/collects/unstable/struct.rkt rename to racket/collects/unstable/struct.rkt diff --git a/racket/lib/collects/unstable/syntax.rkt b/racket/collects/unstable/syntax.rkt similarity index 100% rename from racket/lib/collects/unstable/syntax.rkt rename to racket/collects/unstable/syntax.rkt diff --git a/racket/lib/collects/unstable/wrapc.rkt b/racket/collects/unstable/wrapc.rkt similarity index 100% rename from racket/lib/collects/unstable/wrapc.rkt rename to racket/collects/unstable/wrapc.rkt diff --git a/racket/lib/collects/version/check.rkt b/racket/collects/version/check.rkt similarity index 100% rename from racket/lib/collects/version/check.rkt rename to racket/collects/version/check.rkt diff --git a/racket/lib/collects/version/patchlevel.rkt b/racket/collects/version/patchlevel.rkt similarity index 100% rename from racket/lib/collects/version/patchlevel.rkt rename to racket/collects/version/patchlevel.rkt diff --git a/racket/lib/collects/version/utils.rkt b/racket/collects/version/utils.rkt similarity index 100% rename from racket/lib/collects/version/utils.rkt rename to racket/collects/version/utils.rkt diff --git a/racket/lib/collects/xml/main.rkt b/racket/collects/xml/main.rkt similarity index 100% rename from racket/lib/collects/xml/main.rkt rename to racket/collects/xml/main.rkt diff --git a/racket/lib/collects/xml/path.rkt b/racket/collects/xml/path.rkt similarity index 100% rename from racket/lib/collects/xml/path.rkt rename to racket/collects/xml/path.rkt diff --git a/racket/lib/collects/xml/plist.rkt b/racket/collects/xml/plist.rkt similarity index 100% rename from racket/lib/collects/xml/plist.rkt rename to racket/collects/xml/plist.rkt diff --git a/racket/lib/collects/xml/private/core.rkt b/racket/collects/xml/private/core.rkt similarity index 100% rename from racket/lib/collects/xml/private/core.rkt rename to racket/collects/xml/private/core.rkt diff --git a/racket/lib/collects/xml/private/reader.rkt b/racket/collects/xml/private/reader.rkt similarity index 100% rename from racket/lib/collects/xml/private/reader.rkt rename to racket/collects/xml/private/reader.rkt diff --git a/racket/lib/collects/xml/private/space.rkt b/racket/collects/xml/private/space.rkt similarity index 100% rename from racket/lib/collects/xml/private/space.rkt rename to racket/collects/xml/private/space.rkt diff --git a/racket/lib/collects/xml/private/structures.rkt b/racket/collects/xml/private/structures.rkt similarity index 100% rename from racket/lib/collects/xml/private/structures.rkt rename to racket/collects/xml/private/structures.rkt diff --git a/racket/lib/collects/xml/private/syntax.rkt b/racket/collects/xml/private/syntax.rkt similarity index 100% rename from racket/lib/collects/xml/private/syntax.rkt rename to racket/collects/xml/private/syntax.rkt diff --git a/racket/lib/collects/xml/private/writer.rkt b/racket/collects/xml/private/writer.rkt similarity index 100% rename from racket/lib/collects/xml/private/writer.rkt rename to racket/collects/xml/private/writer.rkt diff --git a/racket/lib/collects/xml/private/xexpr-core.rkt b/racket/collects/xml/private/xexpr-core.rkt similarity index 100% rename from racket/lib/collects/xml/private/xexpr-core.rkt rename to racket/collects/xml/private/xexpr-core.rkt diff --git a/racket/lib/collects/xml/private/xexpr.rkt b/racket/collects/xml/private/xexpr.rkt similarity index 100% rename from racket/lib/collects/xml/private/xexpr.rkt rename to racket/collects/xml/private/xexpr.rkt diff --git a/racket/lib/collects/xml/xexpr.rkt b/racket/collects/xml/xexpr.rkt similarity index 100% rename from racket/lib/collects/xml/xexpr.rkt rename to racket/collects/xml/xexpr.rkt diff --git a/racket/lib/collects/xml/xml.rkt b/racket/collects/xml/xml.rkt similarity index 100% rename from racket/lib/collects/xml/xml.rkt rename to racket/collects/xml/xml.rkt diff --git a/racket/lib/.gitignore b/racket/lib/.gitignore deleted file mode 100644 index 83693cd706..0000000000 --- a/racket/lib/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Ignore anything other than the "collects" directory -/* -!/collects/ diff --git a/racket/src/Makefile.in b/racket/src/Makefile.in index a657e24c98..685b8fd22c 100644 --- a/racket/src/Makefile.in +++ b/racket/src/Makefile.in @@ -2,16 +2,19 @@ # Builds Racket and GRacket (if enabled), and # drives the main install +PACKAGE = racket + srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ bindir = @bindir@ libdir = @libdir@ includepltdir = @includepltdir@ libpltdir = @libpltdir@ +sharepltdir = @sharepltdir@ configdir = @etcpltdir@ collectsdir = @collectsdir@ -datarootdir = @datarootdir@ mandir = @mandir@ docdir = @docdir@ builddir = @builddir@ @@ -34,6 +37,7 @@ ALLDIRINFO = "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(libdir)" \ "$(DESTDIR)$(includepltdir)" \ "$(DESTDIR)$(libpltdir)" \ + "$(DESTDIR)$(sharepltdir)" \ "$(DESTDIR)$(configdir)" \ "$(DESTDIR)$(mandir)" @@ -70,7 +74,8 @@ both: # Install (common) ---------------------------------------- -SETUP_ARGS = $(SELF_RACKET_FLAGS) -X @DIRCVTPRE@"$(DESTDIR)$(collectsdir)"@DIRCVTPOST@ -N "raco setup" -l- setup $(PLT_SETUP_OPTIONS) $(PLT_ISO) @INSTALL_SETUP_FLAGS@ +INST_CONFIG = -X @DIRCVTPRE@"$(DESTDIR)$(collectsdir)"@DIRCVTPOST@ -G @DIRCVTPRE@"$(DESTDIR)$(configdir)"@DIRCVTPOST@ +SETUP_ARGS = $(INST_CONFIG) $(SELF_RACKET_FLAGS) -N "raco setup" -l- setup $(PLT_SETUP_OPTIONS) $(PLT_ISO) @INSTALL_SETUP_FLAGS@ # Pass compile and link flags to `make install' for use by any # collection-setup actions that compile and link C code: @@ -98,7 +103,7 @@ install-common-middle: install-common-last: $(MAKE) fix-paths $(MAKE) @MAKE_INSTALL_PKGSCOPE@-raco-pkg-default-scope - $(ICP) $(COPYING) "$(DESTDIR)$(libpltdir)"/ + $(ICP) $(COPYING) "$(DESTDIR)$(sharepltdir)"/ install-no: $(NOOP) diff --git a/racket/src/configure b/racket/src/configure index 6694a32823..7b21e2f95e 100755 --- a/racket/src/configure +++ b/racket/src/configure @@ -637,7 +637,7 @@ oldincludedir docdir infodir htmldir -dvidir +collectsdir pdfdir psdir libdir @@ -749,6 +749,7 @@ LTO LTA collectsdir libpltdir +sharepltdir etcpltdir includepltdir COLLECTS_PATH @@ -820,7 +821,7 @@ oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' infodir='${datarootdir}/info' htmldir='${docdir}' -dvidir='${docdir}' +collectsdir='${exec_prefix}/share/${PACKAGE}/collects' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' @@ -895,10 +896,10 @@ do -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; + -collectsdir | --collectsdir | --collectsdi | --collectsd | --collects | --dv) + ac_prev=collectsdir ;; + -collectsdir=* | --collectsdir=* | --collectsdi=* | --collectsd=* | --collects=* | --dv=*) + collectsdir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` @@ -1167,7 +1168,7 @@ fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + oldincludedir docdir infodir htmldir collectsdir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var @@ -1323,6 +1324,7 @@ Fine tuning of the installation directories: --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --collectsdir=DIR collects documentation [EPREFIX/share/PACKAGE/collects] _ACEOF cat <<\_ACEOF @@ -2299,6 +2301,13 @@ if test "${mandir}" != '${prefix}/man' ; then unixstyle=yes fi fi +if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then + unixstyle=yes +fi +if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then + unixstyle=yes +fi + MAKE_COPYTREE=no if test "${unixstyle}" = "no" ; then @@ -2310,11 +2319,13 @@ if test "${unixstyle}" = "no" ; then fi bindir='${prefix}/bin' libpltdir='${prefix}/lib' + sharepltdir='${prefix}/share' etcpltdir='${prefix}/etc' includepltdir='${prefix}/include' docdir='${prefix}/doc' mandir='${prefix}/man' - COLLECTS_PATH="../lib/collects" + collectsdir='${prefix}/collects' + COLLECTS_PATH="../collects" CONFIG_PATH="../etc" INSTALL_ORIG_TREE=yes else @@ -2322,18 +2333,16 @@ else # Set prefix explicitly so we can use it during configure prefix="${ac_default_prefix}" fi - libpltdir="${libdir}/racket" - etcpltdir="${sysconfdir}/racket" - includepltdir="${includedir}/racket" - docdir="${datadir}/doc/racket" + libpltdir="${libdir}/"'${PACKAGE}' + sharepltdir="${datadir}/"'${PACKAGE}' + etcpltdir="${sysconfdir}/"'${PACKAGE}' + includepltdir="${includedir}/"'${PACKAGE}' MAKE_COPYTREE=copytree COLLECTS_PATH='${collectsdir}' CONFIG_PATH='${etcpltdir}' INSTALL_ORIG_TREE=no fi -collectsdir="${libpltdir}/collects" - ###### Make sure GRacket is really there ###### if test "${enable_gracket}" = "yes" ; then @@ -4147,7 +4156,7 @@ case "$host_os" in MZINSTALLTARGET=mingw-install MZINSTALLBINDIR="${MZINSTALLBINDIR}/.." EXE_SUFFIX=".exe" - COLLECTS_PATH="lib/collects" + COLLECTS_PATH="collects" CONFIG_PATH="lib" skip_iconv_check=yes check_for_mprotect=no @@ -9242,6 +9251,7 @@ LIBS="$LIBS $EXTRALIBS" + mk_needed_dir() @@ -9955,7 +9965,7 @@ oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim +collectsdir!$collectsdir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim @@ -10108,6 +10118,7 @@ LTO!$LTO$ac_delim LTA!$LTA$ac_delim collectsdir!$collectsdir$ac_delim libpltdir!$libpltdir$ac_delim +sharepltdir!$sharepltdir$ac_delim etcpltdir!$etcpltdir$ac_delim includepltdir!$includepltdir$ac_delim COLLECTS_PATH!$COLLECTS_PATH$ac_delim @@ -10130,7 +10141,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 58; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 59; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 @@ -10753,16 +10764,19 @@ if test "${inplacebuild}" = "yes" ; then fi else echo ">>> Installation targets:" - echo " executables : ${bindir}/..." - echo " core docs : ${docdir}/..." - echo " C libraries : ${libdir}/..." - echo " C headers : ${includepltdir}/..." - echo " libraries : ${libpltdir}/..." - echo " configuration : ${etcpltdir}/..." - echo " man pages : ${mandir}/..." + echo " executables : ${bindir}/..." + echo " core docs : ${docdir}/..." + echo " C libraries : ${libdir}/..." + echo " C headers : ${includepltdir}/..." + echo " platform libraries : ${libpltdir}/..." + echo " common libraries : ${sharepltdir}/..." + echo " core collections : ${collectsdir}/..." + echo " configuration : ${etcpltdir}/..." + echo " man pages : ${mandir}/..." echo " where prefix = ${prefix}" echo " and datarootdir = ${datarootdir}" if test "${unixstyle}" = "yes" ; then echo " and exec_prefix = ${exec_prefix}" + echo " and PACKAGE = racket" fi fi diff --git a/racket/src/gracket/Makefile.in b/racket/src/gracket/Makefile.in index 7d1444f8cb..c52608e835 100644 --- a/racket/src/gracket/Makefile.in +++ b/racket/src/gracket/Makefile.in @@ -2,12 +2,17 @@ # Makefile for gracket # +PACKAGE = racket + srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ bindir = @bindir@ libdir = @libdir@ libpltdir = @libpltdir@ +etcpltdir = @etcpltdir@ +sharepltdir = @sharepltdir@ collectsdir = @collectsdir@ builddir = @builddir@ @@ -128,7 +133,7 @@ solaris-static: linux-static: $(MAKE) gracket MRSTATIC=--static LDNONSTATICLIBS='-ldl' -DEF_COLLECTS_DIR = -DINITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../lib/collects; @PWD@`"'"' +DEF_COLLECTS_DIR = -DINITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../collects; @PWD@`"'"' DEF_CONFIG_DIR = -DINITIAL_CONFIG_DIRECTORY='"'"`cd $(srcdir)/../..; @PWD@`/etc"'"' DEF_C_DIRS = $(DEF_COLLECTS_DIR) $(DEF_CONFIG_DIR) @@ -212,7 +217,7 @@ install-lib-3m-wx_xt: install-wx_xt-3m: $(MAKE) @MRLIBINSTALL@-3m-wx_xt - cd ..; $(ICP) gracket/gracket@MMM@ "$(DESTDIR)$(libdir)/gracket@MMM_INSTALLED@" + cd ..; $(ICP) gracket/gracket@MMM@ "$(DESTDIR)$(libpltdir)/gracket@MMM_INSTALLED@" cd ..; @STRIP_DEBUG@ "$(DESTDIR)$(libpltdir)/gracket@MMM_INSTALLED@" @RUN_RACKET_MMM@ $(SELF_RACKET_FLAGS) -cu "$(srcdir)/../racket/collects-path.rkt" @DIRCVTPRE@"$(DESTDIR)$(libpltdir)/gracket@MMM_INSTALLED@@EXE_SUFFIX@"@DIRCVTPOST@ @COLLECTS_PATH@ @CONFIG_PATH@ diff --git a/racket/src/gracket/gc2/Makefile.in b/racket/src/gracket/gc2/Makefile.in index 5195cfb91c..d7f9248316 100644 --- a/racket/src/gracket/gc2/Makefile.in +++ b/racket/src/gracket/gc2/Makefile.in @@ -1,11 +1,15 @@ +PACKAGE = racket + srcdir = @srcdir@ builddir = @builddir@ prefix = @prefix@ exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ bindir = @bindir@ libdir = @libdir@ libpltdir = @libpltdir@ +sharepltdir = @sharepltdir@ collectsdir = @collectsdir@ # for version.mak: @@ -58,7 +62,7 @@ XFORMDEP = $(srcdir)/../../racket/gc2/xform.rkt $(srcdir)/../../racket/gc2/xform GRACKETLDFLAGS = $(LDFLAGS) -L../../racket -DEF_COLLECTS_DIR = +D INITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../../lib/collects; @PWD@`"'"' +DEF_COLLECTS_DIR = +D INITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../../collects; @PWD@`"'"' DEF_CONFIG_DIR = +D INITIAL_CONFIG_DIRECTORY='"'"`cd $(srcdir)/../../..; @PWD@`/etc"'"' DEF_C_DIRS = $(DEF_COLLECTS_DIR) $(DEF_CONFIG_DIR) diff --git a/racket/src/link-all.rkt b/racket/src/link-all.rkt index 29b35813a7..ef53e96666 100644 --- a/racket/src/link-all.rkt +++ b/racket/src/link-all.rkt @@ -11,7 +11,7 @@ (define config-dir-path (build-path "racket" "etc")) (define config-file-path (build-path config-dir-path "config.rktd")) (define devel-pkgs-rel-dir (build-path "devel-pkgs")) -(define devel-pkgs-dir (build-path "racket" "lib" devel-pkgs-rel-dir)) +(define devel-pkgs-dir (build-path "racket" "share" devel-pkgs-rel-dir)) (define only-platform? #f) (define save? #f) @@ -64,9 +64,9 @@ (newline o))))) (define devel-pkgs-bytes - (path->bytes (build-path 'up devel-pkgs-rel-dir))) + (path->bytes (build-path 'up "share" devel-pkgs-rel-dir))) (define devel-links-bytes - (path->bytes (build-path 'up devel-pkgs-rel-dir "links.rktd"))) + (path->bytes (build-path 'up "share" devel-pkgs-rel-dir "links.rktd"))) (when (file-exists? config-file-path) (call-with-input-file* diff --git a/racket/src/racket/Makefile.in b/racket/src/racket/Makefile.in index 9a1ca1458c..de813c70b4 100644 --- a/racket/src/racket/Makefile.in +++ b/racket/src/racket/Makefile.in @@ -2,13 +2,18 @@ # Makefile for racket # +PACKAGE = racket + srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ bindir = @bindir@ libdir = @libdir@ includepltdir = @includepltdir@ libpltdir = @libpltdir@ +etcpltdir = @etcpltdir@ +sharepltdir = @sharepltdir@ collectsdir = @collectsdir@ builddir = @builddir@ @@ -216,7 +221,7 @@ racket.multiboot : libracket.@LIBSFX@ libmzgc.@LIBSFX@ main.@LTO@ # ---------------------------------------- -DEF_COLLECTS_DIR = -DINITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../lib/collects; @PWD@`"'"' +DEF_COLLECTS_DIR = -DINITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../collects; @PWD@`"'"' DEF_CONFIG_DIR = -DINITIAL_CONFIG_DIRECTORY='"'"`cd $(srcdir)/../..; @PWD@`/etc"'"' DEF_C_DIRS = $(DEF_COLLECTS_DIR) $(DEF_CONFIG_DIR) diff --git a/racket/src/racket/cmdline.inc b/racket/src/racket/cmdline.inc index 42abbff80e..5682296102 100644 --- a/racket/src/racket/cmdline.inc +++ b/racket/src/racket/cmdline.inc @@ -24,9 +24,9 @@ char * volatile scheme_binary_type_hack = "bINARy tYPe:" INITIAL_BIN_TYPE GC_PRE #ifndef INITIAL_COLLECTS_DIRECTORY # ifdef DOS_FILE_SYSTEM -# define INITIAL_COLLECTS_DIRECTORY "lib/collects" +# define INITIAL_COLLECTS_DIRECTORY "collects" # else -# define INITIAL_COLLECTS_DIRECTORY "../lib/collects" +# define INITIAL_COLLECTS_DIRECTORY "../collects" # endif #endif diff --git a/racket/src/racket/configure.ac b/racket/src/racket/configure.ac index 9ba7325b6e..98192737ed 100644 --- a/racket/src/racket/configure.ac +++ b/racket/src/racket/configure.ac @@ -197,6 +197,13 @@ if test "${mandir}" != '${prefix}/man' ; then unixstyle=yes fi fi +if test "${docdir}" != '${datarootdir}/doc/${PACKAGE}' ; then + unixstyle=yes +fi +if test "${collectsdir}" != '${exec_prefix}/share/${PACKAGE}/collects' ; then + unixstyle=yes +fi + MAKE_COPYTREE=no if test "${unixstyle}" = "no" ; then @@ -208,11 +215,13 @@ if test "${unixstyle}" = "no" ; then fi bindir='${prefix}/bin' libpltdir='${prefix}/lib' + sharepltdir='${prefix}/share' etcpltdir='${prefix}/etc' includepltdir='${prefix}/include' docdir='${prefix}/doc' mandir='${prefix}/man' - COLLECTS_PATH="../lib/collects" + collectsdir='${prefix}/collects' + COLLECTS_PATH="../collects" CONFIG_PATH="../etc" INSTALL_ORIG_TREE=yes else @@ -220,18 +229,16 @@ else # Set prefix explicitly so we can use it during configure prefix="${ac_default_prefix}" fi - libpltdir="${libdir}/racket" - etcpltdir="${sysconfdir}/racket" - includepltdir="${includedir}/racket" - docdir="${datadir}/doc/racket" + libpltdir="${libdir}/"'${PACKAGE}' + sharepltdir="${datadir}/"'${PACKAGE}' + etcpltdir="${sysconfdir}/"'${PACKAGE}' + includepltdir="${includedir}/"'${PACKAGE}' MAKE_COPYTREE=copytree COLLECTS_PATH='${collectsdir}' CONFIG_PATH='${etcpltdir}' INSTALL_ORIG_TREE=no fi -collectsdir="${libpltdir}/collects" - ###### Make sure GRacket is really there ###### if test "${enable_gracket}" = "yes" ; then @@ -646,7 +653,7 @@ case "$host_os" in MZINSTALLTARGET=mingw-install MZINSTALLBINDIR="${MZINSTALLBINDIR}/.." EXE_SUFFIX=".exe" - COLLECTS_PATH="lib/collects" + COLLECTS_PATH="collects" CONFIG_PATH="lib" skip_iconv_check=yes check_for_mprotect=no @@ -1513,6 +1520,7 @@ AC_SUBST(LTA) AC_SUBST(collectsdir) AC_SUBST(libpltdir) +AC_SUBST(sharepltdir) AC_SUBST(etcpltdir) AC_SUBST(includepltdir) AC_SUBST(docdir) @@ -1593,16 +1601,19 @@ if test "${inplacebuild}" = "yes" ; then fi else echo ">>> Installation targets:" - echo " executables : ${bindir}/..." - echo " core docs : ${docdir}/..." - echo " C libraries : ${libdir}/..." - echo " C headers : ${includepltdir}/..." - echo " libraries : ${libpltdir}/..." - echo " configuration : ${etcpltdir}/..." - echo " man pages : ${mandir}/..." + echo " executables : ${bindir}/..." + echo " core docs : ${docdir}/..." + echo " C libraries : ${libdir}/..." + echo " C headers : ${includepltdir}/..." + echo " platform libraries : ${libpltdir}/..." + echo " common libraries : ${sharepltdir}/..." + echo " core collections : ${collectsdir}/..." + echo " configuration : ${etcpltdir}/..." + echo " man pages : ${mandir}/..." echo " where prefix = ${prefix}" echo " and datarootdir = ${datarootdir}" if test "${unixstyle}" = "yes" ; then echo " and exec_prefix = ${exec_prefix}" + echo " and PACKAGE = racket" fi fi diff --git a/racket/src/racket/dynsrc/Makefile.in b/racket/src/racket/dynsrc/Makefile.in index 44911620bb..b3a2586274 100644 --- a/racket/src/racket/dynsrc/Makefile.in +++ b/racket/src/racket/dynsrc/Makefile.in @@ -5,10 +5,14 @@ # dynlink is a script that uses the right set of link commands DYNLINK = mzc --ld +PACKAGE = racket + srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ libpltdir = @libpltdir@ +sharepltdir = @sharepltdir@ builddir = @builddir@ MZSRC = $(srcdir)/../src diff --git a/racket/src/racket/gc2/Makefile.in b/racket/src/racket/gc2/Makefile.in index 7b09857ac6..84a90534d2 100644 --- a/racket/src/racket/gc2/Makefile.in +++ b/racket/src/racket/gc2/Makefile.in @@ -1,10 +1,14 @@ +PACKAGE = racket + srcdir = @srcdir@ builddir = @builddir@ prefix = @prefix@ exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ bindir = @bindir@ libdir = @libdir@ libpltdir = @libpltdir@ +sharepltdir = @sharepltdir@ collectsdir = @collectsdir@ # for version.mak: @@ -29,7 +33,7 @@ LIBFFI_INCLUDE_OFF = ARLIBFLAGS = @LDFLAGS@ $(LIBS) -DEF_COLLECTS_DIR = +D INITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../../lib/collects; @PWD@`"'"' +DEF_COLLECTS_DIR = +D INITIAL_COLLECTS_DIRECTORY='"'"`cd $(srcdir)/../../../collects; @PWD@`"'"' DEF_CONFIG_DIR = +D INITIAL_CONFIG_DIRECTORY='"'"`cd $(srcdir)/../../..; @PWD@`/etc"'"' DEF_C_DIRS = $(DEF_COLLECTS_DIR) $(DEF_CONFIG_DIR) diff --git a/racket/src/racket/make-configure b/racket/src/racket/make-configure index bbd2370ae4..33e590c972 100755 --- a/racket/src/racket/make-configure +++ b/racket/src/racket/make-configure @@ -8,10 +8,11 @@ echo "Creating $tgt from $src" if [ -e "$tgt" ]; then /bin/echo -n "overwriting $tgt, Ctrl-C to abort, enter to continue "; read R; fi -autoconf "$src" | racket -qr "$0" > "$tgt" +autoconf "$src" | racket "$0" > "$tgt" chmod +x "$tgt" exit 0 |# +#lang racket/base ;; When autoconf produces `configure', it includes many ;; options that do not apply to Racket. We want to @@ -31,7 +32,7 @@ exit 0 oldincludedir infodir htmldir - dvidir + ;; dvidir - converted to "collectsdir" pdfdir psdir localedir))) @@ -62,6 +63,16 @@ exit 0 indent) (displayln l2)) (loop #f)] + [(regexp-match #rx"dvidir" l) + ;; Hack: take over "dvidir" for "collectsdir": + (cond + [(equal? l "dvidir='${docdir}'") + (displayln "collectsdir='${exec_prefix}/share/${PACKAGE}/collects'")] + [(equal? l " --dvidir=DIR dvi documentation [DOCDIR]") + (displayln " --collectsdir=DIR collects documentation [EPREFIX/share/PACKAGE/collects]")] + [else + (displayln (regexp-replace* #rx"dvi" l "collects"))]) + (loop in-subconfig?)] [else ;; Copy (displayln l) diff --git a/racket/src/racket/src/cstartup.inc b/racket/src/racket/src/cstartup.inc index d536e57294..6e50fca29c 100644 --- a/racket/src/racket/src/cstartup.inc +++ b/racket/src/racket/src/cstartup.inc @@ -1,418 +1,408 @@ { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,51,46,57,48,48,46,55,84,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,1,0,0,10,0, -14,0,21,0,28,0,33,0,37,0,40,0,45,0,58,0,62,0,67,0,74, -0,83,0,87,0,93,0,107,0,121,0,124,0,130,0,134,0,136,0,147,0, -149,0,163,0,170,0,192,0,194,0,208,0,19,1,48,1,59,1,70,1,96, -1,129,1,162,1,224,1,24,2,105,2,161,2,166,2,187,2,84,3,105,3, -158,3,225,3,114,4,2,5,56,5,67,5,150,5,0,0,113,7,0,0,69, -35,37,109,105,110,45,115,116,120,29,11,11,11,66,100,101,102,105,110,101,66, -108,101,116,114,101,99,64,108,101,116,42,63,97,110,100,62,111,114,64,119,104, -101,110,72,112,97,114,97,109,101,116,101,114,105,122,101,63,108,101,116,64,99, -111,110,100,66,117,110,108,101,115,115,68,104,101,114,101,45,115,116,120,29,11, -11,11,65,113,117,111,116,101,29,94,2,15,68,35,37,107,101,114,110,101,108, -11,29,94,2,15,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,90,0,0,95,159,2,17,36,36,159,2,16,36,36,159,2,16,36, -36,16,20,2,3,2,2,2,4,2,2,2,5,2,2,2,6,2,2,2,7, -2,2,2,8,2,2,2,11,2,2,2,10,2,2,2,9,2,2,2,12,2, -2,97,37,11,8,240,81,90,0,0,93,159,2,16,36,37,16,2,2,13,161, -2,2,37,2,13,2,2,2,13,96,38,11,8,240,81,90,0,0,16,0,96, -11,11,8,240,81,90,0,0,16,0,18,98,64,104,101,114,101,13,16,6,36, -2,14,2,2,11,11,11,8,32,8,31,8,30,8,29,27,248,22,161,4,195, -249,22,154,4,80,158,39,36,251,22,89,2,18,248,22,101,199,12,249,22,79, -2,19,248,22,103,201,27,248,22,161,4,195,249,22,154,4,80,158,39,36,251, -22,89,2,18,248,22,101,199,249,22,79,2,19,248,22,103,201,12,27,248,22, -81,248,22,161,4,196,28,248,22,87,193,20,14,159,37,36,37,28,248,22,87, -248,22,81,194,248,22,136,18,193,249,22,154,4,80,158,39,36,251,22,89,2, -18,248,22,136,18,199,249,22,79,2,6,248,22,137,18,201,11,18,100,10,13, -16,6,36,2,14,2,2,11,11,11,8,32,8,31,8,30,8,29,16,4,11, -11,2,20,3,1,8,101,110,118,49,55,53,55,51,16,4,11,11,2,21,3, -1,8,101,110,118,49,55,53,55,52,27,248,22,81,248,22,161,4,196,28,248, -22,87,193,20,14,159,37,36,37,28,248,22,87,248,22,81,194,248,22,136,18, -193,249,22,154,4,80,158,39,36,250,22,89,2,22,248,22,89,249,22,89,248, -22,89,2,23,248,22,136,18,201,251,22,89,2,18,2,23,2,23,249,22,79, -2,7,248,22,137,18,204,18,100,11,13,16,6,36,2,14,2,2,11,11,11, -8,32,8,31,8,30,8,29,16,4,11,11,2,20,3,1,8,101,110,118,49, -55,53,55,54,16,4,11,11,2,21,3,1,8,101,110,118,49,55,53,55,55, -248,22,161,4,193,27,248,22,161,4,194,249,22,79,248,22,89,248,22,80,196, -248,22,137,18,195,27,248,22,81,248,22,161,4,23,197,1,249,22,154,4,80, -158,39,36,28,248,22,64,248,22,155,4,248,22,80,23,198,2,27,249,22,2, -32,0,88,163,8,36,37,43,11,9,222,33,40,248,22,161,4,248,22,101,23, -200,2,250,22,89,2,24,248,22,89,249,22,89,248,22,89,248,22,136,18,23, -204,2,250,22,90,2,25,249,22,2,22,80,23,204,2,248,22,103,23,206,2, -249,22,79,248,22,136,18,23,202,1,249,22,2,22,101,23,200,1,250,22,90, -2,22,249,22,2,32,0,88,163,8,36,37,47,11,9,222,33,41,248,22,161, -4,248,22,136,18,201,248,22,137,18,198,27,248,22,161,4,194,249,22,79,248, -22,89,248,22,80,196,248,22,137,18,195,27,248,22,81,248,22,161,4,23,197, -1,249,22,154,4,80,158,39,36,250,22,90,2,24,249,22,2,32,0,88,163, -8,36,37,47,11,9,222,33,43,248,22,161,4,248,22,80,201,248,22,137,18, -198,27,248,22,81,248,22,161,4,196,27,248,22,161,4,248,22,80,195,249,22, -154,4,80,158,40,36,28,248,22,87,195,250,22,90,2,22,9,248,22,81,199, -250,22,89,2,10,248,22,89,248,22,80,199,250,22,90,2,5,248,22,137,18, -201,248,22,81,202,27,248,22,81,248,22,161,4,23,197,1,27,249,22,1,22, -93,249,22,2,22,161,4,248,22,161,4,248,22,80,199,248,22,182,4,249,22, -154,4,80,158,41,36,251,22,89,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,26,250,22,90,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,26,202,250,22,90,2,22,9,248, -22,81,204,27,248,22,81,248,22,161,4,196,28,248,22,87,193,20,14,159,37, -36,37,249,22,154,4,80,158,39,36,27,248,22,161,4,248,22,80,197,28,249, -22,163,9,62,61,62,248,22,155,4,248,22,101,196,250,22,89,2,22,248,22, -89,249,22,89,21,93,2,27,248,22,80,199,250,22,90,2,11,249,22,89,2, -27,249,22,89,248,22,110,203,2,27,248,22,81,202,251,22,89,2,18,28,249, -22,163,9,248,22,155,4,248,22,80,200,64,101,108,115,101,10,248,22,136,18, -197,250,22,90,2,22,9,248,22,137,18,200,249,22,79,2,11,248,22,81,202, -99,13,16,6,36,2,14,2,2,11,11,11,8,32,8,31,8,30,8,29,16, -4,11,11,2,20,3,1,8,101,110,118,49,55,53,57,57,16,4,11,11,2, -21,3,1,8,101,110,118,49,55,54,48,48,18,158,94,10,64,118,111,105,100, -8,48,27,248,22,81,248,22,161,4,196,249,22,154,4,80,158,39,36,28,248, -22,64,248,22,155,4,248,22,80,197,250,22,89,2,28,248,22,89,248,22,136, -18,199,248,22,101,198,27,248,22,155,4,248,22,136,18,197,250,22,89,2,28, -248,22,89,248,22,80,197,250,22,90,2,25,248,22,137,18,199,248,22,137,18, -202,159,36,20,114,159,36,16,1,11,16,0,20,26,150,9,2,1,2,1,2, -2,11,9,9,11,11,11,10,36,80,158,36,36,20,114,159,36,16,0,16,0, -38,39,36,16,0,36,16,0,36,11,11,11,16,10,2,3,2,4,2,5,2, -6,2,7,2,8,2,9,2,10,2,11,2,12,16,10,11,11,11,11,11,11, -11,11,11,11,16,10,2,3,2,4,2,5,2,6,2,7,2,8,2,9,2, -10,2,11,2,12,36,46,37,16,0,36,16,1,2,13,37,11,11,11,16,0, -16,0,16,0,36,36,11,12,11,11,16,0,16,0,16,0,36,36,16,11,16, -5,11,20,15,16,2,20,14,159,36,36,37,80,158,36,36,36,20,114,159,36, -16,1,2,13,16,1,33,33,10,16,5,2,12,88,163,8,36,37,53,37,9, -223,0,33,34,36,20,114,159,36,16,1,2,13,16,0,11,16,5,2,8,88, -163,8,36,37,53,37,9,223,0,33,35,36,20,114,159,36,16,1,2,13,16, -0,11,16,5,2,6,88,163,8,36,37,53,37,9,223,0,33,36,36,20,114, -159,36,16,1,2,13,16,1,33,37,11,16,5,2,7,88,163,8,36,37,56, -37,9,223,0,33,38,36,20,114,159,36,16,1,2,13,16,1,33,39,11,16, -5,2,10,88,163,8,36,37,58,37,9,223,0,33,42,36,20,114,159,36,16, -1,2,13,16,0,11,16,5,2,4,88,163,8,36,37,53,37,9,223,0,33, -44,36,20,114,159,36,16,1,2,13,16,0,11,16,5,2,5,88,163,8,36, -37,54,37,9,223,0,33,45,36,20,114,159,36,16,1,2,13,16,0,11,16, -5,2,9,88,163,8,36,37,56,37,9,223,0,33,46,36,20,114,159,36,16, -1,2,13,16,0,11,16,5,2,11,88,163,8,36,37,58,37,9,223,0,33, -47,36,20,114,159,36,16,1,2,13,16,1,33,49,11,16,5,2,3,88,163, -8,36,37,54,37,9,223,0,33,50,36,20,114,159,36,16,1,2,13,16,0, -11,16,0,94,2,16,2,17,93,2,16,9,9,36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 2051); + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,53,46,57,48,46,48,46,49,84,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,1,0,0,10,0,14, +0,21,0,28,0,33,0,37,0,40,0,45,0,58,0,62,0,67,0,74,0, +83,0,87,0,93,0,107,0,121,0,124,0,130,0,134,0,136,0,147,0,149, +0,163,0,170,0,192,0,194,0,208,0,19,1,48,1,59,1,70,1,96,1, +129,1,162,1,224,1,24,2,105,2,161,2,166,2,187,2,84,3,105,3,158, +3,225,3,114,4,2,5,56,5,67,5,150,5,0,0,113,7,0,0,69,35, +37,109,105,110,45,115,116,120,29,11,11,11,66,100,101,102,105,110,101,66,108, +101,116,114,101,99,64,108,101,116,42,63,97,110,100,62,111,114,64,119,104,101, +110,72,112,97,114,97,109,101,116,101,114,105,122,101,63,108,101,116,64,99,111, +110,100,66,117,110,108,101,115,115,68,104,101,114,101,45,115,116,120,29,11,11, +11,65,113,117,111,116,101,29,94,2,15,68,35,37,107,101,114,110,101,108,11, +29,94,2,15,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,90,0,0,95,159,2,17,36,36,159,2,16,36,36,159,2,16,36,36, +16,20,2,3,2,2,2,4,2,2,2,5,2,2,2,6,2,2,2,7,2, +2,2,8,2,2,2,11,2,2,2,10,2,2,2,9,2,2,2,12,2,2, +97,37,11,8,240,81,90,0,0,93,159,2,16,36,37,16,2,2,13,161,2, +2,37,2,13,2,2,2,13,96,38,11,8,240,81,90,0,0,16,0,96,11, +11,8,240,81,90,0,0,16,0,18,98,64,104,101,114,101,13,16,6,36,2, +14,2,2,11,11,11,8,32,8,31,8,30,8,29,27,248,22,161,4,195,249, +22,154,4,80,158,39,36,251,22,89,2,18,248,22,101,199,12,249,22,79,2, +19,248,22,103,201,27,248,22,161,4,195,249,22,154,4,80,158,39,36,251,22, +89,2,18,248,22,101,199,249,22,79,2,19,248,22,103,201,12,27,248,22,81, +248,22,161,4,196,28,248,22,87,193,20,14,159,37,36,37,28,248,22,87,248, +22,81,194,248,22,136,18,193,249,22,154,4,80,158,39,36,251,22,89,2,18, +248,22,136,18,199,249,22,79,2,6,248,22,137,18,201,11,18,100,10,13,16, +6,36,2,14,2,2,11,11,11,8,32,8,31,8,30,8,29,16,4,11,11, +2,20,3,1,8,101,110,118,49,55,53,55,51,16,4,11,11,2,21,3,1, +8,101,110,118,49,55,53,55,52,27,248,22,81,248,22,161,4,196,28,248,22, +87,193,20,14,159,37,36,37,28,248,22,87,248,22,81,194,248,22,136,18,193, +249,22,154,4,80,158,39,36,250,22,89,2,22,248,22,89,249,22,89,248,22, +89,2,23,248,22,136,18,201,251,22,89,2,18,2,23,2,23,249,22,79,2, +7,248,22,137,18,204,18,100,11,13,16,6,36,2,14,2,2,11,11,11,8, +32,8,31,8,30,8,29,16,4,11,11,2,20,3,1,8,101,110,118,49,55, +53,55,54,16,4,11,11,2,21,3,1,8,101,110,118,49,55,53,55,55,248, +22,161,4,193,27,248,22,161,4,194,249,22,79,248,22,89,248,22,80,196,248, +22,137,18,195,27,248,22,81,248,22,161,4,23,197,1,249,22,154,4,80,158, +39,36,28,248,22,64,248,22,155,4,248,22,80,23,198,2,27,249,22,2,32, +0,88,163,8,36,37,43,11,9,222,33,40,248,22,161,4,248,22,101,23,200, +2,250,22,89,2,24,248,22,89,249,22,89,248,22,89,248,22,136,18,23,204, +2,250,22,90,2,25,249,22,2,22,80,23,204,2,248,22,103,23,206,2,249, +22,79,248,22,136,18,23,202,1,249,22,2,22,101,23,200,1,250,22,90,2, +22,249,22,2,32,0,88,163,8,36,37,47,11,9,222,33,41,248,22,161,4, +248,22,136,18,201,248,22,137,18,198,27,248,22,161,4,194,249,22,79,248,22, +89,248,22,80,196,248,22,137,18,195,27,248,22,81,248,22,161,4,23,197,1, +249,22,154,4,80,158,39,36,250,22,90,2,24,249,22,2,32,0,88,163,8, +36,37,47,11,9,222,33,43,248,22,161,4,248,22,80,201,248,22,137,18,198, +27,248,22,81,248,22,161,4,196,27,248,22,161,4,248,22,80,195,249,22,154, +4,80,158,40,36,28,248,22,87,195,250,22,90,2,22,9,248,22,81,199,250, +22,89,2,10,248,22,89,248,22,80,199,250,22,90,2,5,248,22,137,18,201, +248,22,81,202,27,248,22,81,248,22,161,4,23,197,1,27,249,22,1,22,93, +249,22,2,22,161,4,248,22,161,4,248,22,80,199,248,22,182,4,249,22,154, +4,80,158,41,36,251,22,89,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,26,250,22,90,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,26,202,250,22,90,2,22,9,248,22, +81,204,27,248,22,81,248,22,161,4,196,28,248,22,87,193,20,14,159,37,36, +37,249,22,154,4,80,158,39,36,27,248,22,161,4,248,22,80,197,28,249,22, +163,9,62,61,62,248,22,155,4,248,22,101,196,250,22,89,2,22,248,22,89, +249,22,89,21,93,2,27,248,22,80,199,250,22,90,2,11,249,22,89,2,27, +249,22,89,248,22,110,203,2,27,248,22,81,202,251,22,89,2,18,28,249,22, +163,9,248,22,155,4,248,22,80,200,64,101,108,115,101,10,248,22,136,18,197, +250,22,90,2,22,9,248,22,137,18,200,249,22,79,2,11,248,22,81,202,99, +13,16,6,36,2,14,2,2,11,11,11,8,32,8,31,8,30,8,29,16,4, +11,11,2,20,3,1,8,101,110,118,49,55,53,57,57,16,4,11,11,2,21, +3,1,8,101,110,118,49,55,54,48,48,18,158,94,10,64,118,111,105,100,8, +48,27,248,22,81,248,22,161,4,196,249,22,154,4,80,158,39,36,28,248,22, +64,248,22,155,4,248,22,80,197,250,22,89,2,28,248,22,89,248,22,136,18, +199,248,22,101,198,27,248,22,155,4,248,22,136,18,197,250,22,89,2,28,248, +22,89,248,22,80,197,250,22,90,2,25,248,22,137,18,199,248,22,137,18,202, +159,36,20,114,159,36,16,1,11,16,0,20,26,150,9,2,1,2,1,2,2, +11,9,9,11,11,11,10,36,80,158,36,36,20,114,159,36,16,0,16,0,38, +39,36,16,0,36,16,0,36,11,11,11,16,10,2,3,2,4,2,5,2,6, +2,7,2,8,2,9,2,10,2,11,2,12,16,10,11,11,11,11,11,11,11, +11,11,11,16,10,2,3,2,4,2,5,2,6,2,7,2,8,2,9,2,10, +2,11,2,12,36,46,37,16,0,36,16,1,2,13,37,11,11,11,16,0,16, +0,16,0,36,36,11,12,11,11,16,0,16,0,16,0,36,36,16,11,16,5, +11,20,15,16,2,20,14,159,36,36,37,80,158,36,36,36,20,114,159,36,16, +1,2,13,16,1,33,33,10,16,5,2,12,88,163,8,36,37,53,37,9,223, +0,33,34,36,20,114,159,36,16,1,2,13,16,0,11,16,5,2,8,88,163, +8,36,37,53,37,9,223,0,33,35,36,20,114,159,36,16,1,2,13,16,0, +11,16,5,2,6,88,163,8,36,37,53,37,9,223,0,33,36,36,20,114,159, +36,16,1,2,13,16,1,33,37,11,16,5,2,7,88,163,8,36,37,56,37, +9,223,0,33,38,36,20,114,159,36,16,1,2,13,16,1,33,39,11,16,5, +2,10,88,163,8,36,37,58,37,9,223,0,33,42,36,20,114,159,36,16,1, +2,13,16,0,11,16,5,2,4,88,163,8,36,37,53,37,9,223,0,33,44, +36,20,114,159,36,16,1,2,13,16,0,11,16,5,2,5,88,163,8,36,37, +54,37,9,223,0,33,45,36,20,114,159,36,16,1,2,13,16,0,11,16,5, +2,9,88,163,8,36,37,56,37,9,223,0,33,46,36,20,114,159,36,16,1, +2,13,16,0,11,16,5,2,11,88,163,8,36,37,58,37,9,223,0,33,47, +36,20,114,159,36,16,1,2,13,16,1,33,49,11,16,5,2,3,88,163,8, +36,37,54,37,9,223,0,33,50,36,20,114,159,36,16,1,2,13,16,0,11, +16,0,94,2,16,2,17,93,2,16,9,9,36,0}; + EVAL_ONE_SIZED_STR((char *)expr, 2050); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,51,46,57,48,48,46,55,84,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,1,0,0,8,0, -21,0,26,0,43,0,55,0,77,0,106,0,150,0,156,0,165,0,172,0,187, -0,205,0,217,0,233,0,247,0,13,1,29,1,46,1,63,1,81,1,100,1, -119,1,135,1,152,1,167,1,206,1,240,1,2,2,14,2,21,2,34,2,47, -2,64,2,76,2,91,2,115,2,147,2,165,2,184,2,204,2,220,2,238,2, -13,3,27,3,44,3,88,3,96,3,101,3,145,3,152,3,162,3,177,3,186, -3,191,3,193,3,226,3,250,3,15,4,25,4,38,4,49,4,58,4,68,4, -81,4,91,4,97,4,142,4,147,4,159,4,162,4,166,4,190,4,229,4,232, -4,245,4,11,5,22,5,74,5,97,5,105,5,129,5,150,5,107,6,137,6, -18,10,41,10,58,10,6,12,109,12,123,12,27,13,215,14,224,14,233,14,247, -14,1,15,42,16,145,16,2,17,75,17,148,17,252,17,25,18,96,18,233,18, -48,19,2,20,153,20,239,20,35,21,132,22,236,22,42,23,229,24,253,24,8, -26,15,26,67,26,80,26,70,27,84,27,194,27,96,28,103,28,233,29,56,30, -73,30,191,30,156,31,216,31,223,31,103,32,157,32,176,32,126,33,142,33,162, -34,15,36,61,36,70,36,147,37,89,38,109,38,125,38,148,38,164,38,215,38, -236,38,0,39,20,39,77,39,56,42,119,43,22,44,38,44,190,46,63,49,78, -49,224,50,162,51,164,51,190,51,205,51,129,53,67,54,82,54,91,54,98,54, -113,55,128,56,23,59,135,59,249,59,7,62,213,62,245,62,119,63,0,0,149, -70,0,0,67,35,37,117,116,105,108,115,72,112,97,116,104,45,115,116,114,105, -110,103,63,64,98,115,98,115,76,110,111,114,109,97,108,45,99,97,115,101,45, -112,97,116,104,71,114,101,114,111,111,116,45,112,97,116,104,1,20,102,105,110, -100,45,101,120,101,99,117,116,97,98,108,101,45,112,97,116,104,1,27,112,97, -116,104,45,108,105,115,116,45,115,116,114,105,110,103,45,62,112,97,116,104,45, -108,105,115,116,1,42,99,97,108,108,45,119,105,116,104,45,100,101,102,97,117, -108,116,45,114,101,97,100,105,110,103,45,112,97,114,97,109,101,116,101,114,105, -122,97,116,105,111,110,65,113,117,111,116,101,68,35,37,112,97,114,97,109,122, -29,94,2,9,2,10,11,74,45,99,104,101,99,107,45,114,101,108,112,97,116, -104,77,45,99,104,101,99,107,45,99,111,108,108,101,99,116,105,111,110,71,45, -99,104,101,99,107,45,102,97,105,108,75,99,111,108,108,101,99,116,105,111,110, -45,112,97,116,104,73,102,105,110,100,45,99,111,108,45,102,105,108,101,1,20, -99,111,108,108,101,99,116,105,111,110,45,102,105,108,101,45,112,97,116,104,75, -117,115,101,114,45,108,105,110,107,115,45,112,97,116,104,76,117,115,101,114,45, -108,105,110,107,115,45,99,97,99,104,101,76,117,115,101,114,45,108,105,110,107, -115,45,115,116,97,109,112,77,115,104,97,114,101,100,45,108,105,110,107,115,45, -112,97,116,104,78,115,104,97,114,101,100,45,108,105,110,107,115,45,99,97,99, -104,101,78,115,104,97,114,101,100,45,108,105,110,107,115,45,115,116,97,109,112, -75,102,105,110,100,45,99,111,110,102,105,103,45,100,105,114,76,103,101,116,45, -99,111,110,102,105,103,45,116,97,98,108,101,74,99,111,101,114,99,101,45,116, -111,45,112,97,116,104,1,37,99,111,108,108,101,99,116,115,45,114,101,108,97, -116,105,118,101,45,112,97,116,104,45,62,99,111,109,112,108,101,116,101,45,112, -97,116,104,1,32,101,120,101,45,114,101,108,97,116,105,118,101,45,112,97,116, -104,45,62,99,111,109,112,108,101,116,101,45,112,97,116,104,77,97,100,100,45, -99,111,110,102,105,103,45,115,101,97,114,99,104,71,108,105,110,107,115,45,112, -97,116,104,115,29,94,2,9,2,10,11,72,108,105,110,107,115,45,99,97,99, -104,101,115,72,108,105,110,107,115,45,115,116,97,109,112,115,76,115,116,97,109, -112,45,112,114,111,109,112,116,45,116,97,103,71,102,105,108,101,45,62,115,116, -97,109,112,74,110,111,45,102,105,108,101,45,115,116,97,109,112,63,1,22,103, -101,116,45,108,105,110,107,101,100,45,99,111,108,108,101,99,116,105,111,110,115, -1,30,110,111,114,109,97,108,105,122,101,45,99,111,108,108,101,99,116,105,111, -110,45,114,101,102,101,114,101,110,99,101,77,99,104,101,99,107,45,115,117,102, -102,105,120,45,99,97,108,108,78,112,97,116,104,45,97,100,106,117,115,116,45, -115,117,102,102,105,120,79,112,97,116,104,45,114,101,112,108,97,99,101,45,115, -117,102,102,105,120,75,112,97,116,104,45,97,100,100,45,115,117,102,102,105,120, -77,108,111,97,100,47,117,115,101,45,99,111,109,112,105,108,101,100,1,29,102, -105,110,100,45,108,105,98,114,97,114,121,45,99,111,108,108,101,99,116,105,111, -110,45,112,97,116,104,115,73,101,109,98,101,100,100,101,100,45,108,111,97,100, -76,110,111,114,109,97,108,45,112,97,116,104,45,99,97,115,101,6,41,41,40, -111,114,47,99,32,112,97,116,104,45,102,111,114,45,115,111,109,101,45,115,121, -115,116,101,109,63,32,112,97,116,104,45,115,116,114,105,110,103,63,41,67,119, -105,110,100,111,119,115,6,2,2,92,49,6,41,41,40,111,114,47,99,32,112, -97,116,104,45,115,116,114,105,110,103,63,32,112,97,116,104,45,102,111,114,45, -115,111,109,101,45,115,121,115,116,101,109,63,41,6,4,4,112,97,116,104,5, -8,92,92,63,92,82,69,76,92,6,12,12,112,97,116,104,45,115,116,114,105, -110,103,63,68,114,101,108,97,116,105,118,101,64,108,111,111,112,5,0,6,30, -30,40,112,114,111,99,101,100,117,114,101,45,97,114,105,116,121,45,105,110,99, -108,117,100,101,115,47,99,32,48,41,6,21,21,105,110,118,97,108,105,100,32, -114,101,108,97,116,105,118,101,32,112,97,116,104,6,18,18,40,97,110,121,47, -99,32,46,32,45,62,32,46,32,97,110,121,41,69,97,100,100,111,110,45,100, -105,114,6,10,10,108,105,110,107,115,46,114,107,116,100,70,99,111,110,102,105, -103,45,100,105,114,68,111,114,105,103,45,100,105,114,69,101,120,101,99,45,102, -105,108,101,72,99,111,108,108,101,99,116,115,45,100,105,114,69,102,115,45,99, -104,97,110,103,101,65,101,114,114,111,114,6,42,42,101,114,114,111,114,32,114, -101,97,100,105,110,103,32,99,111,108,108,101,99,116,105,111,110,32,108,105,110, -107,115,32,102,105,108,101,32,126,115,58,32,126,97,64,114,111,111,116,71,115, -116,97,116,105,99,45,114,111,111,116,6,0,0,6,1,1,47,6,21,21,40, -111,114,47,99,32,115,116,114,105,110,103,63,32,98,121,116,101,115,63,41,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,1,95,5, -11,80,76,84,67,79,76,76,69,67,84,83,1,20,99,111,108,108,101,99,116, -115,45,115,101,97,114,99,104,45,100,105,114,115,6,8,8,99,111,108,108,101, -99,116,115,27,248,22,154,15,23,195,2,28,23,193,2,192,86,94,23,193,1, -28,248,22,148,7,23,195,2,27,248,22,177,15,23,196,2,28,23,193,2,192, -86,94,23,193,1,248,22,178,15,23,196,1,11,0,21,35,114,120,34,94,91, -92,92,93,91,92,92,93,91,63,93,91,92,92,93,34,0,6,35,114,120,34, -47,34,0,22,35,114,120,34,91,47,92,92,93,91,46,32,93,43,91,47,92, -92,93,42,36,34,0,19,35,114,120,34,91,32,46,93,43,40,91,47,92,92, -93,42,41,36,34,86,94,28,28,248,22,155,15,23,195,2,10,28,248,22,154, -15,23,195,2,10,28,248,22,148,7,23,195,2,28,248,22,177,15,23,195,2, -10,248,22,178,15,23,195,2,11,12,250,22,172,11,2,46,2,47,23,197,2, -28,28,248,22,155,15,23,195,2,249,22,163,9,248,22,156,15,23,197,2,2, -48,249,22,163,9,247,22,175,8,2,48,27,28,248,22,148,7,23,196,2,23, -195,2,248,22,160,8,248,22,159,15,23,197,2,28,249,22,149,16,2,80,23, -195,2,86,94,23,193,1,28,248,22,148,7,23,196,2,248,22,162,15,23,196, -1,194,27,248,22,187,7,23,195,1,249,22,163,15,248,22,163,8,250,22,157, -16,2,81,28,249,22,149,16,2,82,23,201,2,23,199,1,250,22,157,16,2, -83,23,202,1,2,49,80,159,44,37,38,2,48,28,248,22,148,7,23,195,2, -248,22,162,15,23,195,1,193,0,28,35,114,120,34,94,92,92,92,92,92,92, -92,92,91,63,93,92,92,92,92,85,78,67,92,92,92,92,34,86,95,28,28, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,53,46,57,48,46,48,46,49,84,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,1,0,0,8,0,21, +0,26,0,43,0,55,0,77,0,106,0,150,0,156,0,165,0,172,0,187,0, +205,0,217,0,233,0,247,0,13,1,29,1,46,1,63,1,81,1,100,1,119, +1,135,1,152,1,167,1,206,1,240,1,2,2,14,2,21,2,34,2,47,2, +64,2,76,2,91,2,115,2,147,2,165,2,184,2,204,2,220,2,238,2,13, +3,27,3,44,3,88,3,96,3,101,3,145,3,152,3,162,3,177,3,186,3, +191,3,193,3,226,3,250,3,15,4,25,4,38,4,49,4,58,4,68,4,81, +4,91,4,97,4,142,4,147,4,159,4,162,4,166,4,190,4,229,4,232,4, +245,4,11,5,22,5,74,5,97,5,105,5,129,5,150,5,107,6,137,6,18, +10,41,10,58,10,6,12,109,12,123,12,27,13,215,14,224,14,233,14,247,14, +1,15,42,16,145,16,2,17,75,17,148,17,252,17,25,18,96,18,233,18,48, +19,2,20,153,20,239,20,35,21,132,22,236,22,42,23,229,24,253,24,29,26, +36,26,88,26,101,26,91,27,105,27,215,27,117,28,124,28,254,29,77,30,94, +30,212,30,177,31,237,31,244,31,124,32,178,32,197,32,147,33,163,33,183,34, +36,36,82,36,91,36,168,37,110,38,130,38,146,38,169,38,185,38,236,38,1, +39,21,39,41,39,98,39,77,42,140,43,43,44,59,44,211,46,84,49,99,49, +245,50,183,51,185,51,211,51,226,51,150,53,88,54,103,54,112,54,119,54,134, +55,149,56,44,59,156,59,14,60,28,62,234,62,10,63,140,63,0,0,170,70, +0,0,67,35,37,117,116,105,108,115,72,112,97,116,104,45,115,116,114,105,110, +103,63,64,98,115,98,115,76,110,111,114,109,97,108,45,99,97,115,101,45,112, +97,116,104,71,114,101,114,111,111,116,45,112,97,116,104,1,20,102,105,110,100, +45,101,120,101,99,117,116,97,98,108,101,45,112,97,116,104,1,27,112,97,116, +104,45,108,105,115,116,45,115,116,114,105,110,103,45,62,112,97,116,104,45,108, +105,115,116,1,42,99,97,108,108,45,119,105,116,104,45,100,101,102,97,117,108, +116,45,114,101,97,100,105,110,103,45,112,97,114,97,109,101,116,101,114,105,122, +97,116,105,111,110,65,113,117,111,116,101,68,35,37,112,97,114,97,109,122,29, +94,2,9,2,10,11,74,45,99,104,101,99,107,45,114,101,108,112,97,116,104, +77,45,99,104,101,99,107,45,99,111,108,108,101,99,116,105,111,110,71,45,99, +104,101,99,107,45,102,97,105,108,75,99,111,108,108,101,99,116,105,111,110,45, +112,97,116,104,73,102,105,110,100,45,99,111,108,45,102,105,108,101,1,20,99, +111,108,108,101,99,116,105,111,110,45,102,105,108,101,45,112,97,116,104,75,117, +115,101,114,45,108,105,110,107,115,45,112,97,116,104,76,117,115,101,114,45,108, +105,110,107,115,45,99,97,99,104,101,76,117,115,101,114,45,108,105,110,107,115, +45,115,116,97,109,112,77,115,104,97,114,101,100,45,108,105,110,107,115,45,112, +97,116,104,78,115,104,97,114,101,100,45,108,105,110,107,115,45,99,97,99,104, +101,78,115,104,97,114,101,100,45,108,105,110,107,115,45,115,116,97,109,112,75, +102,105,110,100,45,99,111,110,102,105,103,45,100,105,114,76,103,101,116,45,99, +111,110,102,105,103,45,116,97,98,108,101,74,99,111,101,114,99,101,45,116,111, +45,112,97,116,104,1,37,99,111,108,108,101,99,116,115,45,114,101,108,97,116, +105,118,101,45,112,97,116,104,45,62,99,111,109,112,108,101,116,101,45,112,97, +116,104,1,32,101,120,101,45,114,101,108,97,116,105,118,101,45,112,97,116,104, +45,62,99,111,109,112,108,101,116,101,45,112,97,116,104,77,97,100,100,45,99, +111,110,102,105,103,45,115,101,97,114,99,104,71,108,105,110,107,115,45,112,97, +116,104,115,29,94,2,9,2,10,11,72,108,105,110,107,115,45,99,97,99,104, +101,115,72,108,105,110,107,115,45,115,116,97,109,112,115,76,115,116,97,109,112, +45,112,114,111,109,112,116,45,116,97,103,71,102,105,108,101,45,62,115,116,97, +109,112,74,110,111,45,102,105,108,101,45,115,116,97,109,112,63,1,22,103,101, +116,45,108,105,110,107,101,100,45,99,111,108,108,101,99,116,105,111,110,115,1, +30,110,111,114,109,97,108,105,122,101,45,99,111,108,108,101,99,116,105,111,110, +45,114,101,102,101,114,101,110,99,101,77,99,104,101,99,107,45,115,117,102,102, +105,120,45,99,97,108,108,78,112,97,116,104,45,97,100,106,117,115,116,45,115, +117,102,102,105,120,79,112,97,116,104,45,114,101,112,108,97,99,101,45,115,117, +102,102,105,120,75,112,97,116,104,45,97,100,100,45,115,117,102,102,105,120,77, +108,111,97,100,47,117,115,101,45,99,111,109,112,105,108,101,100,1,29,102,105, +110,100,45,108,105,98,114,97,114,121,45,99,111,108,108,101,99,116,105,111,110, +45,112,97,116,104,115,73,101,109,98,101,100,100,101,100,45,108,111,97,100,76, +110,111,114,109,97,108,45,112,97,116,104,45,99,97,115,101,6,41,41,40,111, +114,47,99,32,112,97,116,104,45,102,111,114,45,115,111,109,101,45,115,121,115, +116,101,109,63,32,112,97,116,104,45,115,116,114,105,110,103,63,41,67,119,105, +110,100,111,119,115,6,2,2,92,49,6,41,41,40,111,114,47,99,32,112,97, +116,104,45,115,116,114,105,110,103,63,32,112,97,116,104,45,102,111,114,45,115, +111,109,101,45,115,121,115,116,101,109,63,41,6,4,4,112,97,116,104,5,8, +92,92,63,92,82,69,76,92,6,12,12,112,97,116,104,45,115,116,114,105,110, +103,63,68,114,101,108,97,116,105,118,101,64,108,111,111,112,5,0,6,30,30, +40,112,114,111,99,101,100,117,114,101,45,97,114,105,116,121,45,105,110,99,108, +117,100,101,115,47,99,32,48,41,6,21,21,105,110,118,97,108,105,100,32,114, +101,108,97,116,105,118,101,32,112,97,116,104,6,18,18,40,97,110,121,47,99, +32,46,32,45,62,32,46,32,97,110,121,41,69,97,100,100,111,110,45,100,105, +114,6,10,10,108,105,110,107,115,46,114,107,116,100,70,99,111,110,102,105,103, +45,100,105,114,68,111,114,105,103,45,100,105,114,69,101,120,101,99,45,102,105, +108,101,72,99,111,108,108,101,99,116,115,45,100,105,114,69,102,115,45,99,104, +97,110,103,101,65,101,114,114,111,114,6,42,42,101,114,114,111,114,32,114,101, +97,100,105,110,103,32,99,111,108,108,101,99,116,105,111,110,32,108,105,110,107, +115,32,102,105,108,101,32,126,115,58,32,126,97,64,114,111,111,116,71,115,116, +97,116,105,99,45,114,111,111,116,6,0,0,6,1,1,47,6,21,21,40,111, +114,47,99,32,115,116,114,105,110,103,63,32,98,121,116,101,115,63,41,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,1,95,5,11, +80,76,84,67,79,76,76,69,67,84,83,1,20,99,111,108,108,101,99,116,115, +45,115,101,97,114,99,104,45,100,105,114,115,6,8,8,99,111,108,108,101,99, +116,115,27,248,22,154,15,23,195,2,28,23,193,2,192,86,94,23,193,1,28, +248,22,148,7,23,195,2,27,248,22,177,15,23,196,2,28,23,193,2,192,86, +94,23,193,1,248,22,178,15,23,196,1,11,0,21,35,114,120,34,94,91,92, +92,93,91,92,92,93,91,63,93,91,92,92,93,34,0,6,35,114,120,34,47, +34,0,22,35,114,120,34,91,47,92,92,93,91,46,32,93,43,91,47,92,92, +93,42,36,34,0,19,35,114,120,34,91,32,46,93,43,40,91,47,92,92,93, +42,41,36,34,86,94,28,28,248,22,155,15,23,195,2,10,28,248,22,154,15, +23,195,2,10,28,248,22,148,7,23,195,2,28,248,22,177,15,23,195,2,10, +248,22,178,15,23,195,2,11,12,250,22,172,11,2,46,2,47,23,197,2,28, +28,248,22,155,15,23,195,2,249,22,163,9,248,22,156,15,23,197,2,2,48, +249,22,163,9,247,22,175,8,2,48,27,28,248,22,148,7,23,196,2,23,195, +2,248,22,160,8,248,22,159,15,23,197,2,28,249,22,149,16,2,80,23,195, +2,86,94,23,193,1,28,248,22,148,7,23,196,2,248,22,162,15,23,196,1, +194,27,248,22,187,7,23,195,1,249,22,163,15,248,22,163,8,250,22,157,16, +2,81,28,249,22,149,16,2,82,23,201,2,23,199,1,250,22,157,16,2,83, +23,202,1,2,49,80,159,44,37,38,2,48,28,248,22,148,7,23,195,2,248, +22,162,15,23,195,1,193,0,28,35,114,120,34,94,92,92,92,92,92,92,92, +92,91,63,93,92,92,92,92,85,78,67,92,92,92,92,34,86,95,28,28,28, +248,22,154,15,23,195,2,10,28,248,22,148,7,23,195,2,28,248,22,177,15, +23,195,2,10,248,22,178,15,23,195,2,11,10,248,22,155,15,23,195,2,12, +252,22,172,11,2,5,2,50,36,23,199,2,23,200,2,28,28,28,248,22,154, +15,23,196,2,10,28,248,22,148,7,23,196,2,28,248,22,177,15,23,196,2, +10,248,22,178,15,23,196,2,11,10,248,22,155,15,23,196,2,12,252,22,172, +11,2,5,2,50,37,23,199,2,23,200,2,27,28,248,22,155,15,23,196,2, +248,22,156,15,23,196,2,247,22,157,15,86,95,28,28,248,22,179,15,23,196, +2,10,249,22,163,9,247,22,157,15,23,195,2,12,253,22,174,11,2,5,6, +54,54,112,97,116,104,32,105,115,32,110,111,116,32,99,111,109,112,108,101,116, +101,32,97,110,100,32,110,111,116,32,116,104,101,32,112,108,97,116,102,111,114, +109,39,115,32,99,111,110,118,101,110,116,105,111,110,2,51,23,201,2,6,24, +24,112,108,97,116,102,111,114,109,32,99,111,110,118,101,110,116,105,111,110,32, +116,121,112,101,247,22,157,15,28,249,22,163,9,28,248,22,155,15,23,199,2, +248,22,156,15,23,199,2,247,22,157,15,23,195,2,12,253,22,174,11,2,5, +6,37,37,103,105,118,101,110,32,112,97,116,104,115,32,117,115,101,32,100,105, +102,102,101,114,101,110,116,32,99,111,110,118,101,110,116,105,111,110,115,2,51, +23,201,2,6,9,9,114,111,111,116,32,112,97,116,104,23,202,2,27,27,248, +22,183,15,28,248,22,179,15,23,199,2,23,198,1,248,22,180,15,23,199,1, +86,94,28,28,248,22,155,15,23,194,2,10,28,248,22,154,15,23,194,2,10, +28,248,22,148,7,23,194,2,28,248,22,177,15,23,194,2,10,248,22,178,15, +23,194,2,11,12,250,22,172,11,2,46,2,47,23,196,2,28,28,248,22,155, +15,23,194,2,249,22,163,9,248,22,156,15,23,196,2,2,48,249,22,163,9, +247,22,175,8,2,48,27,28,248,22,148,7,23,195,2,23,194,2,248,22,160, +8,248,22,159,15,23,196,2,28,249,22,149,16,2,80,23,195,2,86,94,23, +193,1,28,248,22,148,7,23,195,2,248,22,162,15,23,195,1,193,27,248,22, +187,7,23,195,1,249,22,163,15,248,22,163,8,250,22,157,16,2,81,28,249, +22,149,16,2,82,23,201,2,23,199,1,250,22,157,16,2,83,23,202,1,2, +49,80,159,47,37,38,2,48,28,248,22,148,7,23,194,2,248,22,162,15,23, +194,1,192,27,248,22,159,15,23,195,2,28,249,22,163,9,23,197,2,64,117, +110,105,120,28,249,22,145,8,23,195,1,5,1,47,86,95,23,195,1,23,194, +1,28,248,22,155,15,23,199,2,197,248,22,162,15,23,199,1,249,22,172,15, +23,200,1,249,22,163,15,249,22,148,8,248,22,159,15,23,201,1,37,23,199, +1,28,249,22,163,9,23,197,2,2,48,249,22,172,15,23,200,1,249,22,163, +15,28,249,22,149,16,0,27,35,114,120,34,94,92,92,92,92,92,92,92,92, +91,63,93,92,92,92,92,91,97,45,122,93,58,34,23,199,2,251,22,149,8, +2,52,250,22,148,8,23,204,2,40,41,5,1,92,249,22,148,8,23,203,1, +42,28,249,22,149,16,2,85,23,199,2,249,22,149,8,2,52,249,22,148,8, +23,201,1,40,28,249,22,149,16,2,85,23,199,2,249,22,149,8,2,52,249, +22,148,8,23,201,1,40,28,249,22,149,16,0,14,35,114,120,34,94,92,92, +92,92,92,92,92,92,34,23,199,2,249,22,149,8,5,4,85,78,67,92,249, +22,148,8,23,201,1,38,28,249,22,149,16,0,12,35,114,120,34,94,91,97, +45,122,93,58,34,23,199,2,249,22,149,8,250,22,148,8,23,202,2,36,37, +249,22,148,8,23,201,1,38,86,94,23,197,1,12,23,199,1,12,32,87,88, +163,8,36,39,53,11,70,102,111,117,110,100,45,101,120,101,99,222,33,90,32, +88,88,163,8,36,40,58,11,64,110,101,120,116,222,33,89,27,248,22,181,15, +23,196,2,28,249,22,165,9,23,195,2,23,197,1,11,28,248,22,177,15,23, +194,2,27,249,22,172,15,23,197,1,23,196,1,28,23,197,2,90,159,39,11, +89,161,39,36,11,248,22,175,15,23,197,2,86,95,23,195,1,23,194,1,27, +28,23,202,2,27,248,22,181,15,23,199,2,28,249,22,165,9,23,195,2,23, +200,2,11,28,248,22,177,15,23,194,2,250,2,87,23,205,2,23,206,2,249, +22,172,15,23,200,2,23,198,1,250,2,87,23,205,2,23,206,2,23,196,1, +11,28,23,193,2,192,86,94,23,193,1,27,28,248,22,154,15,23,196,2,27, +249,22,172,15,23,198,2,23,205,2,28,28,248,22,167,15,193,10,248,22,166, +15,193,192,11,11,28,23,193,2,192,86,94,23,193,1,28,23,203,2,11,27, +248,22,181,15,23,200,2,28,249,22,165,9,23,195,2,23,201,1,11,28,248, +22,177,15,23,194,2,250,2,87,23,206,1,23,207,1,249,22,172,15,23,201, +1,23,198,1,250,2,87,205,206,195,192,86,94,23,194,1,28,23,196,2,90, +159,39,11,89,161,39,36,11,248,22,175,15,23,197,2,86,95,23,195,1,23, +194,1,27,28,23,201,2,27,248,22,181,15,23,199,2,28,249,22,165,9,23, +195,2,23,200,2,11,28,248,22,177,15,23,194,2,250,2,87,23,204,2,23, +205,2,249,22,172,15,23,200,2,23,198,1,250,2,87,23,204,2,23,205,2, +23,196,1,11,28,23,193,2,192,86,94,23,193,1,27,28,248,22,154,15,23, +196,2,27,249,22,172,15,23,198,2,23,204,2,28,28,248,22,167,15,193,10, +248,22,166,15,193,192,11,11,28,23,193,2,192,86,94,23,193,1,28,23,202, +2,11,27,248,22,181,15,23,200,2,28,249,22,165,9,23,195,2,23,201,1, +11,28,248,22,177,15,23,194,2,250,2,87,23,205,1,23,206,1,249,22,172, +15,23,201,1,23,198,1,250,2,87,204,205,195,192,28,23,193,2,90,159,39, +11,89,161,39,36,11,248,22,175,15,23,199,2,86,95,23,195,1,23,194,1, +27,28,23,198,2,251,2,88,23,198,2,23,203,2,23,201,2,23,202,2,11, +28,23,193,2,192,86,94,23,193,1,27,28,248,22,154,15,195,27,249,22,172, +15,197,200,28,28,248,22,167,15,193,10,248,22,166,15,193,192,11,11,28,192, +192,28,198,11,251,2,88,198,203,201,202,194,32,91,88,163,8,36,40,58,11, +2,55,222,33,92,28,248,22,87,23,197,2,11,27,248,22,180,15,248,22,80, +23,199,2,27,249,22,172,15,23,196,1,23,197,2,28,248,22,166,15,23,194, +2,250,2,87,198,199,195,86,94,23,193,1,27,248,22,81,23,200,1,28,248, +22,87,23,194,2,11,27,248,22,180,15,248,22,80,23,196,2,27,249,22,172, +15,23,196,1,23,200,2,28,248,22,166,15,23,194,2,250,2,87,201,202,195, +86,94,23,193,1,27,248,22,81,23,197,1,28,248,22,87,23,194,2,11,27, +248,22,180,15,248,22,80,195,27,249,22,172,15,23,196,1,202,28,248,22,166, +15,193,250,2,87,204,205,195,251,2,91,204,205,206,248,22,81,199,86,95,28, 28,248,22,154,15,23,195,2,10,28,248,22,148,7,23,195,2,28,248,22,177, -15,23,195,2,10,248,22,178,15,23,195,2,11,10,248,22,155,15,23,195,2, -12,252,22,172,11,2,5,2,50,36,23,199,2,23,200,2,28,28,28,248,22, -154,15,23,196,2,10,28,248,22,148,7,23,196,2,28,248,22,177,15,23,196, -2,10,248,22,178,15,23,196,2,11,10,248,22,155,15,23,196,2,12,252,22, -172,11,2,5,2,50,37,23,199,2,23,200,2,27,28,248,22,155,15,23,196, -2,248,22,156,15,23,196,2,247,22,157,15,86,95,28,28,248,22,179,15,23, -196,2,10,249,22,163,9,247,22,157,15,23,195,2,12,253,22,174,11,2,5, -6,54,54,112,97,116,104,32,105,115,32,110,111,116,32,99,111,109,112,108,101, -116,101,32,97,110,100,32,110,111,116,32,116,104,101,32,112,108,97,116,102,111, -114,109,39,115,32,99,111,110,118,101,110,116,105,111,110,2,51,23,201,2,6, -24,24,112,108,97,116,102,111,114,109,32,99,111,110,118,101,110,116,105,111,110, -32,116,121,112,101,247,22,157,15,28,249,22,163,9,28,248,22,155,15,23,199, -2,248,22,156,15,23,199,2,247,22,157,15,23,195,2,12,253,22,174,11,2, -5,6,37,37,103,105,118,101,110,32,112,97,116,104,115,32,117,115,101,32,100, -105,102,102,101,114,101,110,116,32,99,111,110,118,101,110,116,105,111,110,115,2, -51,23,201,2,6,9,9,114,111,111,116,32,112,97,116,104,23,202,2,27,27, -248,22,183,15,28,248,22,179,15,23,199,2,23,198,1,248,22,180,15,23,199, -1,86,94,28,28,248,22,155,15,23,194,2,10,28,248,22,154,15,23,194,2, -10,28,248,22,148,7,23,194,2,28,248,22,177,15,23,194,2,10,248,22,178, -15,23,194,2,11,12,250,22,172,11,2,46,2,47,23,196,2,28,28,248,22, -155,15,23,194,2,249,22,163,9,248,22,156,15,23,196,2,2,48,249,22,163, -9,247,22,175,8,2,48,27,28,248,22,148,7,23,195,2,23,194,2,248,22, -160,8,248,22,159,15,23,196,2,28,249,22,149,16,2,80,23,195,2,86,94, -23,193,1,28,248,22,148,7,23,195,2,248,22,162,15,23,195,1,193,27,248, -22,187,7,23,195,1,249,22,163,15,248,22,163,8,250,22,157,16,2,81,28, -249,22,149,16,2,82,23,201,2,23,199,1,250,22,157,16,2,83,23,202,1, -2,49,80,159,47,37,38,2,48,28,248,22,148,7,23,194,2,248,22,162,15, -23,194,1,192,27,248,22,159,15,23,195,2,28,249,22,163,9,23,197,2,64, -117,110,105,120,28,249,22,145,8,23,195,1,5,1,47,86,95,23,195,1,23, -194,1,28,248,22,155,15,23,199,2,197,248,22,162,15,23,199,1,249,22,172, -15,23,200,1,249,22,163,15,249,22,148,8,248,22,159,15,23,201,1,37,23, -199,1,28,249,22,163,9,23,197,2,2,48,249,22,172,15,23,200,1,249,22, -163,15,28,249,22,149,16,0,27,35,114,120,34,94,92,92,92,92,92,92,92, -92,91,63,93,92,92,92,92,91,97,45,122,93,58,34,23,199,2,251,22,149, -8,2,52,250,22,148,8,23,204,2,40,41,5,1,92,249,22,148,8,23,203, -1,42,28,249,22,149,16,2,85,23,199,2,249,22,149,8,2,52,249,22,148, -8,23,201,1,40,28,249,22,149,16,2,85,23,199,2,249,22,149,8,2,52, -249,22,148,8,23,201,1,40,28,249,22,149,16,0,14,35,114,120,34,94,92, -92,92,92,92,92,92,92,34,23,199,2,249,22,149,8,5,4,85,78,67,92, -249,22,148,8,23,201,1,38,28,249,22,149,16,0,12,35,114,120,34,94,91, -97,45,122,93,58,34,23,199,2,249,22,149,8,250,22,148,8,23,202,2,36, -37,249,22,148,8,23,201,1,38,86,94,23,197,1,12,23,199,1,12,32,87, -88,163,8,36,39,53,11,70,102,111,117,110,100,45,101,120,101,99,222,33,90, -32,88,88,163,8,36,40,58,11,64,110,101,120,116,222,33,89,27,248,22,181, -15,23,196,2,28,249,22,165,9,23,195,2,23,197,1,11,28,248,22,177,15, -23,194,2,27,249,22,172,15,23,197,1,23,196,1,28,23,197,2,90,159,39, -11,89,161,39,36,11,248,22,175,15,23,197,2,86,95,23,195,1,23,194,1, -27,28,23,202,2,27,248,22,181,15,23,199,2,28,249,22,165,9,23,195,2, -23,200,2,11,28,248,22,177,15,23,194,2,250,2,87,23,205,2,23,206,2, -249,22,172,15,23,200,2,23,198,1,250,2,87,23,205,2,23,206,2,23,196, -1,11,28,23,193,2,192,86,94,23,193,1,27,28,248,22,154,15,23,196,2, -27,249,22,172,15,23,198,2,23,205,2,28,28,248,22,167,15,193,10,248,22, -166,15,193,192,11,11,28,23,193,2,192,86,94,23,193,1,28,23,203,2,11, -27,248,22,181,15,23,200,2,28,249,22,165,9,23,195,2,23,201,1,11,28, -248,22,177,15,23,194,2,250,2,87,23,206,1,23,207,1,249,22,172,15,23, -201,1,23,198,1,250,2,87,205,206,195,192,86,94,23,194,1,28,23,196,2, -90,159,39,11,89,161,39,36,11,248,22,175,15,23,197,2,86,95,23,195,1, -23,194,1,27,28,23,201,2,27,248,22,181,15,23,199,2,28,249,22,165,9, -23,195,2,23,200,2,11,28,248,22,177,15,23,194,2,250,2,87,23,204,2, -23,205,2,249,22,172,15,23,200,2,23,198,1,250,2,87,23,204,2,23,205, -2,23,196,1,11,28,23,193,2,192,86,94,23,193,1,27,28,248,22,154,15, -23,196,2,27,249,22,172,15,23,198,2,23,204,2,28,28,248,22,167,15,193, -10,248,22,166,15,193,192,11,11,28,23,193,2,192,86,94,23,193,1,28,23, -202,2,11,27,248,22,181,15,23,200,2,28,249,22,165,9,23,195,2,23,201, -1,11,28,248,22,177,15,23,194,2,250,2,87,23,205,1,23,206,1,249,22, -172,15,23,201,1,23,198,1,250,2,87,204,205,195,192,28,23,193,2,90,159, -39,11,89,161,39,36,11,248,22,175,15,23,199,2,86,95,23,195,1,23,194, -1,27,28,23,198,2,251,2,88,23,198,2,23,203,2,23,201,2,23,202,2, -11,28,23,193,2,192,86,94,23,193,1,27,28,248,22,154,15,195,27,249,22, -172,15,197,200,28,28,248,22,167,15,193,10,248,22,166,15,193,192,11,11,28, -192,192,28,198,11,251,2,88,198,203,201,202,194,32,91,88,163,8,36,40,58, -11,2,55,222,33,92,28,248,22,87,23,197,2,11,27,248,22,180,15,248,22, -80,23,199,2,27,249,22,172,15,23,196,1,23,197,2,28,248,22,166,15,23, -194,2,250,2,87,198,199,195,86,94,23,193,1,27,248,22,81,23,200,1,28, -248,22,87,23,194,2,11,27,248,22,180,15,248,22,80,23,196,2,27,249,22, -172,15,23,196,1,23,200,2,28,248,22,166,15,23,194,2,250,2,87,201,202, -195,86,94,23,193,1,27,248,22,81,23,197,1,28,248,22,87,23,194,2,11, -27,248,22,180,15,248,22,80,195,27,249,22,172,15,23,196,1,202,28,248,22, -166,15,193,250,2,87,204,205,195,251,2,91,204,205,206,248,22,81,199,86,95, +15,23,195,2,10,248,22,178,15,23,195,2,11,12,250,22,172,11,2,6,2, +53,23,197,2,28,28,23,195,2,28,28,248,22,154,15,23,196,2,10,28,248, +22,148,7,23,196,2,28,248,22,177,15,23,196,2,10,248,22,178,15,23,196, +2,11,248,22,177,15,23,196,2,11,10,12,250,22,172,11,2,6,6,45,45, +40,111,114,47,99,32,35,102,32,40,97,110,100,47,99,32,112,97,116,104,45, +115,116,114,105,110,103,63,32,114,101,108,97,116,105,118,101,45,112,97,116,104, +63,41,41,23,198,2,28,28,248,22,177,15,23,195,2,90,159,39,11,89,161, +39,36,11,248,22,175,15,23,198,2,249,22,163,9,194,2,54,11,27,249,22, +170,8,247,22,169,8,5,4,80,65,84,72,27,28,23,194,2,249,80,158,40, +41,249,22,160,8,23,198,1,7,63,9,86,94,23,194,1,9,27,28,249,22, +163,9,247,22,175,8,2,48,249,22,79,248,22,163,15,5,1,46,23,196,1, +23,194,1,28,248,22,87,23,194,2,11,27,248,22,180,15,248,22,80,23,196, +2,27,249,22,172,15,23,196,1,23,201,2,28,248,22,166,15,23,194,2,250, +2,87,202,203,195,86,94,23,193,1,27,248,22,81,23,197,1,28,248,22,87, +23,194,2,11,27,248,22,180,15,248,22,80,23,196,2,27,249,22,172,15,23, +196,1,23,204,2,28,248,22,166,15,23,194,2,250,2,87,205,206,195,86,94, +23,193,1,27,248,22,81,23,197,1,28,248,22,87,23,194,2,11,27,248,22, +180,15,248,22,80,195,27,249,22,172,15,23,196,1,206,28,248,22,166,15,193, +250,2,87,23,16,23,17,195,251,2,91,23,16,23,17,23,18,248,22,81,199, +27,248,22,180,15,23,196,1,28,248,22,166,15,193,250,2,87,198,199,195,11, +250,80,159,39,40,39,196,197,11,250,80,159,39,40,39,196,11,11,32,96,88, +163,8,36,39,57,11,2,55,222,33,98,0,8,35,114,120,35,34,92,34,34, +27,249,22,145,16,23,197,2,23,198,2,28,23,193,2,86,94,23,196,1,27, +248,22,101,23,195,2,27,27,248,22,110,23,197,1,27,249,22,145,16,23,201, +2,23,196,2,28,23,193,2,86,94,23,194,1,27,248,22,101,23,195,2,27, +250,2,96,23,203,2,23,204,1,248,22,110,23,199,1,28,249,22,145,8,23, +196,2,2,56,249,22,93,23,202,2,194,249,22,79,248,22,163,15,28,249,22, +163,9,247,22,175,8,2,48,250,22,157,16,2,97,23,200,1,2,56,23,197, +1,194,86,95,23,199,1,23,193,1,28,249,22,145,8,23,196,2,2,56,249, +22,93,23,200,2,9,249,22,79,248,22,163,15,28,249,22,163,9,247,22,175, +8,2,48,250,22,157,16,2,97,23,200,1,2,56,23,197,1,9,28,249,22, +145,8,23,196,2,2,56,249,22,93,197,194,86,94,23,196,1,249,22,79,248, +22,163,15,28,249,22,163,9,247,22,175,8,2,48,250,22,157,16,2,97,23, +200,1,2,56,23,197,1,194,86,94,23,193,1,28,249,22,145,8,23,198,2, +2,56,249,22,93,195,9,86,94,23,194,1,249,22,79,248,22,163,15,28,249, +22,163,9,247,22,175,8,2,48,250,22,157,16,2,97,23,202,1,2,56,23, +199,1,9,86,95,28,28,248,22,137,8,194,10,248,22,148,7,194,12,250,22, +172,11,2,7,6,21,21,40,111,114,47,99,32,98,121,116,101,115,63,32,115, +116,114,105,110,103,63,41,196,28,28,248,22,88,195,249,22,4,22,154,15,196, +11,12,250,22,172,11,2,7,6,14,14,40,108,105,115,116,111,102,32,112,97, +116,104,63,41,197,250,2,96,197,195,28,248,22,148,7,197,248,22,162,8,197, +196,28,28,248,22,0,23,195,2,249,22,50,23,196,2,36,11,20,13,159,80, +159,36,43,37,26,29,80,159,8,29,44,37,249,22,33,11,80,159,8,31,43, +37,22,188,14,10,22,189,14,10,22,190,14,10,22,129,15,10,22,128,15,11, +22,130,15,10,22,191,14,10,22,131,15,10,22,132,15,10,22,133,15,10,22, +134,15,10,22,135,15,11,22,136,15,10,22,186,14,11,247,23,194,1,250,22, +172,11,2,8,2,57,23,197,1,86,94,28,28,248,22,154,15,23,195,2,10, +28,248,22,148,7,23,195,2,28,248,22,177,15,23,195,2,10,248,22,178,15, +23,195,2,11,12,250,22,172,11,23,196,2,2,53,23,197,2,28,248,22,177, +15,23,195,2,12,251,22,174,11,23,197,1,2,58,2,51,23,198,1,86,94, 28,28,248,22,154,15,23,195,2,10,28,248,22,148,7,23,195,2,28,248,22, -177,15,23,195,2,10,248,22,178,15,23,195,2,11,12,250,22,172,11,2,6, -2,53,23,197,2,28,28,23,195,2,28,28,248,22,154,15,23,196,2,10,28, -248,22,148,7,23,196,2,28,248,22,177,15,23,196,2,10,248,22,178,15,23, -196,2,11,248,22,177,15,23,196,2,11,10,12,250,22,172,11,2,6,6,45, -45,40,111,114,47,99,32,35,102,32,40,97,110,100,47,99,32,112,97,116,104, -45,115,116,114,105,110,103,63,32,114,101,108,97,116,105,118,101,45,112,97,116, -104,63,41,41,23,198,2,28,28,248,22,177,15,23,195,2,90,159,39,11,89, -161,39,36,11,248,22,175,15,23,198,2,249,22,163,9,194,2,54,11,27,249, -22,170,8,247,22,169,8,5,4,80,65,84,72,27,28,23,194,2,249,80,158, -40,41,249,22,160,8,23,198,1,7,63,9,86,94,23,194,1,9,27,28,249, -22,163,9,247,22,175,8,2,48,249,22,79,248,22,163,15,5,1,46,23,196, -1,23,194,1,28,248,22,87,23,194,2,11,27,248,22,180,15,248,22,80,23, -196,2,27,249,22,172,15,23,196,1,23,201,2,28,248,22,166,15,23,194,2, -250,2,87,202,203,195,86,94,23,193,1,27,248,22,81,23,197,1,28,248,22, -87,23,194,2,11,27,248,22,180,15,248,22,80,23,196,2,27,249,22,172,15, -23,196,1,23,204,2,28,248,22,166,15,23,194,2,250,2,87,205,206,195,86, -94,23,193,1,27,248,22,81,23,197,1,28,248,22,87,23,194,2,11,27,248, -22,180,15,248,22,80,195,27,249,22,172,15,23,196,1,206,28,248,22,166,15, -193,250,2,87,23,16,23,17,195,251,2,91,23,16,23,17,23,18,248,22,81, -199,27,248,22,180,15,23,196,1,28,248,22,166,15,193,250,2,87,198,199,195, -11,250,80,159,39,40,39,196,197,11,250,80,159,39,40,39,196,11,11,32,96, -88,163,8,36,39,57,11,2,55,222,33,98,0,8,35,114,120,35,34,92,34, -34,27,249,22,145,16,23,197,2,23,198,2,28,23,193,2,86,94,23,196,1, -27,248,22,101,23,195,2,27,27,248,22,110,23,197,1,27,249,22,145,16,23, -201,2,23,196,2,28,23,193,2,86,94,23,194,1,27,248,22,101,23,195,2, -27,250,2,96,23,203,2,23,204,1,248,22,110,23,199,1,28,249,22,145,8, -23,196,2,2,56,249,22,93,23,202,2,194,249,22,79,248,22,163,15,28,249, -22,163,9,247,22,175,8,2,48,250,22,157,16,2,97,23,200,1,2,56,23, -197,1,194,86,95,23,199,1,23,193,1,28,249,22,145,8,23,196,2,2,56, -249,22,93,23,200,2,9,249,22,79,248,22,163,15,28,249,22,163,9,247,22, -175,8,2,48,250,22,157,16,2,97,23,200,1,2,56,23,197,1,9,28,249, -22,145,8,23,196,2,2,56,249,22,93,197,194,86,94,23,196,1,249,22,79, -248,22,163,15,28,249,22,163,9,247,22,175,8,2,48,250,22,157,16,2,97, -23,200,1,2,56,23,197,1,194,86,94,23,193,1,28,249,22,145,8,23,198, -2,2,56,249,22,93,195,9,86,94,23,194,1,249,22,79,248,22,163,15,28, -249,22,163,9,247,22,175,8,2,48,250,22,157,16,2,97,23,202,1,2,56, -23,199,1,9,86,95,28,28,248,22,137,8,194,10,248,22,148,7,194,12,250, -22,172,11,2,7,6,21,21,40,111,114,47,99,32,98,121,116,101,115,63,32, -115,116,114,105,110,103,63,41,196,28,28,248,22,88,195,249,22,4,22,154,15, -196,11,12,250,22,172,11,2,7,6,14,14,40,108,105,115,116,111,102,32,112, -97,116,104,63,41,197,250,2,96,197,195,28,248,22,148,7,197,248,22,162,8, -197,196,28,28,248,22,0,23,195,2,249,22,50,23,196,2,36,11,20,13,159, -80,159,36,43,37,26,29,80,159,8,29,44,37,249,22,33,11,80,159,8,31, -43,37,22,188,14,10,22,189,14,10,22,190,14,10,22,129,15,10,22,128,15, -11,22,130,15,10,22,191,14,10,22,131,15,10,22,132,15,10,22,133,15,10, -22,134,15,10,22,135,15,11,22,136,15,10,22,186,14,11,247,23,194,1,250, -22,172,11,2,8,2,57,23,197,1,86,94,28,28,248,22,154,15,23,195,2, +177,15,23,195,2,10,248,22,178,15,23,195,2,11,12,250,22,172,11,23,196, +2,2,53,23,197,2,28,248,22,177,15,23,195,2,12,251,22,174,11,23,197, +1,2,58,2,51,23,198,1,86,94,86,94,28,28,248,22,154,15,23,195,2, 10,28,248,22,148,7,23,195,2,28,248,22,177,15,23,195,2,10,248,22,178, 15,23,195,2,11,12,250,22,172,11,23,196,2,2,53,23,197,2,28,248,22, -177,15,23,195,2,12,251,22,174,11,23,197,1,2,58,2,51,23,198,1,86, -94,28,28,248,22,154,15,23,195,2,10,28,248,22,148,7,23,195,2,28,248, -22,177,15,23,195,2,10,248,22,178,15,23,195,2,11,12,250,22,172,11,23, -196,2,2,53,23,197,2,28,248,22,177,15,23,195,2,12,251,22,174,11,23, -197,1,2,58,2,51,23,198,1,86,94,86,94,28,28,248,22,154,15,23,195, -2,10,28,248,22,148,7,23,195,2,28,248,22,177,15,23,195,2,10,248,22, -178,15,23,195,2,11,12,250,22,172,11,23,196,2,2,53,23,197,2,28,248, -22,177,15,23,195,2,86,94,23,194,1,12,251,22,174,11,23,197,2,2,58, -2,51,23,198,1,249,22,3,20,20,94,88,163,8,36,37,47,11,9,223,2, -33,102,23,195,1,23,197,1,28,28,248,22,0,23,195,2,249,22,50,23,196, -2,37,11,12,250,22,172,11,23,196,1,2,59,23,197,1,86,94,28,28,248, -22,154,15,23,194,2,10,28,248,22,148,7,23,194,2,28,248,22,177,15,23, -194,2,10,248,22,178,15,23,194,2,11,12,250,22,172,11,2,15,2,53,23, -196,2,28,248,22,177,15,23,194,2,12,251,22,174,11,2,15,2,58,2,51, -23,197,1,86,95,86,94,86,94,28,28,248,22,154,15,23,196,2,10,28,248, -22,148,7,23,196,2,28,248,22,177,15,23,196,2,10,248,22,178,15,23,196, -2,11,12,250,22,172,11,2,15,2,53,23,198,2,28,248,22,177,15,23,196, -2,12,251,22,174,11,2,15,2,58,2,51,23,199,2,249,22,3,32,0,88, -163,8,36,37,46,11,9,222,33,105,23,198,2,28,28,248,22,0,23,195,2, -249,22,50,23,196,2,37,11,12,250,22,172,11,2,15,2,59,23,197,2,251, -80,158,40,49,23,198,1,23,199,1,23,200,1,11,86,94,28,28,248,22,154, -15,23,194,2,10,28,248,22,148,7,23,194,2,28,248,22,177,15,23,194,2, -10,248,22,178,15,23,194,2,11,12,250,22,172,11,2,17,2,53,23,196,2, -28,248,22,177,15,23,194,2,12,251,22,174,11,2,17,2,58,2,51,23,197, -1,86,96,86,94,28,28,248,22,154,15,23,196,2,10,28,248,22,148,7,23, -196,2,28,248,22,177,15,23,196,2,10,248,22,178,15,23,196,2,11,12,250, -22,172,11,2,17,2,53,23,198,2,28,248,22,177,15,23,196,2,12,251,22, -174,11,2,17,2,58,2,51,23,199,2,86,94,86,94,28,28,248,22,154,15, -23,197,2,10,28,248,22,148,7,23,197,2,28,248,22,177,15,23,197,2,10, -248,22,178,15,23,197,2,11,12,250,22,172,11,2,17,2,53,23,199,2,28, -248,22,177,15,23,197,2,12,251,22,174,11,2,17,2,58,2,51,23,200,2, -249,22,3,32,0,88,163,8,36,37,46,11,9,222,33,107,23,199,2,28,28, -248,22,0,23,195,2,249,22,50,23,196,2,37,11,12,250,22,172,11,2,17, -2,59,23,197,2,251,80,158,40,49,23,198,1,23,200,1,23,201,1,23,199, -1,27,248,22,131,16,2,62,28,248,22,179,15,23,194,2,192,27,28,248,22, -177,15,23,195,2,20,13,159,80,159,38,43,37,250,80,159,41,44,37,249,22, -33,11,80,159,43,43,37,22,132,16,248,22,131,16,2,63,27,248,22,131,16, -2,64,250,80,159,42,40,39,23,196,1,23,198,2,11,11,28,23,193,2,192, -86,94,23,193,1,27,249,22,180,15,27,248,22,131,16,2,64,250,80,159,45, -40,39,23,196,1,11,11,248,22,131,16,2,63,90,159,39,11,89,161,39,36, -11,248,22,175,15,23,197,1,86,95,23,195,1,23,194,1,249,22,180,15,23, -200,1,23,195,1,20,13,159,80,159,36,43,37,26,29,80,159,8,29,44,37, -249,22,33,11,80,159,8,31,43,37,22,188,14,10,22,189,14,10,22,190,14, -10,22,129,15,10,22,128,15,11,22,130,15,10,22,191,14,10,22,131,15,10, -22,132,15,10,22,133,15,10,22,134,15,10,22,135,15,11,22,136,15,10,22, -186,14,11,247,22,143,6,27,249,22,172,15,23,197,1,6,11,11,99,111,110, -102,105,103,46,114,107,116,100,27,28,248,22,166,15,23,195,2,249,22,135,6, -23,196,1,80,159,40,8,44,39,11,28,192,192,21,17,1,0,28,248,22,148, -7,23,195,2,27,248,22,162,15,23,196,1,28,248,22,179,15,23,194,2,192, -249,22,180,15,23,195,1,27,27,248,22,131,16,2,65,28,248,22,179,15,23, +177,15,23,195,2,86,94,23,194,1,12,251,22,174,11,23,197,2,2,58,2, +51,23,198,1,249,22,3,20,20,94,88,163,8,36,37,47,11,9,223,2,33, +102,23,195,1,23,197,1,28,28,248,22,0,23,195,2,249,22,50,23,196,2, +37,11,12,250,22,172,11,23,196,1,2,59,23,197,1,86,94,28,28,248,22, +154,15,23,194,2,10,28,248,22,148,7,23,194,2,28,248,22,177,15,23,194, +2,10,248,22,178,15,23,194,2,11,12,250,22,172,11,2,15,2,53,23,196, +2,28,248,22,177,15,23,194,2,12,251,22,174,11,2,15,2,58,2,51,23, +197,1,86,95,86,94,86,94,28,28,248,22,154,15,23,196,2,10,28,248,22, +148,7,23,196,2,28,248,22,177,15,23,196,2,10,248,22,178,15,23,196,2, +11,12,250,22,172,11,2,15,2,53,23,198,2,28,248,22,177,15,23,196,2, +12,251,22,174,11,2,15,2,58,2,51,23,199,2,249,22,3,32,0,88,163, +8,36,37,46,11,9,222,33,105,23,198,2,28,28,248,22,0,23,195,2,249, +22,50,23,196,2,37,11,12,250,22,172,11,2,15,2,59,23,197,2,251,80, +158,40,49,23,198,1,23,199,1,23,200,1,11,86,94,28,28,248,22,154,15, +23,194,2,10,28,248,22,148,7,23,194,2,28,248,22,177,15,23,194,2,10, +248,22,178,15,23,194,2,11,12,250,22,172,11,2,17,2,53,23,196,2,28, +248,22,177,15,23,194,2,12,251,22,174,11,2,17,2,58,2,51,23,197,1, +86,96,86,94,28,28,248,22,154,15,23,196,2,10,28,248,22,148,7,23,196, +2,28,248,22,177,15,23,196,2,10,248,22,178,15,23,196,2,11,12,250,22, +172,11,2,17,2,53,23,198,2,28,248,22,177,15,23,196,2,12,251,22,174, +11,2,17,2,58,2,51,23,199,2,86,94,86,94,28,28,248,22,154,15,23, +197,2,10,28,248,22,148,7,23,197,2,28,248,22,177,15,23,197,2,10,248, +22,178,15,23,197,2,11,12,250,22,172,11,2,17,2,53,23,199,2,28,248, +22,177,15,23,197,2,12,251,22,174,11,2,17,2,58,2,51,23,200,2,249, +22,3,32,0,88,163,8,36,37,46,11,9,222,33,107,23,199,2,28,28,248, +22,0,23,195,2,249,22,50,23,196,2,37,11,12,250,22,172,11,2,17,2, +59,23,197,2,251,80,158,40,49,23,198,1,23,200,1,23,201,1,23,199,1, +27,248,22,131,16,2,62,28,248,22,179,15,23,194,2,192,27,28,248,22,177, +15,23,195,2,20,13,159,80,159,38,43,37,250,80,159,41,44,37,249,22,33, +11,80,159,43,43,37,22,132,16,248,22,131,16,2,63,27,248,22,131,16,2, +64,250,80,159,42,40,39,23,196,1,23,198,2,11,11,28,23,193,2,192,86, +94,23,193,1,27,249,22,180,15,27,248,22,131,16,2,64,250,80,159,45,40, +39,23,196,1,11,11,248,22,131,16,2,63,90,159,39,11,89,161,39,36,11, +248,22,175,15,23,197,1,86,95,23,195,1,23,194,1,249,22,180,15,23,200, +1,23,195,1,20,13,159,80,159,36,43,37,26,29,80,159,8,29,44,37,249, +22,33,11,80,159,8,31,43,37,22,188,14,10,22,189,14,10,22,190,14,10, +22,129,15,10,22,128,15,11,22,130,15,10,22,191,14,10,22,131,15,10,22, +132,15,10,22,133,15,10,22,134,15,10,22,135,15,11,22,136,15,10,22,186, +14,11,247,22,143,6,27,249,22,172,15,23,197,1,6,11,11,99,111,110,102, +105,103,46,114,107,116,100,27,28,248,22,166,15,23,195,2,249,22,135,6,23, +196,1,80,159,40,8,44,39,11,28,192,192,21,17,1,0,28,248,22,148,7, +23,195,2,27,248,22,162,15,23,196,1,28,248,22,179,15,23,194,2,192,249, +22,180,15,23,195,1,27,27,248,22,131,16,2,65,28,248,22,179,15,23,194, +2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22,180,15, +250,80,159,48,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63,250, +80,159,44,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2,192,86, +94,23,193,1,248,22,131,16,2,63,28,248,22,137,8,23,195,2,27,248,22, +163,15,23,196,1,28,248,22,179,15,23,194,2,192,249,22,180,15,23,195,1, +27,27,248,22,131,16,2,65,28,248,22,179,15,23,194,2,192,28,248,22,178, +15,23,194,2,249,22,180,15,23,195,1,249,22,180,15,250,80,159,48,40,39, +248,22,131,16,2,64,11,10,248,22,131,16,2,63,250,80,159,44,40,39,248, +22,131,16,2,64,23,196,1,10,28,23,193,2,192,86,94,23,193,1,248,22, +131,16,2,63,28,248,22,154,15,23,195,2,28,248,22,179,15,23,195,2,193, +249,22,180,15,23,196,1,27,27,248,22,131,16,2,65,28,248,22,179,15,23, 194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22,180, -15,250,80,159,48,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63, -250,80,159,44,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2,192, -86,94,23,193,1,248,22,131,16,2,63,28,248,22,137,8,23,195,2,27,248, -22,163,15,23,196,1,28,248,22,179,15,23,194,2,192,249,22,180,15,23,195, -1,27,27,248,22,131,16,2,65,28,248,22,179,15,23,194,2,192,28,248,22, -178,15,23,194,2,249,22,180,15,23,195,1,249,22,180,15,250,80,159,48,40, -39,248,22,131,16,2,64,11,10,248,22,131,16,2,63,250,80,159,44,40,39, -248,22,131,16,2,64,23,196,1,10,28,23,193,2,192,86,94,23,193,1,248, -22,131,16,2,63,28,248,22,154,15,23,195,2,28,248,22,179,15,23,195,2, -193,249,22,180,15,23,196,1,27,27,248,22,131,16,2,65,28,248,22,179,15, -23,194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22, -180,15,250,80,159,47,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2, -63,250,80,159,43,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2, -192,86,94,23,193,1,248,22,131,16,2,63,193,28,248,22,179,15,23,195,2, -193,249,22,180,15,23,196,1,27,27,248,22,131,16,2,65,28,248,22,179,15, -23,194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22, -180,15,250,80,159,47,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2, -63,250,80,159,43,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2, -192,86,94,23,193,1,248,22,131,16,2,63,28,248,22,179,15,23,195,2,193, -28,248,22,178,15,23,195,2,249,22,180,15,23,196,1,249,22,180,15,250,80, -159,43,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63,250,80,159, -39,40,39,248,22,131,16,2,64,196,10,28,248,22,87,23,196,2,9,28,248, -22,80,23,196,2,249,22,79,248,80,159,39,59,39,248,22,136,18,23,199,2, -27,248,22,137,18,23,199,1,28,248,22,87,23,194,2,9,28,248,22,80,23, -194,2,249,22,79,248,80,159,42,59,39,248,22,136,18,23,197,2,27,248,22, -137,18,23,197,1,28,248,22,87,23,194,2,9,28,248,22,80,23,194,2,249, -22,79,248,80,159,45,59,39,248,22,136,18,23,197,2,249,80,159,46,8,45, -39,23,204,1,248,22,137,18,23,198,1,249,22,93,23,202,2,249,80,159,46, -8,45,39,23,204,1,248,22,137,18,23,198,1,249,22,93,23,199,2,27,248, -22,137,18,23,197,1,28,248,22,87,23,194,2,9,28,248,22,80,23,194,2, -249,22,79,248,80,159,45,59,39,248,22,136,18,23,197,2,249,80,159,46,8, -45,39,23,204,1,248,22,137,18,23,198,1,249,22,93,23,202,2,249,80,159, -46,8,45,39,23,204,1,248,22,137,18,23,198,1,249,22,93,23,196,2,27, +15,250,80,159,47,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63, +250,80,159,43,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2,192, +86,94,23,193,1,248,22,131,16,2,63,193,28,248,22,179,15,23,195,2,193, +249,22,180,15,23,196,1,27,27,248,22,131,16,2,65,28,248,22,179,15,23, +194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22,180, +15,250,80,159,47,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63, +250,80,159,43,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2,192, +86,94,23,193,1,248,22,131,16,2,63,28,248,22,179,15,23,195,2,193,28, +248,22,178,15,23,195,2,249,22,180,15,23,196,1,249,22,180,15,250,80,159, +43,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63,250,80,159,39, +40,39,248,22,131,16,2,64,196,10,28,248,22,87,23,196,2,9,28,248,22, +80,23,196,2,249,22,79,248,80,159,39,59,39,248,22,136,18,23,199,2,27, 248,22,137,18,23,199,1,28,248,22,87,23,194,2,9,28,248,22,80,23,194, 2,249,22,79,248,80,159,42,59,39,248,22,136,18,23,197,2,27,248,22,137, 18,23,197,1,28,248,22,87,23,194,2,9,28,248,22,80,23,194,2,249,22, @@ -422,1099 +412,1110 @@ 137,18,23,197,1,28,248,22,87,23,194,2,9,28,248,22,80,23,194,2,249, 22,79,248,80,159,45,59,39,248,22,136,18,23,197,2,249,80,159,46,8,45, 39,23,204,1,248,22,137,18,23,198,1,249,22,93,23,202,2,249,80,159,46, -8,45,39,23,204,1,248,22,137,18,23,198,1,27,250,22,157,2,23,198,1, -23,199,1,11,28,192,249,80,159,39,8,45,39,198,194,196,27,27,248,22,131, -16,2,62,28,248,22,179,15,23,194,2,192,27,28,248,22,177,15,23,195,2, -20,13,159,80,159,39,43,37,250,80,159,42,44,37,249,22,33,11,80,159,44, -43,37,22,132,16,248,22,131,16,2,63,27,248,22,131,16,2,64,250,80,159, -43,40,39,23,196,1,23,198,2,11,11,28,23,193,2,192,86,94,23,193,1, -27,249,22,180,15,27,248,22,131,16,2,64,250,80,159,46,40,39,23,196,1, -11,11,248,22,131,16,2,63,90,159,39,11,89,161,39,36,11,248,22,175,15, -23,197,1,86,95,23,195,1,23,194,1,249,22,180,15,23,200,1,23,195,1, -27,248,80,159,39,58,39,23,195,1,27,248,80,159,40,59,39,27,250,22,157, -2,23,199,2,70,108,105,110,107,115,45,102,105,108,101,11,28,23,193,2,192, -86,94,23,193,1,249,22,172,15,27,250,22,157,2,23,202,2,67,108,105,98, -45,100,105,114,11,28,192,192,62,117,112,2,61,248,22,186,8,250,80,159,43, -8,26,39,23,198,1,78,108,105,110,107,115,45,115,101,97,114,99,104,45,102, -105,108,101,115,248,22,89,23,198,1,248,22,162,13,23,194,1,249,22,16,80, -159,38,8,31,38,28,248,22,182,12,23,197,2,86,94,23,196,1,32,0,88, -163,8,36,36,41,11,9,222,11,20,20,94,88,163,8,36,36,43,11,9,223, -3,33,118,23,196,1,32,120,88,163,36,37,56,11,2,55,222,33,121,90,159, -39,11,89,161,39,36,11,248,22,175,15,23,197,1,86,95,23,195,1,23,194, -1,28,248,22,154,15,23,194,2,28,248,22,167,15,23,194,2,249,22,140,6, -23,195,1,32,0,88,163,8,36,36,41,11,9,222,11,90,159,39,11,89,161, -39,36,11,248,22,175,15,23,197,1,86,95,23,195,1,23,194,1,28,248,22, -154,15,23,194,2,28,248,22,167,15,23,194,2,249,22,140,6,23,195,1,32, -0,88,163,8,36,36,41,11,9,222,11,90,159,39,11,89,161,39,36,11,248, -22,175,15,23,197,1,86,95,23,195,1,23,194,1,28,248,22,154,15,23,194, -2,28,248,22,167,15,23,194,2,249,22,140,6,23,195,1,32,0,88,163,8, -36,36,41,11,9,222,11,90,159,39,11,89,161,39,36,11,248,22,175,15,23, -197,1,86,95,23,195,1,23,194,1,28,248,22,154,15,23,194,2,28,248,22, -167,15,23,194,2,249,22,140,6,23,195,1,32,0,88,163,8,36,36,41,11, -9,222,11,248,2,120,23,194,1,11,11,11,11,32,122,88,163,8,36,37,55, -11,2,55,222,33,123,27,249,22,158,6,8,128,128,23,196,2,28,248,22,143, -7,23,194,2,9,249,22,79,23,195,1,27,249,22,158,6,8,128,128,23,199, -2,28,248,22,143,7,23,194,2,9,249,22,79,23,195,1,27,249,22,158,6, -8,128,128,23,202,2,28,248,22,143,7,23,194,2,9,249,22,79,23,195,1, -27,249,22,158,6,8,128,128,23,205,2,28,248,22,143,7,23,194,2,9,249, -22,79,23,195,1,248,2,122,23,206,1,27,249,22,158,6,8,128,128,23,196, -2,28,248,22,137,8,23,194,2,28,249,22,129,4,248,22,142,8,23,196,2, -8,128,128,249,22,1,22,149,8,249,22,79,23,197,1,27,249,22,158,6,8, -128,128,23,201,2,28,248,22,143,7,23,194,2,9,249,22,79,23,195,1,27, -249,22,158,6,8,128,128,23,204,2,28,248,22,143,7,23,194,2,9,249,22, -79,23,195,1,27,249,22,158,6,8,128,128,23,207,2,28,248,22,143,7,23, -194,2,9,249,22,79,23,195,1,27,249,22,158,6,8,128,128,23,210,2,28, -248,22,143,7,23,194,2,9,249,22,79,23,195,1,248,2,122,23,211,1,192, -192,248,22,128,6,23,194,1,20,13,159,80,159,37,8,33,37,80,159,37,8, -46,39,27,28,249,22,183,8,248,22,175,8,2,66,38,90,159,39,11,89,161, -39,36,11,248,22,175,15,23,198,2,86,95,23,195,1,23,194,1,28,248,22, -154,15,23,194,2,28,248,22,167,15,23,194,2,249,22,140,6,23,195,1,32, -0,88,163,8,36,36,41,11,9,222,11,90,159,39,11,89,161,39,36,11,248, -22,175,15,23,197,1,86,95,23,195,1,23,194,1,28,248,22,154,15,23,194, -2,28,248,22,167,15,23,194,2,249,22,140,6,23,195,1,32,0,88,163,8, -36,36,41,11,9,222,11,90,159,39,11,89,161,39,36,11,248,22,175,15,23, -197,1,86,95,23,195,1,23,194,1,28,248,22,154,15,23,194,2,28,248,22, -167,15,23,194,2,249,22,140,6,23,195,1,32,0,88,163,8,36,36,41,11, -9,222,11,90,159,39,11,89,161,39,36,11,248,22,175,15,23,197,1,86,95, -23,195,1,23,194,1,28,248,22,154,15,23,194,2,28,248,22,167,15,23,194, -2,249,22,140,6,23,195,1,32,0,88,163,8,36,36,41,11,9,222,11,248, -2,120,23,194,1,11,11,11,11,11,28,248,22,166,15,23,195,2,27,28,249, -22,183,8,248,22,175,8,2,66,38,249,22,140,6,23,197,2,32,0,88,163, -8,36,36,41,11,9,222,11,11,86,94,28,23,194,2,248,22,142,6,23,195, -1,86,94,23,194,1,12,249,22,79,27,248,22,183,5,23,199,1,250,22,46, -22,37,88,163,36,36,8,24,11,9,223,3,33,124,20,20,94,88,163,36,36, -43,11,9,223,3,33,125,23,196,1,194,249,22,79,11,194,28,28,23,195,2, -28,248,22,81,23,196,2,248,22,161,9,249,22,157,14,36,248,22,137,18,23, -199,2,11,11,194,86,94,23,195,1,249,22,14,20,20,94,88,163,8,32,36, -58,16,4,36,8,240,0,128,0,0,8,240,2,64,0,0,36,9,224,2,3, -33,126,23,196,1,80,159,38,8,31,38,27,248,22,161,9,194,28,192,192,248, -22,161,9,248,22,80,195,86,94,28,248,22,139,12,23,199,2,27,247,22,131, -12,28,249,22,187,11,23,195,2,2,67,251,22,191,11,23,197,1,2,67,250, -22,132,8,2,68,28,23,202,1,86,95,23,204,1,23,203,1,80,159,48,51, -38,28,23,203,1,86,94,23,204,1,80,159,48,54,38,249,22,183,8,80,159, -50,8,27,38,23,206,1,248,22,135,12,23,207,2,247,22,29,12,12,28,248, -22,139,12,23,199,2,86,94,23,198,1,248,23,194,1,247,22,137,2,197,86, -95,28,248,22,139,12,23,200,2,27,247,22,131,12,28,249,22,187,11,23,195, -2,2,67,251,22,191,11,23,197,1,2,67,250,22,132,8,2,68,28,23,203, -2,80,159,49,51,38,28,23,204,2,80,159,49,54,38,249,22,183,8,80,159, -51,8,27,38,23,207,2,248,22,135,12,23,208,2,247,22,29,12,12,28,23, -193,2,28,23,195,1,86,95,23,197,1,23,196,1,86,94,20,18,159,11,80, -158,41,52,247,22,137,2,20,18,159,11,80,158,41,53,23,193,1,28,23,196, -1,86,94,23,197,1,86,94,20,18,159,11,80,158,41,55,247,22,137,2,20, -18,159,11,80,158,41,56,23,193,1,86,94,250,22,184,8,80,159,44,8,29, -38,23,200,2,247,22,137,2,250,22,184,8,80,159,44,8,30,38,23,200,1, -23,196,1,86,94,23,195,1,12,28,248,22,139,12,23,200,2,86,94,23,199, -1,248,23,195,1,247,22,137,2,198,20,20,94,248,22,143,6,23,194,2,28, -248,22,143,7,248,22,143,6,23,195,1,12,248,22,168,11,6,30,30,101,120, -112,101,99,116,101,100,32,97,32,115,105,110,103,108,101,32,83,45,101,120,112, -114,101,115,115,105,111,110,248,22,128,6,23,194,1,28,248,22,88,23,194,2, -28,28,249,22,189,3,38,248,22,92,23,196,2,10,249,22,189,3,39,248,22, -92,23,196,2,28,28,248,22,148,7,248,22,80,23,195,2,10,28,249,22,163, -9,2,69,248,22,136,18,23,196,2,10,249,22,163,9,2,70,248,22,136,18, -23,196,2,28,27,248,22,101,194,28,248,22,154,15,23,194,2,10,28,248,22, -148,7,23,194,2,28,248,22,177,15,23,194,2,10,248,22,178,15,23,194,1, -11,27,248,22,87,248,22,103,195,28,192,192,248,22,158,16,248,22,110,195,11, -11,11,11,28,248,22,167,15,249,22,172,15,23,196,2,23,198,2,27,248,22, -67,248,22,158,15,23,198,1,250,22,155,2,23,198,2,23,196,2,249,22,79, -23,199,1,250,22,157,2,23,203,1,23,201,1,9,12,250,22,155,2,23,197, -1,23,198,1,249,22,79,23,198,1,23,201,1,28,28,248,22,87,248,22,103, -23,197,2,10,249,22,149,16,248,22,110,23,198,2,247,22,166,8,27,248,22, -182,15,249,22,180,15,248,22,101,23,200,2,23,198,1,28,249,22,163,9,248, -22,80,23,199,2,2,70,86,94,23,196,1,249,22,3,20,20,94,88,163,8, -36,37,53,11,9,224,3,2,33,134,2,23,196,1,248,22,185,15,23,196,1, -28,249,22,163,9,248,22,136,18,23,199,2,2,69,86,94,23,196,1,86,94, -28,250,22,157,2,23,197,2,11,11,12,250,22,155,2,23,197,2,11,9,249, -22,161,2,23,196,2,20,20,95,88,163,8,36,38,50,11,9,224,3,2,33, -135,2,23,195,1,23,196,1,27,248,22,67,248,22,136,18,23,199,1,250,22, -155,2,23,198,2,23,196,2,249,22,79,248,22,128,2,23,200,1,250,22,157, -2,23,203,1,23,201,1,9,12,250,22,155,2,23,196,1,23,197,1,248,22, -94,23,199,1,27,28,28,23,194,2,248,22,161,9,248,22,80,23,196,2,10, -9,27,249,22,183,5,23,198,2,66,98,105,110,97,114,121,250,22,46,22,37, -88,163,8,36,36,44,11,9,223,3,33,131,2,20,20,94,88,163,36,36,43, -11,9,223,3,33,132,2,23,196,1,86,94,28,28,248,22,88,23,194,2,249, -22,4,32,0,88,163,8,36,37,45,11,9,222,33,133,2,23,195,2,11,12, -248,22,168,11,6,18,18,105,108,108,45,102,111,114,109,101,100,32,99,111,110, -116,101,110,116,27,247,22,137,2,27,90,159,39,11,89,161,39,36,11,248,22, -175,15,23,201,1,192,86,96,249,22,3,20,20,94,88,163,8,36,37,54,11, -9,224,2,3,33,136,2,23,195,1,23,197,1,249,22,161,2,195,88,163,8, -36,38,48,11,9,223,3,33,137,2,28,23,198,1,86,94,20,18,159,11,80, -158,44,52,193,20,18,159,11,80,158,44,53,195,28,23,199,1,86,94,20,18, -159,11,80,158,44,55,193,20,18,159,11,80,158,44,56,195,86,94,250,22,184, -8,80,159,47,8,29,38,23,203,2,196,250,22,184,8,80,159,47,8,30,38, -23,203,1,23,199,1,193,20,13,159,80,159,39,8,33,37,88,163,36,37,57, -16,2,8,240,0,128,0,0,8,132,32,9,227,3,2,1,0,4,33,129,2, -27,28,23,194,2,80,159,40,51,38,28,23,195,2,80,159,40,54,38,249,22, -183,8,80,159,42,8,27,38,23,198,2,27,28,23,195,2,80,158,41,53,28, -23,196,2,80,158,41,56,249,22,183,8,80,159,43,8,30,38,23,199,2,27, -249,80,159,44,8,32,39,23,197,2,23,196,2,28,249,22,165,9,23,195,2, -23,196,1,86,96,23,200,1,23,195,1,23,193,1,28,23,196,1,80,158,42, -52,28,23,197,1,80,158,42,55,249,22,183,8,80,159,44,8,29,38,23,200, -1,20,13,159,80,159,42,8,33,37,20,20,94,88,163,36,37,58,16,2,8, -240,0,128,0,0,8,240,31,104,0,0,9,228,6,5,4,3,7,0,33,130, -2,23,200,1,27,20,20,98,88,163,8,36,36,54,16,2,36,8,240,27,96, -0,0,9,228,7,6,5,4,3,1,33,138,2,23,194,1,23,196,1,23,197, -1,23,198,1,23,199,1,28,28,248,22,0,23,194,2,249,22,50,23,195,2, -36,11,20,13,159,80,159,43,43,37,26,29,80,159,8,36,44,37,249,22,33, -11,80,159,8,38,43,37,22,188,14,10,22,189,14,10,22,190,14,10,22,129, -15,10,22,128,15,11,22,130,15,10,22,191,14,10,22,131,15,10,22,132,15, -10,22,133,15,10,22,134,15,10,22,135,15,11,22,136,15,10,22,186,14,11, -247,23,193,1,250,22,172,11,2,8,2,57,23,196,1,248,22,9,20,20,96, -88,163,36,37,8,45,16,4,8,240,128,129,0,0,8,240,31,104,0,0,39, -36,9,226,1,4,3,2,33,139,2,23,195,1,23,196,1,23,197,1,0,7, -35,114,120,34,47,43,34,28,248,22,148,7,23,195,2,27,249,22,147,16,2, -141,2,23,197,2,28,23,193,2,28,249,22,189,3,248,22,100,23,196,2,248, -22,179,3,248,22,151,7,23,199,2,249,22,7,250,22,170,7,23,200,1,36, -248,22,100,23,199,1,23,198,1,249,22,7,250,22,170,7,23,200,2,36,248, -22,100,23,199,2,249,22,79,249,22,170,7,23,201,1,248,22,102,23,200,1, -23,200,1,249,22,7,23,197,1,23,198,1,90,159,39,11,89,161,39,36,11, -248,22,175,15,23,198,1,86,94,23,195,1,28,249,22,163,9,23,195,2,2, -54,86,94,23,193,1,249,22,7,23,196,1,23,200,1,27,249,22,79,23,197, -1,23,201,1,28,248,22,148,7,23,195,2,27,249,22,147,16,2,141,2,23, -197,2,28,23,193,2,28,249,22,189,3,248,22,100,23,196,2,248,22,179,3, -248,22,151,7,23,199,2,249,22,7,250,22,170,7,23,200,1,36,248,22,100, -23,199,1,23,196,1,249,22,7,250,22,170,7,23,200,2,36,248,22,100,23, -199,2,249,22,79,249,22,170,7,23,201,1,248,22,102,23,200,1,23,198,1, -249,22,7,23,197,1,23,196,1,90,159,39,11,89,161,39,36,11,248,22,175, -15,23,198,1,86,94,23,195,1,28,249,22,163,9,23,195,2,2,54,86,94, -23,193,1,249,22,7,23,196,1,23,198,1,249,80,159,45,8,36,39,194,249, -22,79,197,199,28,249,22,129,4,23,197,2,248,22,182,8,80,159,39,8,27, -38,9,27,250,80,159,40,8,35,39,11,11,23,199,2,250,22,93,250,22,157, -2,23,199,2,23,201,2,9,250,22,157,2,23,199,1,11,9,27,248,22,178, -3,23,201,1,28,249,22,129,4,23,195,2,248,22,182,8,80,159,44,8,27, -38,9,27,250,80,159,45,8,35,39,11,11,23,197,2,250,22,93,250,22,157, -2,23,199,2,23,206,2,9,250,22,157,2,23,199,1,11,9,27,248,22,178, -3,23,199,1,28,249,22,129,4,23,195,2,248,22,182,8,80,159,49,8,27, -38,9,27,250,80,159,50,8,35,39,11,11,23,197,2,250,22,93,250,22,157, -2,23,199,2,23,211,2,9,250,22,157,2,23,199,1,11,9,249,80,159,52, -8,47,39,23,210,1,248,22,178,3,23,200,1,32,144,2,88,163,36,43,8, -31,11,65,99,108,111,111,112,222,33,153,2,32,145,2,88,163,8,36,37,47, -11,2,55,222,33,148,2,32,146,2,88,163,36,37,43,11,69,116,111,45,115, -116,114,105,110,103,222,33,147,2,28,248,22,154,15,23,194,2,248,22,158,15, -23,194,1,192,28,248,22,87,248,22,81,23,195,2,248,22,89,248,2,146,2, -248,22,136,18,23,196,1,250,22,90,248,2,146,2,248,22,136,18,23,198,2, -2,72,248,2,145,2,248,22,137,18,23,198,1,250,22,132,8,6,7,7,10, -32,126,97,32,126,97,6,1,1,32,23,196,1,249,22,132,8,6,6,6,10, -32,32,32,126,97,248,22,131,2,23,196,1,32,151,2,88,163,36,38,48,11, -66,102,105,108,116,101,114,222,33,152,2,28,248,22,87,23,195,2,9,28,248, -23,194,2,248,22,80,23,196,2,249,22,79,248,22,136,18,23,197,2,249,2, -151,2,23,197,1,248,22,137,18,23,199,1,249,2,151,2,23,195,1,248,22, -137,18,23,197,1,28,248,22,87,23,199,2,86,94,23,198,1,28,23,199,2, -86,97,23,196,1,23,195,1,23,194,1,23,193,1,28,23,197,2,249,22,172, -15,23,201,1,23,199,1,198,27,28,248,22,87,23,197,2,2,71,249,22,1, -22,171,7,248,2,145,2,23,199,2,248,23,198,1,251,22,132,8,6,70,70, -99,111,108,108,101,99,116,105,111,110,32,110,111,116,32,102,111,117,110,100,10, -32,32,99,111,108,108,101,99,116,105,111,110,58,32,126,115,10,32,32,105,110, -32,99,111,108,108,101,99,116,105,111,110,32,100,105,114,101,99,116,111,114,105, -101,115,58,126,97,126,97,28,248,22,87,23,202,1,248,2,146,2,23,201,1, -250,22,171,7,248,2,146,2,23,204,1,2,72,23,201,2,249,22,1,22,171, -7,249,22,2,32,0,88,163,8,36,37,45,11,9,222,33,149,2,27,248,22, -92,23,205,2,27,248,22,92,247,22,134,16,28,249,22,190,3,249,22,181,3, -23,198,2,23,197,2,41,23,205,2,249,22,93,247,22,134,16,248,22,89,249, -22,132,8,6,50,50,46,46,46,32,91,126,97,32,97,100,100,105,116,105,111, -110,97,108,32,108,105,110,107,101,100,32,97,110,100,32,112,97,99,107,97,103, -101,32,100,105,114,101,99,116,111,114,105,101,115,93,249,22,181,3,23,201,1, -23,200,1,28,249,22,5,22,130,2,23,201,2,250,22,132,8,6,49,49,10, -32,32,32,115,117,98,45,99,111,108,108,101,99,116,105,111,110,58,32,126,115, -10,32,32,105,110,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114, -105,101,115,58,126,97,23,201,1,249,22,1,22,171,7,249,22,2,32,0,88, -163,8,36,37,45,11,9,222,33,150,2,249,2,151,2,22,130,2,23,208,1, -86,95,23,199,1,23,198,1,2,71,27,248,22,80,23,200,2,27,28,248,22, -154,15,23,195,2,249,22,172,15,23,196,1,23,198,2,248,22,131,2,23,195, -1,28,28,248,22,154,15,248,22,80,23,202,2,248,22,167,15,23,194,2,10, -27,250,22,1,22,172,15,23,197,1,23,201,2,28,28,248,22,87,23,199,2, -10,248,22,167,15,23,194,2,28,23,200,2,28,28,248,22,166,15,249,22,172, -15,23,196,2,23,203,2,10,27,28,248,22,154,15,23,202,2,248,22,158,15, -23,202,2,23,201,2,19,248,22,151,7,23,195,2,27,28,249,22,129,4,23, -196,4,40,28,249,22,154,7,6,4,4,46,114,107,116,249,22,170,7,23,199, -2,249,22,181,3,23,200,4,40,249,22,171,7,250,22,170,7,23,200,1,36, -249,22,181,3,23,201,4,40,6,3,3,46,115,115,86,94,23,195,1,11,11, -28,23,193,2,248,22,166,15,249,22,172,15,23,199,2,23,196,1,11,2,86, -99,23,202,1,23,201,1,23,199,1,23,198,1,23,197,1,23,196,1,28,23, -200,2,249,22,172,15,23,195,1,23,202,1,192,254,2,144,2,202,203,204,205, -206,248,22,81,23,16,28,23,16,23,16,199,28,23,200,2,249,22,172,15,23, -195,1,23,202,1,192,254,2,144,2,202,203,204,205,206,248,22,81,23,16,23, -16,254,2,144,2,201,202,203,204,205,248,22,81,23,15,23,15,90,159,38,11, -89,161,38,36,11,249,80,159,40,8,36,39,23,199,1,23,200,1,27,248,22, -67,28,248,22,154,15,195,248,22,158,15,195,194,27,247,22,138,16,27,250,22, -93,28,23,197,2,28,247,22,137,16,249,22,93,27,250,80,159,50,8,35,39, -10,11,36,249,22,93,250,22,157,2,23,198,2,23,206,2,9,250,22,157,2, -23,198,1,11,9,27,250,80,159,50,8,35,39,11,10,36,249,22,93,250,22, -157,2,23,198,2,23,206,2,9,250,22,157,2,23,198,1,11,9,9,9,28, -23,197,1,28,249,22,129,4,36,248,22,182,8,80,159,47,8,27,38,86,94, -23,198,1,9,27,250,80,159,48,8,35,39,11,11,36,250,22,93,250,22,157, -2,23,199,2,23,205,2,9,250,22,157,2,23,199,1,11,9,28,249,22,129, -4,37,248,22,182,8,80,159,51,8,27,38,9,27,250,80,159,52,8,35,39, -11,11,37,250,22,93,250,22,157,2,23,199,2,23,209,2,9,250,22,157,2, -23,199,1,11,9,28,249,22,129,4,38,248,22,182,8,80,159,55,8,27,38, -9,27,250,80,159,56,8,35,39,11,11,38,250,22,93,250,22,157,2,23,199, -2,23,213,2,9,250,22,157,2,23,199,1,11,9,249,80,159,58,8,47,39, -23,212,1,39,9,247,22,134,16,254,2,144,2,199,202,203,205,23,16,199,11, -86,95,28,28,248,22,155,15,23,194,2,10,28,248,22,154,15,23,194,2,10, -28,248,22,148,7,23,194,2,28,248,22,177,15,23,194,2,10,248,22,178,15, -23,194,2,11,12,252,22,172,11,23,200,2,2,47,36,23,198,2,23,199,2, -28,28,248,22,148,7,23,195,2,10,248,22,137,8,23,195,2,86,94,23,194, -1,12,252,22,172,11,23,200,2,2,73,37,23,198,2,23,199,1,90,159,39, -11,89,161,39,36,11,248,22,175,15,23,197,2,86,94,23,195,1,86,94,28, -23,193,2,86,95,23,198,1,23,196,1,12,250,22,175,11,23,201,1,2,74, -23,199,1,249,22,7,23,195,1,23,196,1,32,156,2,88,163,36,42,8,24, -11,2,55,222,33,157,2,28,248,22,130,4,23,199,2,86,95,23,198,1,23, -194,1,19,248,22,142,8,23,195,2,19,248,22,142,8,23,196,2,249,22,164, -15,251,22,149,8,250,22,148,8,23,204,2,36,23,203,4,2,56,249,23,205, -1,23,203,1,23,201,4,28,248,22,148,7,23,206,2,249,22,163,8,23,207, -1,8,63,23,205,1,28,248,22,155,15,23,201,2,248,22,156,15,23,201,1, -86,94,23,200,1,247,22,157,15,2,2,27,248,22,179,3,23,200,1,28,249, -22,163,9,8,46,249,22,143,8,23,198,2,23,197,2,27,248,22,178,3,23, -195,2,249,22,164,15,251,22,149,8,250,22,148,8,23,204,2,36,23,203,1, -23,202,1,249,23,205,1,23,203,1,23,201,1,28,248,22,148,7,23,206,2, -249,22,163,8,23,207,1,8,63,23,205,1,28,248,22,155,15,23,201,2,248, -22,156,15,23,201,1,86,94,23,200,1,247,22,157,15,28,248,22,130,4,23, -194,2,86,95,23,195,1,23,193,1,19,248,22,142,8,23,196,2,19,248,22, -142,8,23,197,2,249,22,164,15,251,22,149,8,250,22,148,8,23,205,2,36, -23,203,4,2,56,249,23,206,1,23,204,1,23,201,4,28,248,22,148,7,23, -207,2,249,22,163,8,23,208,1,8,63,23,206,1,28,248,22,155,15,23,202, -2,248,22,156,15,23,202,1,86,94,23,201,1,247,22,157,15,2,2,27,248, -22,179,3,23,195,1,28,249,22,163,9,8,46,249,22,143,8,23,199,2,23, -197,2,27,248,22,178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148, -8,23,205,2,36,23,203,1,23,203,1,249,23,206,1,23,204,1,23,201,1, -28,248,22,148,7,23,207,2,249,22,163,8,23,208,1,8,63,23,206,1,28, -248,22,155,15,23,202,2,248,22,156,15,23,202,1,86,94,23,201,1,247,22, -157,15,28,248,22,130,4,23,194,2,86,95,23,196,1,23,193,1,19,248,22, -142,8,23,197,2,19,248,22,142,8,23,198,2,249,22,164,15,251,22,149,8, -250,22,148,8,23,206,2,36,23,203,4,2,56,249,23,207,1,23,205,1,23, -201,4,28,248,22,148,7,23,208,2,249,22,163,8,23,209,1,8,63,23,207, -1,28,248,22,155,15,23,203,2,248,22,156,15,23,203,1,86,94,23,202,1, -247,22,157,15,2,2,27,248,22,179,3,23,195,1,28,249,22,163,9,8,46, -249,22,143,8,23,200,2,23,197,2,27,248,22,178,3,23,195,2,249,22,164, -15,251,22,149,8,250,22,148,8,23,206,2,36,23,203,1,23,204,1,249,23, -207,1,23,205,1,23,201,1,28,248,22,148,7,23,208,2,249,22,163,8,23, -209,1,8,63,23,207,1,28,248,22,155,15,23,203,2,248,22,156,15,23,203, -1,86,94,23,202,1,247,22,157,15,253,2,156,2,201,202,203,204,205,198,90, -159,38,11,89,161,38,36,11,86,95,28,28,248,22,155,15,23,199,2,10,28, -248,22,154,15,23,199,2,10,28,248,22,148,7,23,199,2,28,248,22,177,15, -23,199,2,10,248,22,178,15,23,199,2,11,12,252,22,172,11,23,200,2,2, -47,36,23,203,2,23,204,2,28,28,248,22,148,7,23,200,2,10,248,22,137, -8,23,200,2,12,252,22,172,11,23,200,2,2,73,37,23,203,2,23,204,2, -90,159,39,11,89,161,39,36,11,248,22,175,15,23,202,2,86,94,23,195,1, -86,94,28,192,12,250,22,175,11,23,201,1,2,74,23,204,2,249,22,7,194, -195,27,248,22,160,15,23,196,1,27,19,248,22,142,8,23,196,2,28,248,22, -130,4,23,194,4,86,94,23,199,1,19,248,22,142,8,23,197,2,19,248,22, -142,8,23,198,2,249,22,164,15,251,22,149,8,250,22,148,8,23,206,2,36, -23,203,4,2,56,249,23,210,1,23,205,1,23,201,4,28,248,22,148,7,23, -211,2,249,22,163,8,23,212,1,8,63,23,210,1,28,248,22,155,15,23,206, -2,248,22,156,15,23,206,1,86,94,23,205,1,247,22,157,15,2,2,27,248, -22,179,3,23,195,4,28,249,22,163,9,8,46,249,22,143,8,23,200,2,23, -197,2,27,248,22,178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148, -8,23,206,2,36,23,203,1,23,207,1,249,23,210,1,23,205,1,23,201,1, -28,248,22,148,7,23,211,2,249,22,163,8,23,212,1,8,63,23,210,1,28, -248,22,155,15,23,206,2,248,22,156,15,23,206,1,86,94,23,205,1,247,22, -157,15,28,248,22,130,4,23,194,2,86,95,23,200,1,23,193,1,19,248,22, -142,8,23,198,2,19,248,22,142,8,23,199,2,249,22,164,15,251,22,149,8, -250,22,148,8,23,207,2,36,23,203,4,2,56,249,23,211,1,23,206,1,23, -201,4,28,248,22,148,7,23,212,2,249,22,163,8,23,213,1,8,63,23,211, -1,28,248,22,155,15,23,207,2,248,22,156,15,23,207,1,86,94,23,206,1, -247,22,157,15,2,2,27,248,22,179,3,23,195,1,28,249,22,163,9,8,46, -249,22,143,8,23,201,2,23,197,2,27,248,22,178,3,23,195,2,249,22,164, -15,251,22,149,8,250,22,148,8,23,207,2,36,23,203,1,23,208,1,249,23, -211,1,23,206,1,23,201,1,28,248,22,148,7,23,212,2,249,22,163,8,23, -213,1,8,63,23,211,1,28,248,22,155,15,23,207,2,248,22,156,15,23,207, -1,86,94,23,206,1,247,22,157,15,253,2,156,2,23,203,1,23,207,1,23, -208,1,23,209,1,23,210,1,23,199,1,2,28,248,22,154,15,23,196,2,249, -22,172,15,23,197,1,23,195,1,192,32,159,2,88,163,36,40,57,11,2,55, -222,33,160,2,28,248,22,130,4,23,197,2,86,94,23,196,1,19,248,22,142, -8,23,195,2,35,248,22,142,8,23,196,2,249,22,164,15,251,22,149,8,250, -22,148,8,23,204,1,36,23,203,4,2,56,2,56,28,248,22,148,7,23,204, +8,45,39,23,204,1,248,22,137,18,23,198,1,249,22,93,23,196,2,27,248, +22,137,18,23,199,1,28,248,22,87,23,194,2,9,28,248,22,80,23,194,2, +249,22,79,248,80,159,42,59,39,248,22,136,18,23,197,2,27,248,22,137,18, +23,197,1,28,248,22,87,23,194,2,9,28,248,22,80,23,194,2,249,22,79, +248,80,159,45,59,39,248,22,136,18,23,197,2,249,80,159,46,8,45,39,23, +204,1,248,22,137,18,23,198,1,249,22,93,23,202,2,249,80,159,46,8,45, +39,23,204,1,248,22,137,18,23,198,1,249,22,93,23,199,2,27,248,22,137, +18,23,197,1,28,248,22,87,23,194,2,9,28,248,22,80,23,194,2,249,22, +79,248,80,159,45,59,39,248,22,136,18,23,197,2,249,80,159,46,8,45,39, +23,204,1,248,22,137,18,23,198,1,249,22,93,23,202,2,249,80,159,46,8, +45,39,23,204,1,248,22,137,18,23,198,1,27,250,22,157,2,23,198,1,23, +199,1,11,28,192,249,80,159,39,8,45,39,198,194,196,27,27,248,22,131,16, +2,62,28,248,22,179,15,23,194,2,192,27,28,248,22,177,15,23,195,2,20, +13,159,80,159,39,43,37,250,80,159,42,44,37,249,22,33,11,80,159,44,43, +37,22,132,16,248,22,131,16,2,63,27,248,22,131,16,2,64,250,80,159,43, +40,39,23,196,1,23,198,2,11,11,28,23,193,2,192,86,94,23,193,1,27, +249,22,180,15,27,248,22,131,16,2,64,250,80,159,46,40,39,23,196,1,11, +11,248,22,131,16,2,63,90,159,39,11,89,161,39,36,11,248,22,175,15,23, +197,1,86,95,23,195,1,23,194,1,249,22,180,15,23,200,1,23,195,1,27, +248,80,159,39,58,39,23,195,1,27,248,80,159,40,59,39,27,250,22,157,2, +23,199,2,70,108,105,110,107,115,45,102,105,108,101,11,28,23,193,2,192,86, +94,23,193,1,249,22,172,15,27,250,22,157,2,23,202,2,69,115,104,97,114, +101,45,100,105,114,11,28,23,193,2,192,86,94,23,193,1,249,22,172,15,62, +117,112,6,5,5,115,104,97,114,101,2,61,248,22,186,8,250,80,159,43,8, +26,39,23,198,1,78,108,105,110,107,115,45,115,101,97,114,99,104,45,102,105, +108,101,115,248,22,89,23,198,1,248,22,162,13,23,194,1,249,22,16,80,159, +38,8,31,38,28,248,22,182,12,23,197,2,86,94,23,196,1,32,0,88,163, +8,36,36,41,11,9,222,11,20,20,94,88,163,8,36,36,43,11,9,223,3, +33,118,23,196,1,32,120,88,163,36,37,56,11,2,55,222,33,121,90,159,39, +11,89,161,39,36,11,248,22,175,15,23,197,1,86,95,23,195,1,23,194,1, +28,248,22,154,15,23,194,2,28,248,22,167,15,23,194,2,249,22,140,6,23, +195,1,32,0,88,163,8,36,36,41,11,9,222,11,90,159,39,11,89,161,39, +36,11,248,22,175,15,23,197,1,86,95,23,195,1,23,194,1,28,248,22,154, +15,23,194,2,28,248,22,167,15,23,194,2,249,22,140,6,23,195,1,32,0, +88,163,8,36,36,41,11,9,222,11,90,159,39,11,89,161,39,36,11,248,22, +175,15,23,197,1,86,95,23,195,1,23,194,1,28,248,22,154,15,23,194,2, +28,248,22,167,15,23,194,2,249,22,140,6,23,195,1,32,0,88,163,8,36, +36,41,11,9,222,11,90,159,39,11,89,161,39,36,11,248,22,175,15,23,197, +1,86,95,23,195,1,23,194,1,28,248,22,154,15,23,194,2,28,248,22,167, +15,23,194,2,249,22,140,6,23,195,1,32,0,88,163,8,36,36,41,11,9, +222,11,248,2,120,23,194,1,11,11,11,11,32,122,88,163,8,36,37,55,11, +2,55,222,33,123,27,249,22,158,6,8,128,128,23,196,2,28,248,22,143,7, +23,194,2,9,249,22,79,23,195,1,27,249,22,158,6,8,128,128,23,199,2, +28,248,22,143,7,23,194,2,9,249,22,79,23,195,1,27,249,22,158,6,8, +128,128,23,202,2,28,248,22,143,7,23,194,2,9,249,22,79,23,195,1,27, +249,22,158,6,8,128,128,23,205,2,28,248,22,143,7,23,194,2,9,249,22, +79,23,195,1,248,2,122,23,206,1,27,249,22,158,6,8,128,128,23,196,2, +28,248,22,137,8,23,194,2,28,249,22,129,4,248,22,142,8,23,196,2,8, +128,128,249,22,1,22,149,8,249,22,79,23,197,1,27,249,22,158,6,8,128, +128,23,201,2,28,248,22,143,7,23,194,2,9,249,22,79,23,195,1,27,249, +22,158,6,8,128,128,23,204,2,28,248,22,143,7,23,194,2,9,249,22,79, +23,195,1,27,249,22,158,6,8,128,128,23,207,2,28,248,22,143,7,23,194, +2,9,249,22,79,23,195,1,27,249,22,158,6,8,128,128,23,210,2,28,248, +22,143,7,23,194,2,9,249,22,79,23,195,1,248,2,122,23,211,1,192,192, +248,22,128,6,23,194,1,20,13,159,80,159,37,8,33,37,80,159,37,8,46, +39,27,28,249,22,183,8,248,22,175,8,2,66,38,90,159,39,11,89,161,39, +36,11,248,22,175,15,23,198,2,86,95,23,195,1,23,194,1,28,248,22,154, +15,23,194,2,28,248,22,167,15,23,194,2,249,22,140,6,23,195,1,32,0, +88,163,8,36,36,41,11,9,222,11,90,159,39,11,89,161,39,36,11,248,22, +175,15,23,197,1,86,95,23,195,1,23,194,1,28,248,22,154,15,23,194,2, +28,248,22,167,15,23,194,2,249,22,140,6,23,195,1,32,0,88,163,8,36, +36,41,11,9,222,11,90,159,39,11,89,161,39,36,11,248,22,175,15,23,197, +1,86,95,23,195,1,23,194,1,28,248,22,154,15,23,194,2,28,248,22,167, +15,23,194,2,249,22,140,6,23,195,1,32,0,88,163,8,36,36,41,11,9, +222,11,90,159,39,11,89,161,39,36,11,248,22,175,15,23,197,1,86,95,23, +195,1,23,194,1,28,248,22,154,15,23,194,2,28,248,22,167,15,23,194,2, +249,22,140,6,23,195,1,32,0,88,163,8,36,36,41,11,9,222,11,248,2, +120,23,194,1,11,11,11,11,11,28,248,22,166,15,23,195,2,27,28,249,22, +183,8,248,22,175,8,2,66,38,249,22,140,6,23,197,2,32,0,88,163,8, +36,36,41,11,9,222,11,11,86,94,28,23,194,2,248,22,142,6,23,195,1, +86,94,23,194,1,12,249,22,79,27,248,22,183,5,23,199,1,250,22,46,22, +37,88,163,36,36,8,24,11,9,223,3,33,124,20,20,94,88,163,36,36,43, +11,9,223,3,33,125,23,196,1,194,249,22,79,11,194,28,28,23,195,2,28, +248,22,81,23,196,2,248,22,161,9,249,22,157,14,36,248,22,137,18,23,199, +2,11,11,194,86,94,23,195,1,249,22,14,20,20,94,88,163,8,32,36,58, +16,4,36,8,240,0,128,0,0,8,240,2,64,0,0,36,9,224,2,3,33, +126,23,196,1,80,159,38,8,31,38,27,248,22,161,9,194,28,192,192,248,22, +161,9,248,22,80,195,86,94,28,248,22,139,12,23,199,2,27,247,22,131,12, +28,249,22,187,11,23,195,2,2,67,251,22,191,11,23,197,1,2,67,250,22, +132,8,2,68,28,23,202,1,86,95,23,204,1,23,203,1,80,159,48,51,38, +28,23,203,1,86,94,23,204,1,80,159,48,54,38,249,22,183,8,80,159,50, +8,27,38,23,206,1,248,22,135,12,23,207,2,247,22,29,12,12,28,248,22, +139,12,23,199,2,86,94,23,198,1,248,23,194,1,247,22,137,2,197,86,95, +28,248,22,139,12,23,200,2,27,247,22,131,12,28,249,22,187,11,23,195,2, +2,67,251,22,191,11,23,197,1,2,67,250,22,132,8,2,68,28,23,203,2, +80,159,49,51,38,28,23,204,2,80,159,49,54,38,249,22,183,8,80,159,51, +8,27,38,23,207,2,248,22,135,12,23,208,2,247,22,29,12,12,28,23,193, +2,28,23,195,1,86,95,23,197,1,23,196,1,86,94,20,18,159,11,80,158, +41,52,247,22,137,2,20,18,159,11,80,158,41,53,23,193,1,28,23,196,1, +86,94,23,197,1,86,94,20,18,159,11,80,158,41,55,247,22,137,2,20,18, +159,11,80,158,41,56,23,193,1,86,94,250,22,184,8,80,159,44,8,29,38, +23,200,2,247,22,137,2,250,22,184,8,80,159,44,8,30,38,23,200,1,23, +196,1,86,94,23,195,1,12,28,248,22,139,12,23,200,2,86,94,23,199,1, +248,23,195,1,247,22,137,2,198,20,20,94,248,22,143,6,23,194,2,28,248, +22,143,7,248,22,143,6,23,195,1,12,248,22,168,11,6,30,30,101,120,112, +101,99,116,101,100,32,97,32,115,105,110,103,108,101,32,83,45,101,120,112,114, +101,115,115,105,111,110,248,22,128,6,23,194,1,28,248,22,88,23,194,2,28, +28,249,22,189,3,38,248,22,92,23,196,2,10,249,22,189,3,39,248,22,92, +23,196,2,28,28,248,22,148,7,248,22,80,23,195,2,10,28,249,22,163,9, +2,69,248,22,136,18,23,196,2,10,249,22,163,9,2,70,248,22,136,18,23, +196,2,28,27,248,22,101,194,28,248,22,154,15,23,194,2,10,28,248,22,148, +7,23,194,2,28,248,22,177,15,23,194,2,10,248,22,178,15,23,194,1,11, +27,248,22,87,248,22,103,195,28,192,192,248,22,158,16,248,22,110,195,11,11, +11,11,28,248,22,167,15,249,22,172,15,23,196,2,23,198,2,27,248,22,67, +248,22,158,15,23,198,1,250,22,155,2,23,198,2,23,196,2,249,22,79,23, +199,1,250,22,157,2,23,203,1,23,201,1,9,12,250,22,155,2,23,197,1, +23,198,1,249,22,79,23,198,1,23,201,1,28,28,248,22,87,248,22,103,23, +197,2,10,249,22,149,16,248,22,110,23,198,2,247,22,166,8,27,248,22,182, +15,249,22,180,15,248,22,101,23,200,2,23,198,1,28,249,22,163,9,248,22, +80,23,199,2,2,70,86,94,23,196,1,249,22,3,20,20,94,88,163,8,36, +37,53,11,9,224,3,2,33,134,2,23,196,1,248,22,185,15,23,196,1,28, +249,22,163,9,248,22,136,18,23,199,2,2,69,86,94,23,196,1,86,94,28, +250,22,157,2,23,197,2,11,11,12,250,22,155,2,23,197,2,11,9,249,22, +161,2,23,196,2,20,20,95,88,163,8,36,38,50,11,9,224,3,2,33,135, +2,23,195,1,23,196,1,27,248,22,67,248,22,136,18,23,199,1,250,22,155, +2,23,198,2,23,196,2,249,22,79,248,22,128,2,23,200,1,250,22,157,2, +23,203,1,23,201,1,9,12,250,22,155,2,23,196,1,23,197,1,248,22,94, +23,199,1,27,28,28,23,194,2,248,22,161,9,248,22,80,23,196,2,10,9, +27,249,22,183,5,23,198,2,66,98,105,110,97,114,121,250,22,46,22,37,88, +163,8,36,36,44,11,9,223,3,33,131,2,20,20,94,88,163,36,36,43,11, +9,223,3,33,132,2,23,196,1,86,94,28,28,248,22,88,23,194,2,249,22, +4,32,0,88,163,8,36,37,45,11,9,222,33,133,2,23,195,2,11,12,248, +22,168,11,6,18,18,105,108,108,45,102,111,114,109,101,100,32,99,111,110,116, +101,110,116,27,247,22,137,2,27,90,159,39,11,89,161,39,36,11,248,22,175, +15,23,201,1,192,86,96,249,22,3,20,20,94,88,163,8,36,37,54,11,9, +224,2,3,33,136,2,23,195,1,23,197,1,249,22,161,2,195,88,163,8,36, +38,48,11,9,223,3,33,137,2,28,23,198,1,86,94,20,18,159,11,80,158, +44,52,193,20,18,159,11,80,158,44,53,195,28,23,199,1,86,94,20,18,159, +11,80,158,44,55,193,20,18,159,11,80,158,44,56,195,86,94,250,22,184,8, +80,159,47,8,29,38,23,203,2,196,250,22,184,8,80,159,47,8,30,38,23, +203,1,23,199,1,193,20,13,159,80,159,39,8,33,37,88,163,36,37,57,16, +2,8,240,0,128,0,0,8,132,32,9,227,3,2,1,0,4,33,129,2,27, +28,23,194,2,80,159,40,51,38,28,23,195,2,80,159,40,54,38,249,22,183, +8,80,159,42,8,27,38,23,198,2,27,28,23,195,2,80,158,41,53,28,23, +196,2,80,158,41,56,249,22,183,8,80,159,43,8,30,38,23,199,2,27,249, +80,159,44,8,32,39,23,197,2,23,196,2,28,249,22,165,9,23,195,2,23, +196,1,86,96,23,200,1,23,195,1,23,193,1,28,23,196,1,80,158,42,52, +28,23,197,1,80,158,42,55,249,22,183,8,80,159,44,8,29,38,23,200,1, +20,13,159,80,159,42,8,33,37,20,20,94,88,163,36,37,58,16,2,8,240, +0,128,0,0,8,240,31,104,0,0,9,228,6,5,4,3,7,0,33,130,2, +23,200,1,27,20,20,98,88,163,8,36,36,54,16,2,36,8,240,27,96,0, +0,9,228,7,6,5,4,3,1,33,138,2,23,194,1,23,196,1,23,197,1, +23,198,1,23,199,1,28,28,248,22,0,23,194,2,249,22,50,23,195,2,36, +11,20,13,159,80,159,43,43,37,26,29,80,159,8,36,44,37,249,22,33,11, +80,159,8,38,43,37,22,188,14,10,22,189,14,10,22,190,14,10,22,129,15, +10,22,128,15,11,22,130,15,10,22,191,14,10,22,131,15,10,22,132,15,10, +22,133,15,10,22,134,15,10,22,135,15,11,22,136,15,10,22,186,14,11,247, +23,193,1,250,22,172,11,2,8,2,57,23,196,1,248,22,9,20,20,96,88, +163,36,37,8,45,16,4,8,240,128,129,0,0,8,240,31,104,0,0,39,36, +9,226,1,4,3,2,33,139,2,23,195,1,23,196,1,23,197,1,0,7,35, +114,120,34,47,43,34,28,248,22,148,7,23,195,2,27,249,22,147,16,2,141, +2,23,197,2,28,23,193,2,28,249,22,189,3,248,22,100,23,196,2,248,22, +179,3,248,22,151,7,23,199,2,249,22,7,250,22,170,7,23,200,1,36,248, +22,100,23,199,1,23,198,1,249,22,7,250,22,170,7,23,200,2,36,248,22, +100,23,199,2,249,22,79,249,22,170,7,23,201,1,248,22,102,23,200,1,23, +200,1,249,22,7,23,197,1,23,198,1,90,159,39,11,89,161,39,36,11,248, +22,175,15,23,198,1,86,94,23,195,1,28,249,22,163,9,23,195,2,2,54, +86,94,23,193,1,249,22,7,23,196,1,23,200,1,27,249,22,79,23,197,1, +23,201,1,28,248,22,148,7,23,195,2,27,249,22,147,16,2,141,2,23,197, +2,28,23,193,2,28,249,22,189,3,248,22,100,23,196,2,248,22,179,3,248, +22,151,7,23,199,2,249,22,7,250,22,170,7,23,200,1,36,248,22,100,23, +199,1,23,196,1,249,22,7,250,22,170,7,23,200,2,36,248,22,100,23,199, +2,249,22,79,249,22,170,7,23,201,1,248,22,102,23,200,1,23,198,1,249, +22,7,23,197,1,23,196,1,90,159,39,11,89,161,39,36,11,248,22,175,15, +23,198,1,86,94,23,195,1,28,249,22,163,9,23,195,2,2,54,86,94,23, +193,1,249,22,7,23,196,1,23,198,1,249,80,159,45,8,36,39,194,249,22, +79,197,199,28,249,22,129,4,23,197,2,248,22,182,8,80,159,39,8,27,38, +9,27,250,80,159,40,8,35,39,11,11,23,199,2,250,22,93,250,22,157,2, +23,199,2,23,201,2,9,250,22,157,2,23,199,1,11,9,27,248,22,178,3, +23,201,1,28,249,22,129,4,23,195,2,248,22,182,8,80,159,44,8,27,38, +9,27,250,80,159,45,8,35,39,11,11,23,197,2,250,22,93,250,22,157,2, +23,199,2,23,206,2,9,250,22,157,2,23,199,1,11,9,27,248,22,178,3, +23,199,1,28,249,22,129,4,23,195,2,248,22,182,8,80,159,49,8,27,38, +9,27,250,80,159,50,8,35,39,11,11,23,197,2,250,22,93,250,22,157,2, +23,199,2,23,211,2,9,250,22,157,2,23,199,1,11,9,249,80,159,52,8, +47,39,23,210,1,248,22,178,3,23,200,1,32,144,2,88,163,36,43,8,31, +11,65,99,108,111,111,112,222,33,153,2,32,145,2,88,163,8,36,37,47,11, +2,55,222,33,148,2,32,146,2,88,163,36,37,43,11,69,116,111,45,115,116, +114,105,110,103,222,33,147,2,28,248,22,154,15,23,194,2,248,22,158,15,23, +194,1,192,28,248,22,87,248,22,81,23,195,2,248,22,89,248,2,146,2,248, +22,136,18,23,196,1,250,22,90,248,2,146,2,248,22,136,18,23,198,2,2, +72,248,2,145,2,248,22,137,18,23,198,1,250,22,132,8,6,7,7,10,32, +126,97,32,126,97,6,1,1,32,23,196,1,249,22,132,8,6,6,6,10,32, +32,32,126,97,248,22,131,2,23,196,1,32,151,2,88,163,36,38,48,11,66, +102,105,108,116,101,114,222,33,152,2,28,248,22,87,23,195,2,9,28,248,23, +194,2,248,22,80,23,196,2,249,22,79,248,22,136,18,23,197,2,249,2,151, +2,23,197,1,248,22,137,18,23,199,1,249,2,151,2,23,195,1,248,22,137, +18,23,197,1,28,248,22,87,23,199,2,86,94,23,198,1,28,23,199,2,86, +97,23,196,1,23,195,1,23,194,1,23,193,1,28,23,197,2,249,22,172,15, +23,201,1,23,199,1,198,27,28,248,22,87,23,197,2,2,71,249,22,1,22, +171,7,248,2,145,2,23,199,2,248,23,198,1,251,22,132,8,6,70,70,99, +111,108,108,101,99,116,105,111,110,32,110,111,116,32,102,111,117,110,100,10,32, +32,99,111,108,108,101,99,116,105,111,110,58,32,126,115,10,32,32,105,110,32, +99,111,108,108,101,99,116,105,111,110,32,100,105,114,101,99,116,111,114,105,101, +115,58,126,97,126,97,28,248,22,87,23,202,1,248,2,146,2,23,201,1,250, +22,171,7,248,2,146,2,23,204,1,2,72,23,201,2,249,22,1,22,171,7, +249,22,2,32,0,88,163,8,36,37,45,11,9,222,33,149,2,27,248,22,92, +23,205,2,27,248,22,92,247,22,134,16,28,249,22,190,3,249,22,181,3,23, +198,2,23,197,2,41,23,205,2,249,22,93,247,22,134,16,248,22,89,249,22, +132,8,6,50,50,46,46,46,32,91,126,97,32,97,100,100,105,116,105,111,110, +97,108,32,108,105,110,107,101,100,32,97,110,100,32,112,97,99,107,97,103,101, +32,100,105,114,101,99,116,111,114,105,101,115,93,249,22,181,3,23,201,1,23, +200,1,28,249,22,5,22,130,2,23,201,2,250,22,132,8,6,49,49,10,32, +32,32,115,117,98,45,99,111,108,108,101,99,116,105,111,110,58,32,126,115,10, +32,32,105,110,32,112,97,114,101,110,116,32,100,105,114,101,99,116,111,114,105, +101,115,58,126,97,23,201,1,249,22,1,22,171,7,249,22,2,32,0,88,163, +8,36,37,45,11,9,222,33,150,2,249,2,151,2,22,130,2,23,208,1,86, +95,23,199,1,23,198,1,2,71,27,248,22,80,23,200,2,27,28,248,22,154, +15,23,195,2,249,22,172,15,23,196,1,23,198,2,248,22,131,2,23,195,1, +28,28,248,22,154,15,248,22,80,23,202,2,248,22,167,15,23,194,2,10,27, +250,22,1,22,172,15,23,197,1,23,201,2,28,28,248,22,87,23,199,2,10, +248,22,167,15,23,194,2,28,23,200,2,28,28,248,22,166,15,249,22,172,15, +23,196,2,23,203,2,10,27,28,248,22,154,15,23,202,2,248,22,158,15,23, +202,2,23,201,2,19,248,22,151,7,23,195,2,27,28,249,22,129,4,23,196, +4,40,28,249,22,154,7,6,4,4,46,114,107,116,249,22,170,7,23,199,2, +249,22,181,3,23,200,4,40,249,22,171,7,250,22,170,7,23,200,1,36,249, +22,181,3,23,201,4,40,6,3,3,46,115,115,86,94,23,195,1,11,11,28, +23,193,2,248,22,166,15,249,22,172,15,23,199,2,23,196,1,11,2,86,99, +23,202,1,23,201,1,23,199,1,23,198,1,23,197,1,23,196,1,28,23,200, +2,249,22,172,15,23,195,1,23,202,1,192,254,2,144,2,202,203,204,205,206, +248,22,81,23,16,28,23,16,23,16,199,28,23,200,2,249,22,172,15,23,195, +1,23,202,1,192,254,2,144,2,202,203,204,205,206,248,22,81,23,16,23,16, +254,2,144,2,201,202,203,204,205,248,22,81,23,15,23,15,90,159,38,11,89, +161,38,36,11,249,80,159,40,8,36,39,23,199,1,23,200,1,27,248,22,67, +28,248,22,154,15,195,248,22,158,15,195,194,27,247,22,138,16,27,250,22,93, +28,23,197,2,28,247,22,137,16,249,22,93,27,250,80,159,50,8,35,39,10, +11,36,249,22,93,250,22,157,2,23,198,2,23,206,2,9,250,22,157,2,23, +198,1,11,9,27,250,80,159,50,8,35,39,11,10,36,249,22,93,250,22,157, +2,23,198,2,23,206,2,9,250,22,157,2,23,198,1,11,9,9,9,28,23, +197,1,28,249,22,129,4,36,248,22,182,8,80,159,47,8,27,38,86,94,23, +198,1,9,27,250,80,159,48,8,35,39,11,11,36,250,22,93,250,22,157,2, +23,199,2,23,205,2,9,250,22,157,2,23,199,1,11,9,28,249,22,129,4, +37,248,22,182,8,80,159,51,8,27,38,9,27,250,80,159,52,8,35,39,11, +11,37,250,22,93,250,22,157,2,23,199,2,23,209,2,9,250,22,157,2,23, +199,1,11,9,28,249,22,129,4,38,248,22,182,8,80,159,55,8,27,38,9, +27,250,80,159,56,8,35,39,11,11,38,250,22,93,250,22,157,2,23,199,2, +23,213,2,9,250,22,157,2,23,199,1,11,9,249,80,159,58,8,47,39,23, +212,1,39,9,247,22,134,16,254,2,144,2,199,202,203,205,23,16,199,11,86, +95,28,28,248,22,155,15,23,194,2,10,28,248,22,154,15,23,194,2,10,28, +248,22,148,7,23,194,2,28,248,22,177,15,23,194,2,10,248,22,178,15,23, +194,2,11,12,252,22,172,11,23,200,2,2,47,36,23,198,2,23,199,2,28, +28,248,22,148,7,23,195,2,10,248,22,137,8,23,195,2,86,94,23,194,1, +12,252,22,172,11,23,200,2,2,73,37,23,198,2,23,199,1,90,159,39,11, +89,161,39,36,11,248,22,175,15,23,197,2,86,94,23,195,1,86,94,28,23, +193,2,86,95,23,198,1,23,196,1,12,250,22,175,11,23,201,1,2,74,23, +199,1,249,22,7,23,195,1,23,196,1,32,156,2,88,163,36,42,8,24,11, +2,55,222,33,157,2,28,248,22,130,4,23,199,2,86,95,23,198,1,23,194, +1,19,248,22,142,8,23,195,2,19,248,22,142,8,23,196,2,249,22,164,15, +251,22,149,8,250,22,148,8,23,204,2,36,23,203,4,2,56,249,23,205,1, +23,203,1,23,201,4,28,248,22,148,7,23,206,2,249,22,163,8,23,207,1, +8,63,23,205,1,28,248,22,155,15,23,201,2,248,22,156,15,23,201,1,86, +94,23,200,1,247,22,157,15,2,2,27,248,22,179,3,23,200,1,28,249,22, +163,9,8,46,249,22,143,8,23,198,2,23,197,2,27,248,22,178,3,23,195, +2,249,22,164,15,251,22,149,8,250,22,148,8,23,204,2,36,23,203,1,23, +202,1,249,23,205,1,23,203,1,23,201,1,28,248,22,148,7,23,206,2,249, +22,163,8,23,207,1,8,63,23,205,1,28,248,22,155,15,23,201,2,248,22, +156,15,23,201,1,86,94,23,200,1,247,22,157,15,28,248,22,130,4,23,194, +2,86,95,23,195,1,23,193,1,19,248,22,142,8,23,196,2,19,248,22,142, +8,23,197,2,249,22,164,15,251,22,149,8,250,22,148,8,23,205,2,36,23, +203,4,2,56,249,23,206,1,23,204,1,23,201,4,28,248,22,148,7,23,207, +2,249,22,163,8,23,208,1,8,63,23,206,1,28,248,22,155,15,23,202,2, +248,22,156,15,23,202,1,86,94,23,201,1,247,22,157,15,2,2,27,248,22, +179,3,23,195,1,28,249,22,163,9,8,46,249,22,143,8,23,199,2,23,197, +2,27,248,22,178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148,8, +23,205,2,36,23,203,1,23,203,1,249,23,206,1,23,204,1,23,201,1,28, +248,22,148,7,23,207,2,249,22,163,8,23,208,1,8,63,23,206,1,28,248, +22,155,15,23,202,2,248,22,156,15,23,202,1,86,94,23,201,1,247,22,157, +15,28,248,22,130,4,23,194,2,86,95,23,196,1,23,193,1,19,248,22,142, +8,23,197,2,19,248,22,142,8,23,198,2,249,22,164,15,251,22,149,8,250, +22,148,8,23,206,2,36,23,203,4,2,56,249,23,207,1,23,205,1,23,201, +4,28,248,22,148,7,23,208,2,249,22,163,8,23,209,1,8,63,23,207,1, +28,248,22,155,15,23,203,2,248,22,156,15,23,203,1,86,94,23,202,1,247, +22,157,15,2,2,27,248,22,179,3,23,195,1,28,249,22,163,9,8,46,249, +22,143,8,23,200,2,23,197,2,27,248,22,178,3,23,195,2,249,22,164,15, +251,22,149,8,250,22,148,8,23,206,2,36,23,203,1,23,204,1,249,23,207, +1,23,205,1,23,201,1,28,248,22,148,7,23,208,2,249,22,163,8,23,209, +1,8,63,23,207,1,28,248,22,155,15,23,203,2,248,22,156,15,23,203,1, +86,94,23,202,1,247,22,157,15,253,2,156,2,201,202,203,204,205,198,90,159, +38,11,89,161,38,36,11,86,95,28,28,248,22,155,15,23,199,2,10,28,248, +22,154,15,23,199,2,10,28,248,22,148,7,23,199,2,28,248,22,177,15,23, +199,2,10,248,22,178,15,23,199,2,11,12,252,22,172,11,23,200,2,2,47, +36,23,203,2,23,204,2,28,28,248,22,148,7,23,200,2,10,248,22,137,8, +23,200,2,12,252,22,172,11,23,200,2,2,73,37,23,203,2,23,204,2,90, +159,39,11,89,161,39,36,11,248,22,175,15,23,202,2,86,94,23,195,1,86, +94,28,192,12,250,22,175,11,23,201,1,2,74,23,204,2,249,22,7,194,195, +27,248,22,160,15,23,196,1,27,19,248,22,142,8,23,196,2,28,248,22,130, +4,23,194,4,86,94,23,199,1,19,248,22,142,8,23,197,2,19,248,22,142, +8,23,198,2,249,22,164,15,251,22,149,8,250,22,148,8,23,206,2,36,23, +203,4,2,56,249,23,210,1,23,205,1,23,201,4,28,248,22,148,7,23,211, +2,249,22,163,8,23,212,1,8,63,23,210,1,28,248,22,155,15,23,206,2, +248,22,156,15,23,206,1,86,94,23,205,1,247,22,157,15,2,2,27,248,22, +179,3,23,195,4,28,249,22,163,9,8,46,249,22,143,8,23,200,2,23,197, +2,27,248,22,178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148,8, +23,206,2,36,23,203,1,23,207,1,249,23,210,1,23,205,1,23,201,1,28, +248,22,148,7,23,211,2,249,22,163,8,23,212,1,8,63,23,210,1,28,248, +22,155,15,23,206,2,248,22,156,15,23,206,1,86,94,23,205,1,247,22,157, +15,28,248,22,130,4,23,194,2,86,95,23,200,1,23,193,1,19,248,22,142, +8,23,198,2,19,248,22,142,8,23,199,2,249,22,164,15,251,22,149,8,250, +22,148,8,23,207,2,36,23,203,4,2,56,249,23,211,1,23,206,1,23,201, +4,28,248,22,148,7,23,212,2,249,22,163,8,23,213,1,8,63,23,211,1, +28,248,22,155,15,23,207,2,248,22,156,15,23,207,1,86,94,23,206,1,247, +22,157,15,2,2,27,248,22,179,3,23,195,1,28,249,22,163,9,8,46,249, +22,143,8,23,201,2,23,197,2,27,248,22,178,3,23,195,2,249,22,164,15, +251,22,149,8,250,22,148,8,23,207,2,36,23,203,1,23,208,1,249,23,211, +1,23,206,1,23,201,1,28,248,22,148,7,23,212,2,249,22,163,8,23,213, +1,8,63,23,211,1,28,248,22,155,15,23,207,2,248,22,156,15,23,207,1, +86,94,23,206,1,247,22,157,15,253,2,156,2,23,203,1,23,207,1,23,208, +1,23,209,1,23,210,1,23,199,1,2,28,248,22,154,15,23,196,2,249,22, +172,15,23,197,1,23,195,1,192,32,159,2,88,163,36,40,57,11,2,55,222, +33,160,2,28,248,22,130,4,23,197,2,86,94,23,196,1,19,248,22,142,8, +23,195,2,35,248,22,142,8,23,196,2,249,22,164,15,251,22,149,8,250,22, +148,8,23,204,1,36,23,203,4,2,56,2,56,28,248,22,148,7,23,204,2, +249,22,163,8,23,205,1,8,63,23,203,1,28,248,22,155,15,23,199,2,248, +22,156,15,23,199,1,86,94,23,198,1,247,22,157,15,2,27,248,22,179,3, +23,198,1,28,249,22,163,9,8,46,249,22,143,8,23,198,2,23,197,2,35, +248,22,178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148,8,23,204, +1,36,23,203,1,2,56,2,56,28,248,22,148,7,23,204,2,249,22,163,8, +23,205,1,8,63,23,203,1,28,248,22,155,15,23,199,2,248,22,156,15,23, +199,1,86,94,23,198,1,247,22,157,15,28,248,22,130,4,23,194,2,86,94, +23,193,1,19,248,22,142,8,23,196,2,35,248,22,142,8,23,197,2,249,22, +164,15,251,22,149,8,250,22,148,8,23,205,1,36,23,203,4,2,56,2,56, +28,248,22,148,7,23,205,2,249,22,163,8,23,206,1,8,63,23,204,1,28, +248,22,155,15,23,200,2,248,22,156,15,23,200,1,86,94,23,199,1,247,22, +157,15,2,27,248,22,179,3,23,195,1,28,249,22,163,9,8,46,249,22,143, +8,23,199,2,23,197,2,35,248,22,178,3,23,195,2,249,22,164,15,251,22, +149,8,250,22,148,8,23,205,1,36,23,203,1,2,56,2,56,28,248,22,148, +7,23,205,2,249,22,163,8,23,206,1,8,63,23,204,1,28,248,22,155,15, +23,200,2,248,22,156,15,23,200,1,86,94,23,199,1,247,22,157,15,251,2, +159,2,198,199,200,196,90,159,38,11,89,161,38,36,11,86,95,28,28,248,22, +155,15,23,196,2,10,28,248,22,154,15,23,196,2,10,28,248,22,148,7,23, +196,2,28,248,22,177,15,23,196,2,10,248,22,178,15,23,196,2,11,12,252, +22,172,11,2,41,2,47,36,23,200,2,23,201,2,28,28,248,22,148,7,23, +197,2,10,248,22,137,8,23,197,2,12,252,22,172,11,2,41,2,73,37,23, +200,2,23,201,2,90,159,39,11,89,161,39,36,11,248,22,175,15,23,199,2, +86,94,23,195,1,86,94,28,192,12,250,22,175,11,2,41,2,74,23,201,2, +249,22,7,194,195,27,248,22,160,15,23,196,1,27,251,2,159,2,23,198,2, +23,201,1,23,202,1,248,22,142,8,23,199,1,28,248,22,154,15,23,196,2, +249,22,172,15,23,197,1,23,195,1,192,2,56,252,80,158,41,8,38,2,41, +2,56,32,0,88,163,8,36,38,43,11,9,222,33,162,2,198,199,32,164,2, +88,163,36,40,57,11,2,55,222,33,165,2,28,248,22,130,4,23,197,2,86, +94,23,196,1,19,248,22,142,8,23,195,2,19,248,22,142,8,23,196,2,249, +22,164,15,251,22,149,8,250,22,148,8,23,204,2,36,23,203,4,2,56,249, +22,148,8,23,203,1,23,201,4,28,248,22,148,7,23,204,2,249,22,163,8, +23,205,1,8,63,23,203,1,28,248,22,155,15,23,199,2,248,22,156,15,23, +199,1,86,94,23,198,1,247,22,157,15,2,2,27,248,22,179,3,23,198,1, +28,249,22,163,9,8,46,249,22,143,8,23,198,2,23,197,2,27,248,22,178, +3,23,195,2,249,22,164,15,251,22,149,8,250,22,148,8,23,204,2,36,23, +203,1,2,75,249,22,148,8,23,203,1,23,201,1,28,248,22,148,7,23,204, 2,249,22,163,8,23,205,1,8,63,23,203,1,28,248,22,155,15,23,199,2, -248,22,156,15,23,199,1,86,94,23,198,1,247,22,157,15,2,27,248,22,179, -3,23,198,1,28,249,22,163,9,8,46,249,22,143,8,23,198,2,23,197,2, -35,248,22,178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148,8,23, -204,1,36,23,203,1,2,56,2,56,28,248,22,148,7,23,204,2,249,22,163, -8,23,205,1,8,63,23,203,1,28,248,22,155,15,23,199,2,248,22,156,15, -23,199,1,86,94,23,198,1,247,22,157,15,28,248,22,130,4,23,194,2,86, -94,23,193,1,19,248,22,142,8,23,196,2,35,248,22,142,8,23,197,2,249, -22,164,15,251,22,149,8,250,22,148,8,23,205,1,36,23,203,4,2,56,2, -56,28,248,22,148,7,23,205,2,249,22,163,8,23,206,1,8,63,23,204,1, -28,248,22,155,15,23,200,2,248,22,156,15,23,200,1,86,94,23,199,1,247, -22,157,15,2,27,248,22,179,3,23,195,1,28,249,22,163,9,8,46,249,22, -143,8,23,199,2,23,197,2,35,248,22,178,3,23,195,2,249,22,164,15,251, -22,149,8,250,22,148,8,23,205,1,36,23,203,1,2,56,2,56,28,248,22, +248,22,156,15,23,199,1,86,94,23,198,1,247,22,157,15,28,248,22,130,4, +23,194,2,86,94,23,193,1,19,248,22,142,8,23,196,2,19,248,22,142,8, +23,197,2,249,22,164,15,251,22,149,8,250,22,148,8,23,205,2,36,23,203, +4,2,56,249,22,148,8,23,204,1,23,201,4,28,248,22,148,7,23,205,2, +249,22,163,8,23,206,1,8,63,23,204,1,28,248,22,155,15,23,200,2,248, +22,156,15,23,200,1,86,94,23,199,1,247,22,157,15,2,2,27,248,22,179, +3,23,195,1,28,249,22,163,9,8,46,249,22,143,8,23,199,2,23,197,2, +27,248,22,178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148,8,23, +205,2,36,23,203,1,2,75,249,22,148,8,23,204,1,23,201,1,28,248,22, 148,7,23,205,2,249,22,163,8,23,206,1,8,63,23,204,1,28,248,22,155, 15,23,200,2,248,22,156,15,23,200,1,86,94,23,199,1,247,22,157,15,251, -2,159,2,198,199,200,196,90,159,38,11,89,161,38,36,11,86,95,28,28,248, +2,164,2,198,199,200,196,90,159,38,11,89,161,38,36,11,86,95,28,28,248, 22,155,15,23,196,2,10,28,248,22,154,15,23,196,2,10,28,248,22,148,7, 23,196,2,28,248,22,177,15,23,196,2,10,248,22,178,15,23,196,2,11,12, 252,22,172,11,2,41,2,47,36,23,200,2,23,201,2,28,28,248,22,148,7, 23,197,2,10,248,22,137,8,23,197,2,12,252,22,172,11,2,41,2,73,37, 23,200,2,23,201,2,90,159,39,11,89,161,39,36,11,248,22,175,15,23,199, 2,86,94,23,195,1,86,94,28,192,12,250,22,175,11,2,41,2,74,23,201, -2,249,22,7,194,195,27,248,22,160,15,23,196,1,27,251,2,159,2,23,198, +2,249,22,7,194,195,27,248,22,160,15,23,196,1,27,251,2,164,2,23,198, 2,23,201,1,23,202,1,248,22,142,8,23,199,1,28,248,22,154,15,23,196, -2,249,22,172,15,23,197,1,23,195,1,192,2,56,252,80,158,41,8,38,2, -41,2,56,32,0,88,163,8,36,38,43,11,9,222,33,162,2,198,199,32,164, -2,88,163,36,40,57,11,2,55,222,33,165,2,28,248,22,130,4,23,197,2, -86,94,23,196,1,19,248,22,142,8,23,195,2,19,248,22,142,8,23,196,2, -249,22,164,15,251,22,149,8,250,22,148,8,23,204,2,36,23,203,4,2,56, -249,22,148,8,23,203,1,23,201,4,28,248,22,148,7,23,204,2,249,22,163, -8,23,205,1,8,63,23,203,1,28,248,22,155,15,23,199,2,248,22,156,15, -23,199,1,86,94,23,198,1,247,22,157,15,2,2,27,248,22,179,3,23,198, -1,28,249,22,163,9,8,46,249,22,143,8,23,198,2,23,197,2,27,248,22, -178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148,8,23,204,2,36, -23,203,1,2,75,249,22,148,8,23,203,1,23,201,1,28,248,22,148,7,23, -204,2,249,22,163,8,23,205,1,8,63,23,203,1,28,248,22,155,15,23,199, -2,248,22,156,15,23,199,1,86,94,23,198,1,247,22,157,15,28,248,22,130, -4,23,194,2,86,94,23,193,1,19,248,22,142,8,23,196,2,19,248,22,142, -8,23,197,2,249,22,164,15,251,22,149,8,250,22,148,8,23,205,2,36,23, -203,4,2,56,249,22,148,8,23,204,1,23,201,4,28,248,22,148,7,23,205, -2,249,22,163,8,23,206,1,8,63,23,204,1,28,248,22,155,15,23,200,2, -248,22,156,15,23,200,1,86,94,23,199,1,247,22,157,15,2,2,27,248,22, -179,3,23,195,1,28,249,22,163,9,8,46,249,22,143,8,23,199,2,23,197, -2,27,248,22,178,3,23,195,2,249,22,164,15,251,22,149,8,250,22,148,8, -23,205,2,36,23,203,1,2,75,249,22,148,8,23,204,1,23,201,1,28,248, -22,148,7,23,205,2,249,22,163,8,23,206,1,8,63,23,204,1,28,248,22, -155,15,23,200,2,248,22,156,15,23,200,1,86,94,23,199,1,247,22,157,15, -251,2,164,2,198,199,200,196,90,159,38,11,89,161,38,36,11,86,95,28,28, -248,22,155,15,23,196,2,10,28,248,22,154,15,23,196,2,10,28,248,22,148, -7,23,196,2,28,248,22,177,15,23,196,2,10,248,22,178,15,23,196,2,11, -12,252,22,172,11,2,41,2,47,36,23,200,2,23,201,2,28,28,248,22,148, -7,23,197,2,10,248,22,137,8,23,197,2,12,252,22,172,11,2,41,2,73, -37,23,200,2,23,201,2,90,159,39,11,89,161,39,36,11,248,22,175,15,23, -199,2,86,94,23,195,1,86,94,28,192,12,250,22,175,11,2,41,2,74,23, -201,2,249,22,7,194,195,27,248,22,160,15,23,196,1,27,251,2,164,2,23, -198,2,23,201,1,23,202,1,248,22,142,8,23,199,1,28,248,22,154,15,23, -196,2,249,22,172,15,23,197,1,23,195,1,192,252,80,158,41,8,38,2,41, -2,75,22,148,8,198,199,249,247,22,172,5,23,195,1,11,249,247,22,172,5, -194,11,28,248,22,87,23,195,2,9,27,27,248,22,80,23,197,2,28,248,22, -179,15,23,194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1, -249,22,180,15,250,80,159,45,40,39,248,22,131,16,2,64,11,10,248,22,131, -16,2,63,250,80,159,41,40,39,248,22,131,16,2,64,23,196,1,10,28,23, -193,2,249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27, -248,22,81,23,199,1,28,248,22,87,23,194,2,9,27,248,80,159,42,8,25, +2,249,22,172,15,23,197,1,23,195,1,192,252,80,158,41,8,38,2,41,2, +75,22,148,8,198,199,249,247,22,172,5,23,195,1,11,249,247,22,172,5,194, +11,28,248,22,87,23,195,2,9,27,27,248,22,80,23,197,2,28,248,22,179, +15,23,194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249, +22,180,15,250,80,159,45,40,39,248,22,131,16,2,64,11,10,248,22,131,16, +2,63,250,80,159,41,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193, +2,249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27,248, +22,81,23,199,1,28,248,22,87,23,194,2,9,27,248,80,159,42,8,25,39, +248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22,180,15, +23,198,1,247,22,132,16,248,80,159,44,8,48,39,248,22,81,23,198,1,86, +94,23,193,1,248,80,159,42,8,48,39,248,22,81,23,196,1,86,94,23,193, +1,27,248,22,81,23,197,1,28,248,22,87,23,194,2,9,27,248,80,159,40, +8,25,39,248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249, +22,180,15,23,198,1,247,22,132,16,248,80,159,42,8,48,39,248,22,81,23, +198,1,86,94,23,193,1,248,80,159,40,8,48,39,248,22,81,23,196,1,28, +248,22,87,23,195,2,9,27,27,248,22,80,23,197,2,28,248,22,179,15,23, +194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22,180, +15,250,80,159,45,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63, +250,80,159,41,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2,249, +22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27,248,22,81, +23,199,1,28,248,22,87,23,194,2,9,27,248,80,159,42,8,25,39,248,22, +80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22,180,15,23,198, +1,247,22,132,16,248,80,159,44,8,49,39,248,22,81,23,198,1,86,94,23, +193,1,248,80,159,42,8,49,39,248,22,81,23,196,1,86,94,23,193,1,27, +248,22,81,23,197,1,28,248,22,87,23,194,2,9,27,248,80,159,40,8,25, 39,248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22,180, -15,23,198,1,247,22,132,16,248,80,159,44,8,48,39,248,22,81,23,198,1, -86,94,23,193,1,248,80,159,42,8,48,39,248,22,81,23,196,1,86,94,23, -193,1,27,248,22,81,23,197,1,28,248,22,87,23,194,2,9,27,248,80,159, -40,8,25,39,248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15, -249,22,180,15,23,198,1,247,22,132,16,248,80,159,42,8,48,39,248,22,81, -23,198,1,86,94,23,193,1,248,80,159,40,8,48,39,248,22,81,23,196,1, -28,248,22,87,23,195,2,9,27,27,248,22,80,23,197,2,28,248,22,179,15, -23,194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22, -180,15,250,80,159,45,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2, -63,250,80,159,41,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2, -249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27,248,22, -81,23,199,1,28,248,22,87,23,194,2,9,27,248,80,159,42,8,25,39,248, -22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22,180,15,23, -198,1,247,22,132,16,248,80,159,44,8,49,39,248,22,81,23,198,1,86,94, -23,193,1,248,80,159,42,8,49,39,248,22,81,23,196,1,86,94,23,193,1, -27,248,22,81,23,197,1,28,248,22,87,23,194,2,9,27,248,80,159,40,8, -25,39,248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22, -180,15,23,198,1,247,22,132,16,248,80,159,42,8,49,39,248,22,81,23,198, -1,86,94,23,193,1,248,80,159,40,8,49,39,248,22,81,23,196,1,28,248, -22,87,23,195,2,9,27,27,248,22,80,23,197,2,28,248,22,179,15,23,194, -2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22,180,15, -250,80,159,45,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63,250, -80,159,41,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2,249,22, -79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27,248,22,81,23, -199,1,28,248,22,87,23,194,2,9,27,27,248,22,80,23,196,2,28,248,22, -179,15,23,194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1, -249,22,180,15,250,80,159,49,40,39,248,22,131,16,2,64,11,10,248,22,131, -16,2,63,250,80,159,45,40,39,248,22,131,16,2,64,23,196,1,10,28,23, -193,2,249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27, -248,22,81,23,198,1,28,248,22,87,23,194,2,9,27,248,80,159,46,8,25, +15,23,198,1,247,22,132,16,248,80,159,42,8,49,39,248,22,81,23,198,1, +86,94,23,193,1,248,80,159,40,8,49,39,248,22,81,23,196,1,28,248,22, +87,23,195,2,9,27,27,248,22,80,23,197,2,28,248,22,179,15,23,194,2, +192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22,180,15,250, +80,159,45,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63,250,80, +159,41,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2,249,22,79, +248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27,248,22,81,23,199, +1,28,248,22,87,23,194,2,9,27,27,248,22,80,23,196,2,28,248,22,179, +15,23,194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249, +22,180,15,250,80,159,49,40,39,248,22,131,16,2,64,11,10,248,22,131,16, +2,63,250,80,159,45,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193, +2,249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27,248, +22,81,23,198,1,28,248,22,87,23,194,2,9,27,248,80,159,46,8,25,39, +248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22,180,15, +23,198,1,247,22,132,16,248,80,159,48,8,50,39,248,22,81,23,198,1,86, +94,23,193,1,248,80,159,46,8,50,39,248,22,81,23,196,1,86,94,23,193, +1,27,248,22,81,23,196,1,28,248,22,87,23,194,2,9,27,248,80,159,44, +8,25,39,248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249, +22,180,15,23,198,1,247,22,132,16,248,80,159,46,8,50,39,248,22,81,23, +198,1,86,94,23,193,1,248,80,159,44,8,50,39,248,22,81,23,196,1,86, +94,23,193,1,27,248,22,81,23,197,1,28,248,22,87,23,194,2,9,27,27, +248,22,80,23,196,2,28,248,22,179,15,23,194,2,192,28,248,22,178,15,23, +194,2,249,22,180,15,23,195,1,249,22,180,15,250,80,159,47,40,39,248,22, +131,16,2,64,11,10,248,22,131,16,2,63,250,80,159,43,40,39,248,22,131, +16,2,64,23,196,1,10,28,23,193,2,249,22,79,248,22,182,15,249,22,180, +15,23,198,1,247,22,132,16,27,248,22,81,23,198,1,28,248,22,87,23,194, +2,9,27,248,80,159,44,8,25,39,248,22,80,23,196,2,28,23,193,2,249, +22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,248,80,159,46, +8,50,39,248,22,81,23,198,1,86,94,23,193,1,248,80,159,44,8,50,39, +248,22,81,23,196,1,86,94,23,193,1,27,248,22,81,23,196,1,28,248,22, +87,23,194,2,9,27,248,80,159,42,8,25,39,248,22,80,23,196,2,28,23, +193,2,249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,248, +80,159,44,8,50,39,248,22,81,23,198,1,86,94,23,193,1,248,80,159,42, +8,50,39,248,22,81,23,196,1,27,247,22,137,16,249,80,159,39,41,38,28, +23,195,2,27,249,22,170,8,247,22,169,8,2,76,28,192,249,22,160,8,194, +7,63,2,71,2,71,250,80,159,42,8,26,39,248,80,159,43,58,39,247,80, +159,43,57,39,2,77,27,28,23,199,1,250,22,172,15,248,22,131,16,2,60, +247,22,166,8,2,78,11,27,248,80,159,45,8,48,39,250,22,93,9,248,22, +89,248,22,131,16,2,65,9,28,193,249,22,79,195,194,192,27,247,22,137,16, +249,80,159,39,41,38,28,23,195,2,27,249,22,170,8,247,22,169,8,2,76, +28,192,249,22,160,8,194,7,63,2,71,2,71,250,80,159,42,8,26,39,248, +80,159,43,58,39,247,80,159,43,57,39,2,77,27,28,23,199,1,250,22,172, +15,248,22,131,16,2,60,247,22,166,8,2,78,11,27,248,80,159,45,8,49, +39,250,22,93,23,206,1,248,22,89,248,22,131,16,2,65,9,28,193,249,22, +79,195,194,192,27,247,22,137,16,249,80,159,39,41,38,28,23,195,2,27,249, +22,170,8,247,22,169,8,2,76,28,192,249,22,160,8,194,7,63,2,71,2, +71,250,80,159,42,8,26,39,248,80,159,43,58,39,27,248,22,131,16,2,62, +28,248,22,179,15,23,194,2,192,27,28,248,22,177,15,23,195,2,20,13,159, +80,159,45,43,37,250,80,159,48,44,37,249,22,33,11,80,159,50,43,37,22, +132,16,248,22,131,16,2,63,27,248,22,131,16,2,64,250,80,159,49,40,39, +23,196,1,23,198,2,11,11,28,23,193,2,192,86,94,23,193,1,27,249,22, +180,15,27,248,22,131,16,2,64,250,80,159,52,40,39,23,196,1,11,11,248, +22,131,16,2,63,90,159,39,11,89,161,39,36,11,248,22,175,15,23,197,1, +86,95,23,195,1,23,194,1,249,22,180,15,23,200,1,23,195,1,2,77,27, +28,23,199,1,250,22,172,15,248,22,131,16,2,60,247,22,166,8,2,78,11, +27,27,250,22,93,23,206,1,248,22,89,248,22,131,16,2,65,23,207,1,28, +248,22,87,23,194,2,9,27,27,248,22,80,23,196,2,28,248,22,179,15,23, +194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22,180, +15,250,80,159,54,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2,63, +250,80,159,50,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2,249, +22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27,248,22,81, +23,198,1,28,248,22,87,23,194,2,9,27,248,80,159,51,8,25,39,248,22, +80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22,180,15,23,198, +1,247,22,132,16,248,80,159,53,8,50,39,248,22,81,23,198,1,86,94,23, +193,1,248,80,159,51,8,50,39,248,22,81,23,196,1,86,94,23,193,1,27, +248,22,81,23,196,1,28,248,22,87,23,194,2,9,27,248,80,159,49,8,25, 39,248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22,180, -15,23,198,1,247,22,132,16,248,80,159,48,8,50,39,248,22,81,23,198,1, -86,94,23,193,1,248,80,159,46,8,50,39,248,22,81,23,196,1,86,94,23, -193,1,27,248,22,81,23,196,1,28,248,22,87,23,194,2,9,27,248,80,159, -44,8,25,39,248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15, -249,22,180,15,23,198,1,247,22,132,16,248,80,159,46,8,50,39,248,22,81, -23,198,1,86,94,23,193,1,248,80,159,44,8,50,39,248,22,81,23,196,1, -86,94,23,193,1,27,248,22,81,23,197,1,28,248,22,87,23,194,2,9,27, -27,248,22,80,23,196,2,28,248,22,179,15,23,194,2,192,28,248,22,178,15, -23,194,2,249,22,180,15,23,195,1,249,22,180,15,250,80,159,47,40,39,248, -22,131,16,2,64,11,10,248,22,131,16,2,63,250,80,159,43,40,39,248,22, -131,16,2,64,23,196,1,10,28,23,193,2,249,22,79,248,22,182,15,249,22, -180,15,23,198,1,247,22,132,16,27,248,22,81,23,198,1,28,248,22,87,23, -194,2,9,27,248,80,159,44,8,25,39,248,22,80,23,196,2,28,23,193,2, -249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,248,80,159, -46,8,50,39,248,22,81,23,198,1,86,94,23,193,1,248,80,159,44,8,50, -39,248,22,81,23,196,1,86,94,23,193,1,27,248,22,81,23,196,1,28,248, -22,87,23,194,2,9,27,248,80,159,42,8,25,39,248,22,80,23,196,2,28, -23,193,2,249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16, -248,80,159,44,8,50,39,248,22,81,23,198,1,86,94,23,193,1,248,80,159, -42,8,50,39,248,22,81,23,196,1,27,247,22,137,16,249,80,159,39,41,38, -28,23,195,2,27,249,22,170,8,247,22,169,8,2,76,28,192,249,22,160,8, -194,7,63,2,71,2,71,250,80,159,42,8,26,39,248,80,159,43,58,39,247, -80,159,43,57,39,2,77,27,28,23,199,1,250,22,172,15,248,22,131,16,2, -60,247,22,166,8,2,78,11,27,248,80,159,45,8,48,39,250,22,93,9,248, -22,89,248,22,131,16,2,65,9,28,193,249,22,79,195,194,192,27,247,22,137, -16,249,80,159,39,41,38,28,23,195,2,27,249,22,170,8,247,22,169,8,2, -76,28,192,249,22,160,8,194,7,63,2,71,2,71,250,80,159,42,8,26,39, -248,80,159,43,58,39,247,80,159,43,57,39,2,77,27,28,23,199,1,250,22, -172,15,248,22,131,16,2,60,247,22,166,8,2,78,11,27,248,80,159,45,8, -49,39,250,22,93,23,206,1,248,22,89,248,22,131,16,2,65,9,28,193,249, -22,79,195,194,192,27,247,22,137,16,249,80,159,39,41,38,28,23,195,2,27, -249,22,170,8,247,22,169,8,2,76,28,192,249,22,160,8,194,7,63,2,71, -2,71,250,80,159,42,8,26,39,248,80,159,43,58,39,27,248,22,131,16,2, -62,28,248,22,179,15,23,194,2,192,27,28,248,22,177,15,23,195,2,20,13, -159,80,159,45,43,37,250,80,159,48,44,37,249,22,33,11,80,159,50,43,37, -22,132,16,248,22,131,16,2,63,27,248,22,131,16,2,64,250,80,159,49,40, -39,23,196,1,23,198,2,11,11,28,23,193,2,192,86,94,23,193,1,27,249, -22,180,15,27,248,22,131,16,2,64,250,80,159,52,40,39,23,196,1,11,11, -248,22,131,16,2,63,90,159,39,11,89,161,39,36,11,248,22,175,15,23,197, -1,86,95,23,195,1,23,194,1,249,22,180,15,23,200,1,23,195,1,2,77, -27,28,23,199,1,250,22,172,15,248,22,131,16,2,60,247,22,166,8,2,78, -11,27,27,250,22,93,23,206,1,248,22,89,248,22,131,16,2,65,23,207,1, -28,248,22,87,23,194,2,9,27,27,248,22,80,23,196,2,28,248,22,179,15, -23,194,2,192,28,248,22,178,15,23,194,2,249,22,180,15,23,195,1,249,22, -180,15,250,80,159,54,40,39,248,22,131,16,2,64,11,10,248,22,131,16,2, -63,250,80,159,50,40,39,248,22,131,16,2,64,23,196,1,10,28,23,193,2, -249,22,79,248,22,182,15,249,22,180,15,23,198,1,247,22,132,16,27,248,22, -81,23,198,1,28,248,22,87,23,194,2,9,27,248,80,159,51,8,25,39,248, -22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22,180,15,23, -198,1,247,22,132,16,248,80,159,53,8,50,39,248,22,81,23,198,1,86,94, -23,193,1,248,80,159,51,8,50,39,248,22,81,23,196,1,86,94,23,193,1, -27,248,22,81,23,196,1,28,248,22,87,23,194,2,9,27,248,80,159,49,8, -25,39,248,22,80,23,196,2,28,23,193,2,249,22,79,248,22,182,15,249,22, -180,15,23,198,1,247,22,132,16,248,80,159,51,8,50,39,248,22,81,23,198, -1,86,94,23,193,1,248,80,159,49,8,50,39,248,22,81,23,196,1,28,193, -249,22,79,195,194,192,27,20,13,159,80,159,37,43,37,26,9,80,159,46,44, -37,249,22,33,11,80,159,48,43,37,22,128,15,10,22,135,15,10,22,136,15, -10,22,137,15,10,248,22,143,6,23,196,2,28,248,22,143,7,23,194,2,12, -86,94,248,22,171,9,23,194,1,27,20,13,159,80,159,38,43,37,26,9,80, -159,47,44,37,249,22,33,11,80,159,49,43,37,22,128,15,10,22,135,15,10, -22,136,15,10,22,137,15,10,248,22,143,6,23,197,2,28,248,22,143,7,23, -194,2,12,86,94,248,22,171,9,23,194,1,27,20,13,159,80,159,39,43,37, -26,9,80,159,48,44,37,249,22,33,11,80,159,50,43,37,22,128,15,10,22, -135,15,10,22,136,15,10,22,137,15,10,248,22,143,6,23,198,2,28,248,22, -143,7,23,194,2,12,86,94,248,22,171,9,23,194,1,248,80,159,40,8,51, -39,197,86,94,249,22,134,7,247,22,168,5,23,196,2,248,22,158,6,249,22, -133,4,36,249,22,181,3,23,198,1,23,199,1,27,28,23,197,2,86,95,23, -196,1,23,195,1,23,197,1,86,94,23,197,1,27,248,22,131,16,2,64,27, -250,80,159,42,40,39,23,197,1,11,11,27,248,22,136,4,23,199,1,27,28, -23,194,2,23,194,1,86,94,23,194,1,36,27,248,22,136,4,23,202,1,27, -28,23,194,2,23,194,1,86,94,23,194,1,36,249,22,135,6,23,199,1,20, -20,95,88,163,8,36,36,48,11,9,224,4,2,33,177,2,23,195,1,23,197, -1,27,248,22,184,5,23,195,1,248,80,159,39,8,51,39,193,159,36,20,114, -159,36,16,1,11,16,0,20,26,145,9,2,1,2,1,29,11,11,11,11,9, -9,11,11,11,10,43,80,158,36,36,20,114,159,44,16,44,2,2,2,3,2, -4,2,5,2,6,2,7,2,8,30,2,11,1,20,112,97,114,97,109,101,116, -101,114,105,122,97,116,105,111,110,45,107,101,121,11,6,30,2,11,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,11,3,2,12,2,13,2,14,2,15,2,16,2,17,2,18,2,19,2,20, -2,21,2,22,2,23,2,24,2,25,2,26,2,27,2,28,2,29,2,30,30, -2,31,76,102,105,110,100,45,108,105,110,107,115,45,112,97,116,104,33,11,4, -2,32,2,33,2,34,2,35,30,2,31,1,21,101,120,99,101,112,116,105,111, -110,45,104,97,110,100,108,101,114,45,107,101,121,11,2,2,36,2,37,2,38, -2,39,2,40,2,41,2,42,2,43,2,44,2,45,16,0,37,39,36,16,0, -36,16,26,2,13,2,14,2,12,2,29,2,3,2,39,2,26,2,27,2,28, -2,35,2,24,2,25,2,37,2,32,2,30,2,33,2,36,2,38,2,40,2, -22,2,21,2,23,2,34,2,19,2,18,2,20,8,26,11,11,11,16,14,2, -8,2,17,2,15,2,45,2,16,2,6,2,44,2,43,2,4,2,42,2,7, -2,41,2,2,2,5,16,14,11,11,11,11,11,11,11,11,11,11,11,11,11, -11,16,14,2,8,2,17,2,15,2,45,2,16,2,6,2,44,2,43,2,4, -2,42,2,7,2,41,2,2,2,5,50,50,37,12,11,11,16,0,16,0,16, -0,36,36,11,12,11,11,16,0,16,0,16,0,36,36,16,48,20,15,16,2, -32,0,88,163,36,37,45,11,2,2,222,33,79,80,159,36,36,37,20,15,16, -2,249,22,150,7,7,92,7,92,80,159,36,37,37,20,15,16,2,88,163,36, -37,54,38,2,4,223,0,33,84,80,159,36,38,37,20,15,16,2,88,163,36, -38,58,38,2,5,223,0,33,86,80,159,36,39,37,20,15,16,2,20,25,96, -2,6,88,163,8,36,39,8,25,8,32,9,223,0,33,93,88,163,36,38,47, -52,9,223,0,33,94,88,163,36,37,46,52,9,223,0,33,95,80,159,36,40, -37,20,15,16,2,27,248,22,141,16,248,22,162,8,27,28,249,22,163,9,247, -22,175,8,2,48,6,1,1,59,6,1,1,58,250,22,132,8,6,14,14,40, -91,94,126,97,93,42,41,126,97,40,46,42,41,23,196,2,23,196,1,88,163, -8,36,38,48,11,2,7,223,0,33,99,80,159,36,41,37,20,15,16,2,88, -163,36,37,8,38,8,128,6,2,8,223,0,33,100,80,159,36,42,37,20,15, -16,2,32,0,88,163,8,36,38,47,11,2,12,222,33,101,80,159,36,45,37, -20,15,16,2,32,0,88,163,8,36,39,48,11,2,13,222,33,103,80,159,36, -46,37,20,15,16,2,32,0,88,163,8,36,38,46,11,2,14,222,33,104,80, -159,36,47,37,20,15,16,2,88,163,45,39,49,8,128,128,2,15,223,0,33, -106,80,159,36,48,37,20,15,16,2,88,163,45,40,50,8,128,128,2,17,223, -0,33,108,80,159,36,50,37,20,15,16,2,250,22,172,15,248,22,131,16,2, -60,247,22,166,8,2,61,80,159,36,51,37,20,15,16,2,247,22,137,2,80, -158,36,52,20,15,16,2,11,80,158,36,53,20,15,16,2,249,22,172,15,248, -22,131,16,2,60,2,61,80,159,36,54,37,20,15,16,2,247,22,137,2,80, -158,36,55,20,15,16,2,11,80,158,36,56,20,15,16,2,88,163,36,36,51, -8,144,6,2,24,223,0,33,109,80,159,36,57,37,20,15,16,2,88,163,8, -32,36,8,37,8,128,6,9,223,0,33,110,80,159,36,8,44,39,20,15,16, -2,88,163,8,36,37,47,16,4,36,36,8,128,64,36,2,25,223,0,33,111, -80,159,36,58,37,20,15,16,2,88,163,36,37,56,52,2,26,223,0,33,112, -80,159,36,59,37,20,15,16,2,88,163,36,37,55,52,2,27,223,0,33,113, -80,159,36,8,24,37,20,15,16,2,88,163,36,37,51,52,2,28,223,0,33, -114,80,159,36,8,25,37,20,15,16,2,88,163,8,36,38,55,16,4,36,8, -128,2,8,128,128,36,2,55,223,0,33,115,80,159,36,8,45,39,20,15,16, -2,88,163,8,36,39,49,16,4,36,36,8,128,128,36,2,29,223,0,33,116, -80,159,36,8,26,37,20,15,16,2,248,80,159,37,8,28,37,88,163,8,36, -36,53,8,240,144,1,192,4,9,223,1,33,117,80,159,36,8,27,37,20,15, -16,2,249,22,179,8,248,22,182,8,80,159,39,8,27,38,247,22,137,2,80, -159,36,8,29,37,20,15,16,2,249,22,179,8,248,22,182,8,80,159,39,8, -27,38,11,80,159,36,8,30,37,20,15,16,2,248,22,18,65,115,116,97,109, -112,80,159,36,8,31,37,20,15,16,2,88,163,36,37,46,16,2,36,8,240, -0,128,0,0,9,223,0,33,119,80,159,36,8,46,39,20,15,16,2,88,163, -36,38,48,16,4,36,8,240,0,128,0,0,8,240,2,64,0,0,36,2,35, -223,0,33,127,80,159,36,8,32,37,20,15,16,2,32,0,88,163,8,36,37, -45,11,2,36,222,33,128,2,80,159,36,8,34,37,20,15,16,2,88,163,36, -39,46,16,4,8,240,128,129,0,0,8,240,31,104,0,0,39,36,2,37,223, -0,33,140,2,80,159,36,8,35,37,20,15,16,2,88,163,36,38,56,16,4, -36,36,52,36,2,38,223,0,33,142,2,80,159,36,8,36,37,20,15,16,2, -88,163,8,36,38,8,25,16,4,36,8,128,32,8,240,8,128,0,0,36,2, -55,223,0,33,143,2,80,159,36,8,47,39,20,15,16,2,88,163,36,40,8, -33,16,4,36,8,128,32,8,240,24,128,0,0,36,2,16,223,0,33,154,2, -80,159,36,49,37,20,15,16,2,32,0,88,163,36,39,50,11,2,39,222,33, -155,2,80,159,36,8,37,37,20,15,16,2,32,0,88,163,36,41,8,27,11, -2,40,222,33,158,2,80,159,36,8,38,37,20,15,16,2,20,27,158,32,0, -88,163,36,38,52,11,2,41,222,33,161,2,88,163,36,38,49,16,4,36,36, -8,64,36,2,41,223,0,33,163,2,80,159,36,8,39,37,20,15,16,2,20, -27,158,32,0,88,163,36,38,52,11,2,42,222,33,166,2,88,163,36,38,49, -16,4,36,36,8,64,36,2,42,223,0,33,167,2,80,159,36,8,40,37,20, -15,16,2,20,27,158,32,0,88,163,36,37,44,11,2,43,222,33,168,2,32, -0,88,163,36,37,44,11,2,43,222,33,169,2,80,159,36,8,41,37,20,15, -16,2,88,163,8,36,37,53,16,4,52,8,128,8,36,37,2,55,223,0,33, -170,2,80,159,36,8,48,39,20,15,16,2,88,163,8,36,37,53,16,4,52, -8,128,8,36,38,2,55,223,0,33,171,2,80,159,36,8,49,39,20,15,16, -2,88,163,8,36,37,57,16,4,52,8,128,8,36,40,2,55,223,0,33,172, -2,80,159,36,8,50,39,20,15,16,2,20,25,96,2,44,88,163,36,36,56, -16,4,8,32,8,160,17,36,37,9,223,0,33,173,2,88,163,36,37,57,16, -4,8,32,8,160,17,36,38,9,223,0,33,174,2,88,163,36,38,8,27,16, -4,8,176,6,8,128,25,36,40,9,223,0,33,175,2,80,159,36,8,42,37, -20,15,16,2,88,163,8,36,37,57,16,4,8,128,6,36,36,44,2,55,223, -0,33,176,2,80,159,36,8,51,39,20,15,16,2,88,163,8,36,39,54,16, -4,52,36,36,44,2,45,223,0,33,178,2,80,159,36,8,43,37,95,29,94, -2,9,68,35,37,107,101,114,110,101,108,11,29,94,2,9,69,35,37,109,105, -110,45,115,116,120,11,2,31,9,9,9,36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 18471); +15,23,198,1,247,22,132,16,248,80,159,51,8,50,39,248,22,81,23,198,1, +86,94,23,193,1,248,80,159,49,8,50,39,248,22,81,23,196,1,28,193,249, +22,79,195,194,192,27,20,13,159,80,159,37,43,37,26,9,80,159,46,44,37, +249,22,33,11,80,159,48,43,37,22,128,15,10,22,135,15,10,22,136,15,10, +22,137,15,10,248,22,143,6,23,196,2,28,248,22,143,7,23,194,2,12,86, +94,248,22,171,9,23,194,1,27,20,13,159,80,159,38,43,37,26,9,80,159, +47,44,37,249,22,33,11,80,159,49,43,37,22,128,15,10,22,135,15,10,22, +136,15,10,22,137,15,10,248,22,143,6,23,197,2,28,248,22,143,7,23,194, +2,12,86,94,248,22,171,9,23,194,1,27,20,13,159,80,159,39,43,37,26, +9,80,159,48,44,37,249,22,33,11,80,159,50,43,37,22,128,15,10,22,135, +15,10,22,136,15,10,22,137,15,10,248,22,143,6,23,198,2,28,248,22,143, +7,23,194,2,12,86,94,248,22,171,9,23,194,1,248,80,159,40,8,51,39, +197,86,94,249,22,134,7,247,22,168,5,23,196,2,248,22,158,6,249,22,133, +4,36,249,22,181,3,23,198,1,23,199,1,27,28,23,197,2,86,95,23,196, +1,23,195,1,23,197,1,86,94,23,197,1,27,248,22,131,16,2,64,27,250, +80,159,42,40,39,23,197,1,11,11,27,248,22,136,4,23,199,1,27,28,23, +194,2,23,194,1,86,94,23,194,1,36,27,248,22,136,4,23,202,1,27,28, +23,194,2,23,194,1,86,94,23,194,1,36,249,22,135,6,23,199,1,20,20, +95,88,163,8,36,36,48,11,9,224,4,2,33,177,2,23,195,1,23,197,1, +27,248,22,184,5,23,195,1,248,80,159,39,8,51,39,193,159,36,20,114,159, +36,16,1,11,16,0,20,26,145,9,2,1,2,1,29,11,11,11,11,9,9, +11,11,11,10,43,80,158,36,36,20,114,159,44,16,44,2,2,2,3,2,4, +2,5,2,6,2,7,2,8,30,2,11,1,20,112,97,114,97,109,101,116,101, +114,105,122,97,116,105,111,110,45,107,101,121,11,6,30,2,11,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, +11,3,2,12,2,13,2,14,2,15,2,16,2,17,2,18,2,19,2,20,2, +21,2,22,2,23,2,24,2,25,2,26,2,27,2,28,2,29,2,30,30,2, +31,76,102,105,110,100,45,108,105,110,107,115,45,112,97,116,104,33,11,4,2, +32,2,33,2,34,2,35,30,2,31,1,21,101,120,99,101,112,116,105,111,110, +45,104,97,110,100,108,101,114,45,107,101,121,11,2,2,36,2,37,2,38,2, +39,2,40,2,41,2,42,2,43,2,44,2,45,16,0,37,39,36,16,0,36, +16,26,2,13,2,14,2,12,2,29,2,3,2,39,2,26,2,27,2,28,2, +35,2,24,2,25,2,37,2,32,2,30,2,33,2,36,2,38,2,40,2,22, +2,21,2,23,2,34,2,19,2,18,2,20,8,26,11,11,11,16,14,2,8, +2,17,2,15,2,45,2,16,2,6,2,44,2,43,2,4,2,42,2,7,2, +41,2,2,2,5,16,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11, +16,14,2,8,2,17,2,15,2,45,2,16,2,6,2,44,2,43,2,4,2, +42,2,7,2,41,2,2,2,5,50,50,37,12,11,11,16,0,16,0,16,0, +36,36,11,12,11,11,16,0,16,0,16,0,36,36,16,48,20,15,16,2,32, +0,88,163,36,37,45,11,2,2,222,33,79,80,159,36,36,37,20,15,16,2, +249,22,150,7,7,92,7,92,80,159,36,37,37,20,15,16,2,88,163,36,37, +54,38,2,4,223,0,33,84,80,159,36,38,37,20,15,16,2,88,163,36,38, +58,38,2,5,223,0,33,86,80,159,36,39,37,20,15,16,2,20,25,96,2, +6,88,163,8,36,39,8,25,8,32,9,223,0,33,93,88,163,36,38,47,52, +9,223,0,33,94,88,163,36,37,46,52,9,223,0,33,95,80,159,36,40,37, +20,15,16,2,27,248,22,141,16,248,22,162,8,27,28,249,22,163,9,247,22, +175,8,2,48,6,1,1,59,6,1,1,58,250,22,132,8,6,14,14,40,91, +94,126,97,93,42,41,126,97,40,46,42,41,23,196,2,23,196,1,88,163,8, +36,38,48,11,2,7,223,0,33,99,80,159,36,41,37,20,15,16,2,88,163, +36,37,8,38,8,128,6,2,8,223,0,33,100,80,159,36,42,37,20,15,16, +2,32,0,88,163,8,36,38,47,11,2,12,222,33,101,80,159,36,45,37,20, +15,16,2,32,0,88,163,8,36,39,48,11,2,13,222,33,103,80,159,36,46, +37,20,15,16,2,32,0,88,163,8,36,38,46,11,2,14,222,33,104,80,159, +36,47,37,20,15,16,2,88,163,45,39,49,8,128,128,2,15,223,0,33,106, +80,159,36,48,37,20,15,16,2,88,163,45,40,50,8,128,128,2,17,223,0, +33,108,80,159,36,50,37,20,15,16,2,250,22,172,15,248,22,131,16,2,60, +247,22,166,8,2,61,80,159,36,51,37,20,15,16,2,247,22,137,2,80,158, +36,52,20,15,16,2,11,80,158,36,53,20,15,16,2,249,22,172,15,248,22, +131,16,2,60,2,61,80,159,36,54,37,20,15,16,2,247,22,137,2,80,158, +36,55,20,15,16,2,11,80,158,36,56,20,15,16,2,88,163,36,36,51,8, +144,6,2,24,223,0,33,109,80,159,36,57,37,20,15,16,2,88,163,8,32, +36,8,37,8,128,6,9,223,0,33,110,80,159,36,8,44,39,20,15,16,2, +88,163,8,36,37,47,16,4,36,36,8,128,64,36,2,25,223,0,33,111,80, +159,36,58,37,20,15,16,2,88,163,36,37,56,52,2,26,223,0,33,112,80, +159,36,59,37,20,15,16,2,88,163,36,37,55,52,2,27,223,0,33,113,80, +159,36,8,24,37,20,15,16,2,88,163,36,37,51,52,2,28,223,0,33,114, +80,159,36,8,25,37,20,15,16,2,88,163,8,36,38,55,16,4,36,8,128, +2,8,128,128,36,2,55,223,0,33,115,80,159,36,8,45,39,20,15,16,2, +88,163,8,36,39,49,16,4,36,36,8,128,128,36,2,29,223,0,33,116,80, +159,36,8,26,37,20,15,16,2,248,80,159,37,8,28,37,88,163,8,36,36, +53,8,240,144,1,192,4,9,223,1,33,117,80,159,36,8,27,37,20,15,16, +2,249,22,179,8,248,22,182,8,80,159,39,8,27,38,247,22,137,2,80,159, +36,8,29,37,20,15,16,2,249,22,179,8,248,22,182,8,80,159,39,8,27, +38,11,80,159,36,8,30,37,20,15,16,2,248,22,18,65,115,116,97,109,112, +80,159,36,8,31,37,20,15,16,2,88,163,36,37,46,16,2,36,8,240,0, +128,0,0,9,223,0,33,119,80,159,36,8,46,39,20,15,16,2,88,163,36, +38,48,16,4,36,8,240,0,128,0,0,8,240,2,64,0,0,36,2,35,223, +0,33,127,80,159,36,8,32,37,20,15,16,2,32,0,88,163,8,36,37,45, +11,2,36,222,33,128,2,80,159,36,8,34,37,20,15,16,2,88,163,36,39, +46,16,4,8,240,128,129,0,0,8,240,31,104,0,0,39,36,2,37,223,0, +33,140,2,80,159,36,8,35,37,20,15,16,2,88,163,36,38,56,16,4,36, +36,52,36,2,38,223,0,33,142,2,80,159,36,8,36,37,20,15,16,2,88, +163,8,36,38,8,25,16,4,36,8,128,32,8,240,8,128,0,0,36,2,55, +223,0,33,143,2,80,159,36,8,47,39,20,15,16,2,88,163,36,40,8,33, +16,4,36,8,128,32,8,240,24,128,0,0,36,2,16,223,0,33,154,2,80, +159,36,49,37,20,15,16,2,32,0,88,163,36,39,50,11,2,39,222,33,155, +2,80,159,36,8,37,37,20,15,16,2,32,0,88,163,36,41,8,27,11,2, +40,222,33,158,2,80,159,36,8,38,37,20,15,16,2,20,27,158,32,0,88, +163,36,38,52,11,2,41,222,33,161,2,88,163,36,38,49,16,4,36,36,8, +64,36,2,41,223,0,33,163,2,80,159,36,8,39,37,20,15,16,2,20,27, +158,32,0,88,163,36,38,52,11,2,42,222,33,166,2,88,163,36,38,49,16, +4,36,36,8,64,36,2,42,223,0,33,167,2,80,159,36,8,40,37,20,15, +16,2,20,27,158,32,0,88,163,36,37,44,11,2,43,222,33,168,2,32,0, +88,163,36,37,44,11,2,43,222,33,169,2,80,159,36,8,41,37,20,15,16, +2,88,163,8,36,37,53,16,4,52,8,128,8,36,37,2,55,223,0,33,170, +2,80,159,36,8,48,39,20,15,16,2,88,163,8,36,37,53,16,4,52,8, +128,8,36,38,2,55,223,0,33,171,2,80,159,36,8,49,39,20,15,16,2, +88,163,8,36,37,57,16,4,52,8,128,8,36,40,2,55,223,0,33,172,2, +80,159,36,8,50,39,20,15,16,2,20,25,96,2,44,88,163,36,36,56,16, +4,8,32,8,160,17,36,37,9,223,0,33,173,2,88,163,36,37,57,16,4, +8,32,8,160,17,36,38,9,223,0,33,174,2,88,163,36,38,8,27,16,4, +8,176,6,8,128,25,36,40,9,223,0,33,175,2,80,159,36,8,42,37,20, +15,16,2,88,163,8,36,37,57,16,4,8,128,6,36,36,44,2,55,223,0, +33,176,2,80,159,36,8,51,39,20,15,16,2,88,163,8,36,39,54,16,4, +52,36,36,44,2,45,223,0,33,178,2,80,159,36,8,43,37,95,29,94,2, +9,68,35,37,107,101,114,110,101,108,11,29,94,2,9,69,35,37,109,105,110, +45,115,116,120,11,2,31,9,9,9,36,0}; + EVAL_ONE_SIZED_STR((char *)expr, 18491); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,51,46,57,48,48,46,55,84,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,1,0,0,15,0, -40,0,57,0,75,0,97,0,120,0,140,0,162,0,171,0,180,0,187,0,196, -0,203,0,0,0,229,1,0,0,74,35,37,112,108,97,99,101,45,115,116,114, -117,99,116,1,23,115,116,114,117,99,116,58,84,72,45,112,108,97,99,101,45, -99,104,97,110,110,101,108,76,84,72,45,112,108,97,99,101,45,99,104,97,110, -110,101,108,77,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,63, -1,20,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,45,114,101, -102,1,21,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,45,115, -101,116,33,79,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,45, -105,110,1,20,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,45, -111,117,116,249,80,158,38,39,23,196,1,36,249,80,158,38,39,23,196,1,36, -249,80,158,38,39,195,36,249,80,158,38,39,23,196,1,37,249,80,158,38,39, -195,37,159,36,20,114,159,36,16,1,11,16,0,20,26,145,9,2,1,2,1, -29,11,11,11,11,9,9,11,11,11,10,45,80,158,36,36,20,114,159,36,16, -7,2,2,2,3,2,4,2,5,2,6,2,7,2,8,16,0,37,39,36,16, -0,36,16,2,2,5,2,6,38,11,11,11,16,5,2,3,2,7,2,8,2, -4,2,2,16,5,11,11,11,11,11,16,5,2,3,2,7,2,8,2,4,2, -2,41,41,37,12,11,11,16,0,16,0,16,0,36,36,11,12,11,11,16,0, -16,0,16,0,36,36,16,3,20,15,16,6,253,22,181,10,2,3,11,38,36, -11,248,22,89,249,22,79,22,168,10,88,163,36,37,45,44,9,223,9,33,9, -80,159,36,36,37,80,159,36,37,37,80,159,36,38,37,80,159,36,39,37,80, -159,36,40,37,20,15,16,2,20,27,158,88,163,36,37,45,44,9,223,0,33, -10,88,163,36,37,45,44,9,223,0,33,11,80,159,36,41,37,20,15,16,2, -20,27,158,88,163,36,37,45,44,9,223,0,33,12,88,163,36,37,45,44,9, -223,0,33,13,80,159,36,42,37,93,29,94,65,113,117,111,116,101,68,35,37, -107,101,114,110,101,108,11,9,9,9,36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 557); + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,53,46,57,48,46,48,46,49,84,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,1,0,0,15,0,40, +0,57,0,75,0,97,0,120,0,140,0,162,0,171,0,180,0,187,0,196,0, +203,0,0,0,229,1,0,0,74,35,37,112,108,97,99,101,45,115,116,114,117, +99,116,1,23,115,116,114,117,99,116,58,84,72,45,112,108,97,99,101,45,99, +104,97,110,110,101,108,76,84,72,45,112,108,97,99,101,45,99,104,97,110,110, +101,108,77,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,63,1, +20,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,45,114,101,102, +1,21,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,45,115,101, +116,33,79,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,45,105, +110,1,20,84,72,45,112,108,97,99,101,45,99,104,97,110,110,101,108,45,111, +117,116,249,80,158,38,39,23,196,1,36,249,80,158,38,39,23,196,1,36,249, +80,158,38,39,195,36,249,80,158,38,39,23,196,1,37,249,80,158,38,39,195, +37,159,36,20,114,159,36,16,1,11,16,0,20,26,145,9,2,1,2,1,29, +11,11,11,11,9,9,11,11,11,10,45,80,158,36,36,20,114,159,36,16,7, +2,2,2,3,2,4,2,5,2,6,2,7,2,8,16,0,37,39,36,16,0, +36,16,2,2,5,2,6,38,11,11,11,16,5,2,3,2,7,2,8,2,4, +2,2,16,5,11,11,11,11,11,16,5,2,3,2,7,2,8,2,4,2,2, +41,41,37,12,11,11,16,0,16,0,16,0,36,36,11,12,11,11,16,0,16, +0,16,0,36,36,16,3,20,15,16,6,253,22,181,10,2,3,11,38,36,11, +248,22,89,249,22,79,22,168,10,88,163,36,37,45,44,9,223,9,33,9,80, +159,36,36,37,80,159,36,37,37,80,159,36,38,37,80,159,36,39,37,80,159, +36,40,37,20,15,16,2,20,27,158,88,163,36,37,45,44,9,223,0,33,10, +88,163,36,37,45,44,9,223,0,33,11,80,159,36,41,37,20,15,16,2,20, +27,158,88,163,36,37,45,44,9,223,0,33,12,88,163,36,37,45,44,9,223, +0,33,13,80,159,36,42,37,93,29,94,65,113,117,111,116,101,68,35,37,107, +101,114,110,101,108,11,9,9,9,36,0}; + EVAL_ONE_SIZED_STR((char *)expr, 556); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,51,46,57,48,48,46,55,84,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,106,0,0,0,1,0,0,7,0, -18,0,45,0,51,0,60,0,67,0,89,0,102,0,128,0,145,0,167,0,175, -0,187,0,202,0,218,0,236,0,0,1,12,1,28,1,51,1,75,1,87,1, -118,1,125,1,130,1,135,1,153,1,159,1,164,1,169,1,178,1,184,1,189, -1,193,1,208,1,215,1,220,1,224,1,229,1,236,1,247,1,254,1,6,2, -72,2,138,2,213,2,32,3,135,3,170,3,17,4,52,4,146,4,181,4,19, -5,54,5,255,12,29,13,80,13,171,13,187,13,203,13,217,13,233,13,52,14, -68,14,84,14,100,14,175,14,82,15,98,15,173,15,168,16,48,17,123,17,30, -18,43,18,196,18,124,19,167,19,249,19,121,20,182,20,190,20,201,20,235,21, -249,21,21,22,34,22,211,22,218,22,122,23,144,23,164,23,226,23,236,23,250, -23,31,24,130,24,134,24,141,24,95,25,198,33,251,33,19,34,43,34,0,0, -68,38,0,0,66,35,37,98,111,111,116,70,100,108,108,45,115,117,102,102,105, -120,1,25,100,101,102,97,117,108,116,45,108,111,97,100,47,117,115,101,45,99, -111,109,112,105,108,101,100,65,113,117,111,116,101,68,35,37,112,97,114,97,109, -122,29,94,2,4,2,5,11,1,20,112,97,114,97,109,101,116,101,114,105,122, -97,116,105,111,110,45,107,101,121,29,94,2,4,67,35,37,117,116,105,108,115, -11,1,24,45,109,111,100,117,108,101,45,104,97,115,104,45,116,97,98,108,101, -45,116,97,98,108,101,76,114,101,103,105,115,116,101,114,45,122,111,45,112,97, -116,104,1,20,100,101,102,97,117,108,116,45,114,101,97,100,101,114,45,103,117, -97,114,100,67,67,65,67,72,69,45,78,71,45,112,97,116,104,45,99,97,99, -104,101,74,112,97,116,104,45,99,97,99,104,101,45,103,101,116,75,112,97,116, -104,45,99,97,99,104,101,45,115,101,116,33,77,45,108,111,97,100,105,110,103, -45,102,105,108,101,110,97,109,101,79,45,108,111,97,100,105,110,103,45,112,114, -111,109,112,116,45,116,97,103,71,45,112,114,101,118,45,114,101,108,116,111,75, -45,112,114,101,118,45,114,101,108,116,111,45,100,105,114,1,21,115,112,108,105, -116,45,114,101,108,97,116,105,118,101,45,115,116,114,105,110,103,1,22,102,111, -114,109,97,116,45,115,111,117,114,99,101,45,108,111,99,97,116,105,111,110,71, -111,114,105,103,45,112,97,114,97,109,122,1,29,115,116,97,110,100,97,114,100, -45,109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114, -29,94,2,4,2,5,11,64,98,111,111,116,64,115,101,97,108,77,108,111,97, -100,47,117,115,101,45,99,111,109,112,105,108,101,100,5,4,46,114,107,116,64, -115,97,109,101,5,3,46,122,111,6,6,6,110,97,116,105,118,101,65,105,108, -111,111,112,64,108,111,111,112,63,108,105,98,6,12,12,109,111,100,117,108,101, -45,112,97,116,104,63,66,115,117,98,109,111,100,6,2,2,46,46,6,1,1, -46,64,102,105,108,101,66,112,108,97,110,101,116,6,8,8,109,97,105,110,46, -114,107,116,6,4,4,46,114,107,116,67,105,103,110,111,114,101,100,250,22,172, -15,28,249,22,163,9,23,201,2,2,29,86,94,23,199,1,23,197,1,28,248, -22,177,15,23,200,2,249,22,172,15,23,199,1,23,201,1,249,80,159,43,42, -39,23,199,1,23,201,1,23,200,1,249,80,159,43,43,39,23,198,1,2,30, -250,22,172,15,28,249,22,163,9,23,201,2,2,29,86,94,23,199,1,23,197, -1,28,248,22,177,15,23,200,2,249,22,172,15,23,199,1,23,201,1,249,80, -159,43,42,39,23,199,1,23,201,1,23,200,1,249,80,159,43,43,39,23,198, -1,2,30,252,22,172,15,28,249,22,163,9,23,203,2,2,29,86,94,23,201, -1,23,199,1,28,248,22,177,15,23,202,2,249,22,172,15,23,201,1,23,203, -1,249,80,159,45,42,39,23,201,1,23,203,1,23,202,1,2,31,247,22,176, -8,249,80,159,45,43,39,23,200,1,80,159,45,36,38,252,22,172,15,28,249, -22,163,9,23,203,2,2,29,86,94,23,201,1,23,199,1,28,248,22,177,15, -23,202,2,249,22,172,15,23,201,1,23,203,1,249,80,159,45,42,39,23,201, -1,23,203,1,23,202,1,2,31,247,22,176,8,249,80,159,45,43,39,23,200, -1,80,159,45,36,38,27,252,22,172,15,28,249,22,163,9,23,201,2,2,29, -86,94,23,199,1,23,201,1,28,248,22,177,15,23,200,2,249,22,172,15,23, -203,1,23,201,1,249,80,159,47,42,39,23,203,1,23,201,1,23,203,1,2, -31,247,22,176,8,249,80,159,47,43,39,23,202,1,80,159,47,36,38,27,250, -22,190,15,196,11,32,0,88,163,8,36,36,41,11,9,222,11,28,192,249,22, -79,195,194,11,249,22,5,20,20,96,88,163,8,36,37,54,8,129,3,9,226, -5,3,2,6,33,48,23,199,1,23,195,1,23,196,1,23,197,1,27,252,22, -172,15,28,249,22,163,9,23,201,2,2,29,86,94,23,199,1,23,201,1,28, -248,22,177,15,23,200,2,249,22,172,15,23,203,1,23,201,1,249,80,159,47, -42,39,23,203,1,23,201,1,23,203,1,2,31,247,22,176,8,249,80,159,47, -43,39,23,202,1,80,159,47,36,38,27,250,22,190,15,196,11,32,0,88,163, -8,36,36,41,11,9,222,11,28,192,249,22,79,195,194,11,249,22,5,20,20, -96,88,163,8,36,37,54,8,129,3,9,226,5,3,2,6,33,50,23,199,1, -23,195,1,23,196,1,23,197,1,27,250,22,172,15,28,249,22,163,9,23,199, -2,2,29,86,94,23,197,1,23,199,1,28,248,22,177,15,23,198,2,249,22, -172,15,23,201,1,23,199,1,249,80,159,45,42,39,23,201,1,23,199,1,23, -201,1,249,80,159,45,43,39,23,200,1,2,30,27,250,22,190,15,196,11,32, -0,88,163,8,36,36,41,11,9,222,11,28,192,249,22,79,195,194,11,249,22, -5,20,20,96,88,163,8,36,37,52,8,128,3,9,226,5,3,2,6,33,52, -23,199,1,23,195,1,23,196,1,23,197,1,27,250,22,172,15,28,249,22,163, -9,23,199,2,2,29,86,94,23,197,1,23,199,1,28,248,22,177,15,23,198, -2,249,22,172,15,23,201,1,23,199,1,249,80,159,45,42,39,23,201,1,23, -199,1,23,201,1,249,80,159,45,43,39,23,200,1,2,30,27,250,22,190,15, -196,11,32,0,88,163,8,36,36,41,11,9,222,11,28,192,249,22,79,195,194, -11,249,22,5,20,20,96,88,163,8,36,37,52,8,128,3,9,226,5,3,2, -6,33,54,23,199,1,23,195,1,23,196,1,23,197,1,86,95,28,248,80,159, -37,40,39,23,195,2,12,250,22,172,11,2,27,6,12,12,112,97,116,104,45, -115,116,114,105,110,103,63,23,197,2,28,28,23,195,2,28,248,22,64,23,196, -2,10,28,248,22,88,23,196,2,28,249,22,191,3,248,22,92,23,198,2,37, -28,28,248,22,64,248,22,80,23,197,2,10,248,22,161,9,248,22,136,18,23, -197,2,249,22,4,22,64,248,22,137,18,23,198,2,11,11,11,10,12,250,22, -172,11,2,27,6,71,71,40,111,114,47,99,32,35,102,32,115,121,109,98,111, -108,63,32,40,99,111,110,115,47,99,32,40,111,114,47,99,32,35,102,32,115, -121,109,98,111,108,63,41,32,40,110,111,110,45,101,109,112,116,121,45,108,105, -115,116,111,102,32,115,121,109,98,111,108,63,41,41,41,23,197,2,27,28,23, -196,2,247,22,187,4,11,27,28,23,194,2,250,22,157,2,80,158,41,41,248, -22,170,16,247,22,190,13,11,11,27,28,23,194,2,250,22,157,2,248,22,81, -23,198,2,23,198,2,11,11,28,23,193,2,86,96,23,197,1,23,195,1,23, -194,1,20,13,159,80,159,39,38,37,250,80,159,42,39,37,249,22,33,11,80, -159,44,38,37,22,188,4,248,22,101,23,197,2,27,248,22,110,23,195,2,20, -13,159,80,159,40,38,37,250,80,159,43,39,37,249,22,33,11,80,159,45,38, -37,22,173,5,28,248,22,154,15,23,197,2,23,196,1,86,94,23,196,1,247, -22,132,16,249,247,22,171,5,248,22,80,23,197,1,23,201,1,86,94,23,193, -1,90,159,47,11,89,161,37,36,11,28,248,22,179,15,23,209,2,23,208,2, -27,247,22,173,5,28,23,193,2,249,22,180,15,23,211,2,23,195,1,23,209, -2,89,161,39,37,11,248,22,175,15,23,209,1,86,94,23,196,1,89,161,38, -40,11,28,23,209,2,27,248,22,159,15,23,197,2,19,248,22,142,8,23,195, -2,28,28,249,22,129,4,23,195,4,40,249,22,145,8,2,28,249,22,148,8, -23,198,2,249,22,181,3,23,199,4,40,11,249,22,7,23,199,2,248,22,163, -15,249,22,149,8,250,22,148,8,23,202,1,36,249,22,181,3,23,203,4,40, -5,3,46,115,115,249,22,7,23,199,2,11,2,249,22,7,23,197,2,11,89, -161,37,42,11,28,249,22,163,9,23,199,2,23,197,2,23,193,2,249,22,172, -15,23,196,2,23,199,2,89,161,37,43,11,28,23,198,2,28,249,22,163,9, -23,200,2,23,197,1,23,193,1,86,94,23,193,1,249,22,172,15,23,196,2, -23,200,2,86,94,23,195,1,11,89,161,37,44,11,28,249,22,163,9,23,196, -2,68,114,101,108,97,116,105,118,101,86,94,23,194,1,2,29,23,194,1,89, -161,37,45,11,247,22,135,16,89,161,37,46,11,247,22,136,16,27,250,22,190, -15,23,203,2,11,32,0,88,163,8,36,36,41,11,9,222,11,27,28,23,194, -2,249,22,79,23,203,2,23,196,1,86,94,23,194,1,11,27,28,23,203,2, -28,23,194,2,11,27,250,22,190,15,23,207,2,11,32,0,88,163,8,36,36, -41,11,9,222,11,28,192,249,22,79,23,206,2,194,11,11,27,28,23,195,2, -23,195,2,23,194,2,27,88,163,36,38,51,8,128,3,62,122,111,225,19,13, -9,33,44,27,88,163,36,38,51,8,128,3,66,97,108,116,45,122,111,225,20, -14,11,33,45,27,88,163,36,38,53,8,129,3,9,225,21,15,11,33,46,27, -88,163,36,38,53,8,129,3,9,225,22,16,13,33,47,27,28,23,200,2,23, -200,2,248,22,161,9,23,200,2,27,28,23,208,2,28,23,200,2,86,94,23, -201,1,23,200,2,248,22,161,9,23,202,1,11,27,28,23,195,2,28,23,197, -1,27,249,22,5,88,163,36,37,48,8,129,3,9,226,28,23,22,18,33,49, -23,217,2,27,28,23,202,2,11,193,28,192,192,28,193,28,23,202,2,28,249, -22,129,4,248,22,81,196,248,22,81,23,205,2,193,11,11,11,11,86,94,23, -197,1,11,28,23,193,2,86,108,23,217,1,23,216,1,23,214,1,23,213,1, -23,211,1,23,210,1,23,209,1,23,208,1,23,201,1,23,200,1,23,199,1, -23,198,1,23,196,1,23,195,1,23,194,1,20,13,159,80,159,8,25,38,37, -250,80,159,8,28,39,37,249,22,33,11,80,159,8,30,38,37,22,188,4,11, -20,13,159,80,159,8,25,38,37,250,80,159,8,28,39,37,249,22,33,11,80, -159,8,30,38,37,22,173,5,28,248,22,154,15,23,216,2,23,215,1,86,94, -23,215,1,247,22,132,16,249,247,22,140,16,248,22,80,23,196,1,23,222,1, -86,94,23,193,1,27,28,23,195,2,28,23,197,1,27,249,22,5,88,163,36, -37,48,8,129,3,9,226,29,24,23,20,33,51,23,218,2,27,28,23,204,2, -11,193,28,192,192,28,193,28,203,28,249,22,129,4,248,22,81,196,248,22,81, -206,193,11,11,11,11,86,94,23,197,1,11,28,23,193,2,86,105,23,218,1, -23,217,1,23,215,1,23,214,1,23,211,1,23,210,1,23,209,1,23,201,1, -23,200,1,23,199,1,23,196,1,23,195,1,20,13,159,80,159,8,26,38,37, -250,80,159,8,29,39,37,249,22,33,11,80,159,8,31,38,37,22,188,4,23, -215,1,20,13,159,80,159,8,26,38,37,250,80,159,8,29,39,37,249,22,33, -11,80,159,8,31,38,37,22,173,5,28,248,22,154,15,23,217,2,23,216,1, -86,94,23,216,1,247,22,132,16,249,247,22,140,16,248,22,80,23,196,1,23, -223,1,86,94,23,193,1,27,28,23,197,2,28,23,201,1,27,249,22,5,20, -20,94,88,163,36,37,48,8,128,3,9,226,30,25,24,20,33,53,23,213,1, -23,219,2,27,28,23,204,2,11,193,28,192,192,28,193,28,23,204,2,28,249, -22,129,4,248,22,81,196,248,22,81,23,207,2,193,11,11,11,86,94,23,210, -1,11,86,94,23,201,1,11,28,23,193,2,86,102,23,216,1,23,215,1,23, -213,1,23,212,1,23,211,1,23,202,1,23,200,1,23,197,1,23,196,1,86, -94,27,248,22,80,23,195,2,28,23,219,2,250,22,155,2,248,22,81,23,223, -1,23,223,1,250,22,89,23,199,1,11,23,221,2,12,20,13,159,80,159,8, -27,38,37,250,80,159,8,30,39,37,249,22,33,11,80,159,8,32,38,37,22, -188,4,11,20,13,159,80,159,8,27,38,37,250,80,159,8,30,39,37,249,22, -33,11,80,159,8,32,38,37,22,173,5,28,248,22,154,15,23,218,2,23,217, -1,86,94,23,217,1,247,22,132,16,249,247,22,171,5,248,22,136,18,23,196, -1,23,224,32,0,0,0,1,86,94,23,193,1,27,28,23,197,1,28,23,201, -1,27,249,22,5,20,20,95,88,163,36,37,48,8,128,3,9,226,31,26,25, -22,33,55,23,215,1,23,219,1,23,220,1,27,28,23,205,2,11,193,28,192, -192,28,193,28,204,28,249,22,129,4,248,22,81,196,248,22,81,23,15,193,11, -11,11,86,96,23,217,1,23,216,1,23,212,1,11,86,94,23,201,1,11,28, -23,193,2,86,95,23,213,1,23,198,1,86,94,27,248,22,80,23,195,2,28, -23,220,2,250,22,155,2,248,22,81,23,224,32,0,0,0,1,23,224,32,0, -0,0,1,250,22,89,23,199,1,23,221,2,23,222,2,12,20,13,159,80,159, -8,28,38,37,250,80,159,8,31,39,37,249,22,33,11,80,159,8,33,38,37, -22,188,4,23,217,1,20,13,159,80,159,8,28,38,37,250,80,159,8,31,39, -37,249,22,33,11,80,159,8,33,38,37,22,173,5,28,248,22,154,15,23,219, -2,23,218,1,86,94,23,218,1,247,22,132,16,249,247,22,171,5,248,22,136, -18,23,196,1,23,224,33,0,0,0,1,86,94,23,193,1,28,28,248,22,77, -23,224,32,0,0,0,2,248,22,136,18,23,224,32,0,0,0,2,10,27,28, -23,199,2,86,94,23,215,1,23,214,1,86,94,23,214,1,23,215,1,28,28, -248,22,77,23,224,33,0,0,0,2,248,22,161,9,248,22,166,15,23,195,2, -11,12,20,13,159,80,159,8,29,38,37,250,80,159,8,32,39,37,249,22,33, -11,80,159,8,34,38,37,22,188,4,28,23,224,35,0,0,0,2,28,23,202, -1,11,23,196,2,86,94,23,202,1,11,20,13,159,80,159,8,29,38,37,250, -80,159,8,32,39,37,249,22,33,11,80,159,8,34,38,37,22,173,5,28,248, -22,154,15,23,220,2,23,219,1,86,94,23,219,1,247,22,132,16,249,247,22, -171,5,23,195,1,23,224,34,0,0,0,1,12,28,23,194,2,250,22,155,2, -248,22,81,23,198,1,23,196,1,250,22,89,23,201,1,23,202,1,23,203,1, -12,27,249,22,183,8,80,159,39,47,38,249,22,188,3,248,22,184,3,248,22, -170,2,200,8,128,8,27,28,193,248,22,173,2,194,11,28,192,27,249,22,99, -198,195,28,192,248,22,81,193,11,11,27,249,22,188,3,248,22,184,3,248,22, -170,2,23,199,2,8,128,8,27,249,22,183,8,80,159,40,47,38,23,196,2, -27,28,23,194,2,248,22,173,2,23,195,1,86,94,23,194,1,11,250,22,184, -8,80,159,42,47,38,23,198,1,248,22,172,2,249,22,79,249,22,79,23,205, -1,23,206,1,28,23,199,2,23,199,1,86,94,23,199,1,9,32,60,88,164, -8,38,39,51,11,2,32,36,223,3,33,75,32,61,88,164,8,38,39,50,11, -2,32,36,223,3,33,74,32,62,88,163,8,36,37,50,11,2,33,222,33,73, -32,63,88,164,8,38,39,50,11,2,32,36,223,3,33,64,28,249,22,189,3, -23,197,2,23,195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7, -23,198,2,23,199,2,249,22,79,250,22,170,7,23,199,2,36,23,200,2,248, -2,62,249,22,170,7,23,199,1,248,22,178,3,23,201,1,250,2,63,23,196, -4,196,248,22,178,3,198,32,65,88,164,8,38,39,52,11,2,32,36,223,3, -33,72,32,66,88,164,8,38,39,51,11,2,32,36,223,3,33,69,32,67,88, -164,8,38,39,50,11,2,32,36,223,3,33,68,28,249,22,189,3,23,197,2, -23,195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23,198,2, -23,199,2,249,22,79,250,22,170,7,23,199,2,36,23,200,2,248,2,62,249, -22,170,7,23,199,1,248,22,178,3,23,201,1,250,2,67,23,196,4,196,248, -22,178,3,198,28,249,22,189,3,23,197,2,23,195,4,248,22,89,194,28,249, -22,130,9,7,47,249,22,152,7,23,198,2,23,199,2,249,22,79,250,22,170, -7,23,199,2,36,23,200,2,27,249,22,170,7,23,199,1,248,22,178,3,23, -201,1,19,248,22,151,7,23,195,2,250,2,67,23,196,4,23,197,1,36,2, -27,248,22,178,3,23,197,1,28,249,22,189,3,23,195,2,23,196,4,248,22, -89,195,28,249,22,130,9,7,47,249,22,152,7,23,199,2,23,197,2,249,22, -79,250,22,170,7,23,200,2,36,23,198,2,248,2,62,249,22,170,7,23,200, -1,248,22,178,3,23,199,1,250,2,66,23,197,4,197,248,22,178,3,196,32, -70,88,164,8,38,39,50,11,2,32,36,223,3,33,71,28,249,22,189,3,23, + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,53,46,57,48,46,48,46,49,84,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,106,0,0,0,1,0,0,7,0,18, +0,45,0,51,0,60,0,67,0,89,0,102,0,128,0,145,0,167,0,175,0, +187,0,202,0,218,0,236,0,0,1,12,1,28,1,51,1,75,1,87,1,118, +1,125,1,130,1,135,1,153,1,159,1,164,1,169,1,178,1,184,1,189,1, +193,1,208,1,215,1,220,1,224,1,229,1,236,1,247,1,254,1,6,2,72, +2,138,2,213,2,32,3,135,3,170,3,17,4,52,4,146,4,181,4,19,5, +54,5,255,12,29,13,80,13,171,13,187,13,203,13,217,13,233,13,52,14,68, +14,84,14,100,14,175,14,82,15,98,15,173,15,168,16,48,17,123,17,30,18, +43,18,196,18,124,19,167,19,249,19,121,20,182,20,190,20,201,20,235,21,249, +21,21,22,34,22,211,22,218,22,122,23,144,23,164,23,226,23,236,23,250,23, +31,24,130,24,134,24,141,24,95,25,198,33,251,33,19,34,43,34,0,0,68, +38,0,0,66,35,37,98,111,111,116,70,100,108,108,45,115,117,102,102,105,120, +1,25,100,101,102,97,117,108,116,45,108,111,97,100,47,117,115,101,45,99,111, +109,112,105,108,101,100,65,113,117,111,116,101,68,35,37,112,97,114,97,109,122, +29,94,2,4,2,5,11,1,20,112,97,114,97,109,101,116,101,114,105,122,97, +116,105,111,110,45,107,101,121,29,94,2,4,67,35,37,117,116,105,108,115,11, +1,24,45,109,111,100,117,108,101,45,104,97,115,104,45,116,97,98,108,101,45, +116,97,98,108,101,76,114,101,103,105,115,116,101,114,45,122,111,45,112,97,116, +104,1,20,100,101,102,97,117,108,116,45,114,101,97,100,101,114,45,103,117,97, +114,100,67,67,65,67,72,69,45,78,71,45,112,97,116,104,45,99,97,99,104, +101,74,112,97,116,104,45,99,97,99,104,101,45,103,101,116,75,112,97,116,104, +45,99,97,99,104,101,45,115,101,116,33,77,45,108,111,97,100,105,110,103,45, +102,105,108,101,110,97,109,101,79,45,108,111,97,100,105,110,103,45,112,114,111, +109,112,116,45,116,97,103,71,45,112,114,101,118,45,114,101,108,116,111,75,45, +112,114,101,118,45,114,101,108,116,111,45,100,105,114,1,21,115,112,108,105,116, +45,114,101,108,97,116,105,118,101,45,115,116,114,105,110,103,1,22,102,111,114, +109,97,116,45,115,111,117,114,99,101,45,108,111,99,97,116,105,111,110,71,111, +114,105,103,45,112,97,114,97,109,122,1,29,115,116,97,110,100,97,114,100,45, +109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,29, +94,2,4,2,5,11,64,98,111,111,116,64,115,101,97,108,77,108,111,97,100, +47,117,115,101,45,99,111,109,112,105,108,101,100,5,4,46,114,107,116,64,115, +97,109,101,5,3,46,122,111,6,6,6,110,97,116,105,118,101,65,105,108,111, +111,112,64,108,111,111,112,63,108,105,98,6,12,12,109,111,100,117,108,101,45, +112,97,116,104,63,66,115,117,98,109,111,100,6,2,2,46,46,6,1,1,46, +64,102,105,108,101,66,112,108,97,110,101,116,6,8,8,109,97,105,110,46,114, +107,116,6,4,4,46,114,107,116,67,105,103,110,111,114,101,100,250,22,172,15, +28,249,22,163,9,23,201,2,2,29,86,94,23,199,1,23,197,1,28,248,22, +177,15,23,200,2,249,22,172,15,23,199,1,23,201,1,249,80,159,43,42,39, +23,199,1,23,201,1,23,200,1,249,80,159,43,43,39,23,198,1,2,30,250, +22,172,15,28,249,22,163,9,23,201,2,2,29,86,94,23,199,1,23,197,1, +28,248,22,177,15,23,200,2,249,22,172,15,23,199,1,23,201,1,249,80,159, +43,42,39,23,199,1,23,201,1,23,200,1,249,80,159,43,43,39,23,198,1, +2,30,252,22,172,15,28,249,22,163,9,23,203,2,2,29,86,94,23,201,1, +23,199,1,28,248,22,177,15,23,202,2,249,22,172,15,23,201,1,23,203,1, +249,80,159,45,42,39,23,201,1,23,203,1,23,202,1,2,31,247,22,176,8, +249,80,159,45,43,39,23,200,1,80,159,45,36,38,252,22,172,15,28,249,22, +163,9,23,203,2,2,29,86,94,23,201,1,23,199,1,28,248,22,177,15,23, +202,2,249,22,172,15,23,201,1,23,203,1,249,80,159,45,42,39,23,201,1, +23,203,1,23,202,1,2,31,247,22,176,8,249,80,159,45,43,39,23,200,1, +80,159,45,36,38,27,252,22,172,15,28,249,22,163,9,23,201,2,2,29,86, +94,23,199,1,23,201,1,28,248,22,177,15,23,200,2,249,22,172,15,23,203, +1,23,201,1,249,80,159,47,42,39,23,203,1,23,201,1,23,203,1,2,31, +247,22,176,8,249,80,159,47,43,39,23,202,1,80,159,47,36,38,27,250,22, +190,15,196,11,32,0,88,163,8,36,36,41,11,9,222,11,28,192,249,22,79, +195,194,11,249,22,5,20,20,96,88,163,8,36,37,54,8,129,3,9,226,5, +3,2,6,33,48,23,199,1,23,195,1,23,196,1,23,197,1,27,252,22,172, +15,28,249,22,163,9,23,201,2,2,29,86,94,23,199,1,23,201,1,28,248, +22,177,15,23,200,2,249,22,172,15,23,203,1,23,201,1,249,80,159,47,42, +39,23,203,1,23,201,1,23,203,1,2,31,247,22,176,8,249,80,159,47,43, +39,23,202,1,80,159,47,36,38,27,250,22,190,15,196,11,32,0,88,163,8, +36,36,41,11,9,222,11,28,192,249,22,79,195,194,11,249,22,5,20,20,96, +88,163,8,36,37,54,8,129,3,9,226,5,3,2,6,33,50,23,199,1,23, +195,1,23,196,1,23,197,1,27,250,22,172,15,28,249,22,163,9,23,199,2, +2,29,86,94,23,197,1,23,199,1,28,248,22,177,15,23,198,2,249,22,172, +15,23,201,1,23,199,1,249,80,159,45,42,39,23,201,1,23,199,1,23,201, +1,249,80,159,45,43,39,23,200,1,2,30,27,250,22,190,15,196,11,32,0, +88,163,8,36,36,41,11,9,222,11,28,192,249,22,79,195,194,11,249,22,5, +20,20,96,88,163,8,36,37,52,8,128,3,9,226,5,3,2,6,33,52,23, +199,1,23,195,1,23,196,1,23,197,1,27,250,22,172,15,28,249,22,163,9, +23,199,2,2,29,86,94,23,197,1,23,199,1,28,248,22,177,15,23,198,2, +249,22,172,15,23,201,1,23,199,1,249,80,159,45,42,39,23,201,1,23,199, +1,23,201,1,249,80,159,45,43,39,23,200,1,2,30,27,250,22,190,15,196, +11,32,0,88,163,8,36,36,41,11,9,222,11,28,192,249,22,79,195,194,11, +249,22,5,20,20,96,88,163,8,36,37,52,8,128,3,9,226,5,3,2,6, +33,54,23,199,1,23,195,1,23,196,1,23,197,1,86,95,28,248,80,159,37, +40,39,23,195,2,12,250,22,172,11,2,27,6,12,12,112,97,116,104,45,115, +116,114,105,110,103,63,23,197,2,28,28,23,195,2,28,248,22,64,23,196,2, +10,28,248,22,88,23,196,2,28,249,22,191,3,248,22,92,23,198,2,37,28, +28,248,22,64,248,22,80,23,197,2,10,248,22,161,9,248,22,136,18,23,197, +2,249,22,4,22,64,248,22,137,18,23,198,2,11,11,11,10,12,250,22,172, +11,2,27,6,71,71,40,111,114,47,99,32,35,102,32,115,121,109,98,111,108, +63,32,40,99,111,110,115,47,99,32,40,111,114,47,99,32,35,102,32,115,121, +109,98,111,108,63,41,32,40,110,111,110,45,101,109,112,116,121,45,108,105,115, +116,111,102,32,115,121,109,98,111,108,63,41,41,41,23,197,2,27,28,23,196, +2,247,22,187,4,11,27,28,23,194,2,250,22,157,2,80,158,41,41,248,22, +170,16,247,22,190,13,11,11,27,28,23,194,2,250,22,157,2,248,22,81,23, +198,2,23,198,2,11,11,28,23,193,2,86,96,23,197,1,23,195,1,23,194, +1,20,13,159,80,159,39,38,37,250,80,159,42,39,37,249,22,33,11,80,159, +44,38,37,22,188,4,248,22,101,23,197,2,27,248,22,110,23,195,2,20,13, +159,80,159,40,38,37,250,80,159,43,39,37,249,22,33,11,80,159,45,38,37, +22,173,5,28,248,22,154,15,23,197,2,23,196,1,86,94,23,196,1,247,22, +132,16,249,247,22,171,5,248,22,80,23,197,1,23,201,1,86,94,23,193,1, +90,159,47,11,89,161,37,36,11,28,248,22,179,15,23,209,2,23,208,2,27, +247,22,173,5,28,23,193,2,249,22,180,15,23,211,2,23,195,1,23,209,2, +89,161,39,37,11,248,22,175,15,23,209,1,86,94,23,196,1,89,161,38,40, +11,28,23,209,2,27,248,22,159,15,23,197,2,19,248,22,142,8,23,195,2, +28,28,249,22,129,4,23,195,4,40,249,22,145,8,2,28,249,22,148,8,23, +198,2,249,22,181,3,23,199,4,40,11,249,22,7,23,199,2,248,22,163,15, +249,22,149,8,250,22,148,8,23,202,1,36,249,22,181,3,23,203,4,40,5, +3,46,115,115,249,22,7,23,199,2,11,2,249,22,7,23,197,2,11,89,161, +37,42,11,28,249,22,163,9,23,199,2,23,197,2,23,193,2,249,22,172,15, +23,196,2,23,199,2,89,161,37,43,11,28,23,198,2,28,249,22,163,9,23, +200,2,23,197,1,23,193,1,86,94,23,193,1,249,22,172,15,23,196,2,23, +200,2,86,94,23,195,1,11,89,161,37,44,11,28,249,22,163,9,23,196,2, +68,114,101,108,97,116,105,118,101,86,94,23,194,1,2,29,23,194,1,89,161, +37,45,11,247,22,135,16,89,161,37,46,11,247,22,136,16,27,250,22,190,15, +23,203,2,11,32,0,88,163,8,36,36,41,11,9,222,11,27,28,23,194,2, +249,22,79,23,203,2,23,196,1,86,94,23,194,1,11,27,28,23,203,2,28, +23,194,2,11,27,250,22,190,15,23,207,2,11,32,0,88,163,8,36,36,41, +11,9,222,11,28,192,249,22,79,23,206,2,194,11,11,27,28,23,195,2,23, +195,2,23,194,2,27,88,163,36,38,51,8,128,3,62,122,111,225,19,13,9, +33,44,27,88,163,36,38,51,8,128,3,66,97,108,116,45,122,111,225,20,14, +11,33,45,27,88,163,36,38,53,8,129,3,9,225,21,15,11,33,46,27,88, +163,36,38,53,8,129,3,9,225,22,16,13,33,47,27,28,23,200,2,23,200, +2,248,22,161,9,23,200,2,27,28,23,208,2,28,23,200,2,86,94,23,201, +1,23,200,2,248,22,161,9,23,202,1,11,27,28,23,195,2,28,23,197,1, +27,249,22,5,88,163,36,37,48,8,129,3,9,226,28,23,22,18,33,49,23, +217,2,27,28,23,202,2,11,193,28,192,192,28,193,28,23,202,2,28,249,22, +129,4,248,22,81,196,248,22,81,23,205,2,193,11,11,11,11,86,94,23,197, +1,11,28,23,193,2,86,108,23,217,1,23,216,1,23,214,1,23,213,1,23, +211,1,23,210,1,23,209,1,23,208,1,23,201,1,23,200,1,23,199,1,23, +198,1,23,196,1,23,195,1,23,194,1,20,13,159,80,159,8,25,38,37,250, +80,159,8,28,39,37,249,22,33,11,80,159,8,30,38,37,22,188,4,11,20, +13,159,80,159,8,25,38,37,250,80,159,8,28,39,37,249,22,33,11,80,159, +8,30,38,37,22,173,5,28,248,22,154,15,23,216,2,23,215,1,86,94,23, +215,1,247,22,132,16,249,247,22,140,16,248,22,80,23,196,1,23,222,1,86, +94,23,193,1,27,28,23,195,2,28,23,197,1,27,249,22,5,88,163,36,37, +48,8,129,3,9,226,29,24,23,20,33,51,23,218,2,27,28,23,204,2,11, +193,28,192,192,28,193,28,203,28,249,22,129,4,248,22,81,196,248,22,81,206, +193,11,11,11,11,86,94,23,197,1,11,28,23,193,2,86,105,23,218,1,23, +217,1,23,215,1,23,214,1,23,211,1,23,210,1,23,209,1,23,201,1,23, +200,1,23,199,1,23,196,1,23,195,1,20,13,159,80,159,8,26,38,37,250, +80,159,8,29,39,37,249,22,33,11,80,159,8,31,38,37,22,188,4,23,215, +1,20,13,159,80,159,8,26,38,37,250,80,159,8,29,39,37,249,22,33,11, +80,159,8,31,38,37,22,173,5,28,248,22,154,15,23,217,2,23,216,1,86, +94,23,216,1,247,22,132,16,249,247,22,140,16,248,22,80,23,196,1,23,223, +1,86,94,23,193,1,27,28,23,197,2,28,23,201,1,27,249,22,5,20,20, +94,88,163,36,37,48,8,128,3,9,226,30,25,24,20,33,53,23,213,1,23, +219,2,27,28,23,204,2,11,193,28,192,192,28,193,28,23,204,2,28,249,22, +129,4,248,22,81,196,248,22,81,23,207,2,193,11,11,11,86,94,23,210,1, +11,86,94,23,201,1,11,28,23,193,2,86,102,23,216,1,23,215,1,23,213, +1,23,212,1,23,211,1,23,202,1,23,200,1,23,197,1,23,196,1,86,94, +27,248,22,80,23,195,2,28,23,219,2,250,22,155,2,248,22,81,23,223,1, +23,223,1,250,22,89,23,199,1,11,23,221,2,12,20,13,159,80,159,8,27, +38,37,250,80,159,8,30,39,37,249,22,33,11,80,159,8,32,38,37,22,188, +4,11,20,13,159,80,159,8,27,38,37,250,80,159,8,30,39,37,249,22,33, +11,80,159,8,32,38,37,22,173,5,28,248,22,154,15,23,218,2,23,217,1, +86,94,23,217,1,247,22,132,16,249,247,22,171,5,248,22,136,18,23,196,1, +23,224,32,0,0,0,1,86,94,23,193,1,27,28,23,197,1,28,23,201,1, +27,249,22,5,20,20,95,88,163,36,37,48,8,128,3,9,226,31,26,25,22, +33,55,23,215,1,23,219,1,23,220,1,27,28,23,205,2,11,193,28,192,192, +28,193,28,204,28,249,22,129,4,248,22,81,196,248,22,81,23,15,193,11,11, +11,86,96,23,217,1,23,216,1,23,212,1,11,86,94,23,201,1,11,28,23, +193,2,86,95,23,213,1,23,198,1,86,94,27,248,22,80,23,195,2,28,23, +220,2,250,22,155,2,248,22,81,23,224,32,0,0,0,1,23,224,32,0,0, +0,1,250,22,89,23,199,1,23,221,2,23,222,2,12,20,13,159,80,159,8, +28,38,37,250,80,159,8,31,39,37,249,22,33,11,80,159,8,33,38,37,22, +188,4,23,217,1,20,13,159,80,159,8,28,38,37,250,80,159,8,31,39,37, +249,22,33,11,80,159,8,33,38,37,22,173,5,28,248,22,154,15,23,219,2, +23,218,1,86,94,23,218,1,247,22,132,16,249,247,22,171,5,248,22,136,18, +23,196,1,23,224,33,0,0,0,1,86,94,23,193,1,28,28,248,22,77,23, +224,32,0,0,0,2,248,22,136,18,23,224,32,0,0,0,2,10,27,28,23, +199,2,86,94,23,215,1,23,214,1,86,94,23,214,1,23,215,1,28,28,248, +22,77,23,224,33,0,0,0,2,248,22,161,9,248,22,166,15,23,195,2,11, +12,20,13,159,80,159,8,29,38,37,250,80,159,8,32,39,37,249,22,33,11, +80,159,8,34,38,37,22,188,4,28,23,224,35,0,0,0,2,28,23,202,1, +11,23,196,2,86,94,23,202,1,11,20,13,159,80,159,8,29,38,37,250,80, +159,8,32,39,37,249,22,33,11,80,159,8,34,38,37,22,173,5,28,248,22, +154,15,23,220,2,23,219,1,86,94,23,219,1,247,22,132,16,249,247,22,171, +5,23,195,1,23,224,34,0,0,0,1,12,28,23,194,2,250,22,155,2,248, +22,81,23,198,1,23,196,1,250,22,89,23,201,1,23,202,1,23,203,1,12, +27,249,22,183,8,80,159,39,47,38,249,22,188,3,248,22,184,3,248,22,170, +2,200,8,128,8,27,28,193,248,22,173,2,194,11,28,192,27,249,22,99,198, +195,28,192,248,22,81,193,11,11,27,249,22,188,3,248,22,184,3,248,22,170, +2,23,199,2,8,128,8,27,249,22,183,8,80,159,40,47,38,23,196,2,27, +28,23,194,2,248,22,173,2,23,195,1,86,94,23,194,1,11,250,22,184,8, +80,159,42,47,38,23,198,1,248,22,172,2,249,22,79,249,22,79,23,205,1, +23,206,1,28,23,199,2,23,199,1,86,94,23,199,1,9,32,60,88,164,8, +38,39,51,11,2,32,36,223,3,33,75,32,61,88,164,8,38,39,50,11,2, +32,36,223,3,33,74,32,62,88,163,8,36,37,50,11,2,33,222,33,73,32, +63,88,164,8,38,39,50,11,2,32,36,223,3,33,64,28,249,22,189,3,23, 197,2,23,195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23, 198,2,23,199,2,249,22,79,250,22,170,7,23,199,2,36,23,200,2,248,2, -62,249,22,170,7,23,199,1,248,22,178,3,23,201,1,250,2,70,23,196,4, -196,248,22,178,3,198,28,249,22,189,3,23,197,2,23,195,4,248,22,89,194, -28,249,22,130,9,7,47,249,22,152,7,23,198,2,23,199,2,249,22,79,250, -22,170,7,23,199,2,36,23,200,2,27,249,22,170,7,23,199,1,248,22,178, -3,23,201,1,19,248,22,151,7,23,195,2,250,2,66,23,196,4,23,197,1, -36,2,27,248,22,178,3,23,197,1,28,249,22,189,3,23,195,2,23,196,4, -248,22,89,195,28,249,22,130,9,7,47,249,22,152,7,23,199,2,23,197,2, -249,22,79,250,22,170,7,23,200,2,36,23,198,2,27,249,22,170,7,23,200, -1,248,22,178,3,23,199,1,19,248,22,151,7,23,195,2,250,2,70,23,196, -4,23,197,1,36,2,27,248,22,178,3,23,195,1,28,249,22,189,3,23,195, -2,23,197,4,248,22,89,196,28,249,22,130,9,7,47,249,22,152,7,23,200, -2,23,197,2,249,22,79,250,22,170,7,23,201,2,36,23,198,2,248,2,62, -249,22,170,7,23,201,1,248,22,178,3,23,199,1,250,2,65,23,198,4,198, -248,22,178,3,196,19,248,22,151,7,23,195,2,28,249,22,189,3,36,23,195, -4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23,198,2,36,249, -22,79,250,22,170,7,23,199,2,36,36,27,249,22,170,7,23,199,1,37,19, -248,22,151,7,23,195,2,250,2,63,23,196,4,23,197,1,36,2,28,249,22, -189,3,37,23,195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7, -23,198,2,37,249,22,79,250,22,170,7,23,199,2,36,37,248,2,62,249,22, -170,7,23,199,1,38,250,2,65,23,196,4,196,38,2,28,249,22,189,3,23, -197,2,23,195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23, -198,2,23,199,2,249,22,79,250,22,170,7,23,199,2,36,23,200,2,248,2, -62,249,22,170,7,23,199,1,248,22,178,3,23,201,1,250,2,61,23,196,4, -196,248,22,178,3,198,28,249,22,189,3,23,197,2,23,195,4,248,22,89,194, -28,249,22,130,9,7,47,249,22,152,7,23,198,2,23,199,2,249,22,79,250, -22,170,7,23,199,2,36,23,200,2,27,249,22,170,7,23,199,1,248,22,178, -3,23,201,1,19,248,22,151,7,23,195,2,250,2,61,23,196,4,23,197,1, -36,2,27,248,22,178,3,23,197,1,28,249,22,189,3,23,195,2,23,196,4, -248,22,89,195,28,249,22,130,9,7,47,249,22,152,7,23,199,2,23,197,2, -249,22,79,250,22,170,7,23,200,2,36,23,198,2,248,2,62,249,22,170,7, -23,200,1,248,22,178,3,23,199,1,250,2,60,23,197,4,197,248,22,178,3, -196,32,76,88,163,36,37,55,11,2,33,222,33,77,28,248,22,87,248,22,81, -23,195,2,249,22,7,9,248,22,136,18,23,196,1,90,159,38,11,89,161,38, -36,11,27,248,22,137,18,23,197,2,28,248,22,87,248,22,81,23,195,2,249, -22,7,9,248,22,136,18,195,90,159,38,11,89,161,38,36,11,27,248,22,137, -18,196,28,248,22,87,248,22,81,23,195,2,249,22,7,9,248,22,136,18,195, -90,159,38,11,89,161,38,36,11,248,2,76,248,22,137,18,196,249,22,7,249, -22,79,248,22,136,18,199,196,195,249,22,7,249,22,79,248,22,136,18,199,196, -195,249,22,7,249,22,79,248,22,136,18,23,200,1,23,197,1,23,196,1,27, -19,248,22,151,7,23,196,2,250,2,60,23,196,4,23,198,1,36,2,28,23, -195,1,192,28,248,22,87,248,22,81,23,195,2,249,22,7,9,248,22,136,18, -23,196,1,27,248,22,137,18,23,195,2,90,159,38,11,89,161,38,36,11,28, -248,22,87,248,22,81,23,197,2,249,22,7,9,248,22,136,18,23,198,1,27, -248,22,137,18,23,197,2,90,159,38,11,89,161,38,36,11,28,248,22,87,248, -22,81,23,197,2,249,22,7,9,248,22,136,18,197,90,159,38,11,89,161,38, -36,11,248,2,76,248,22,137,18,198,249,22,7,249,22,79,248,22,136,18,201, -196,195,249,22,7,249,22,79,248,22,136,18,23,203,1,196,195,249,22,7,249, -22,79,248,22,136,18,23,201,1,23,197,1,23,196,1,248,22,132,12,252,22, -155,10,248,22,160,4,23,200,2,248,22,156,4,23,200,2,248,22,157,4,23, -200,2,248,22,158,4,23,200,2,248,22,159,4,23,200,1,28,24,194,2,12, -20,13,159,80,159,36,58,37,80,158,36,56,89,161,37,37,10,249,22,190,4, -21,94,2,34,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,27,28,23,195,2,28,249, -22,163,9,23,197,2,80,158,39,52,86,94,23,195,1,80,158,37,53,27,248, -22,149,5,23,197,2,27,28,248,22,77,23,195,2,248,22,136,18,23,195,1, -23,194,1,28,248,22,154,15,23,194,2,90,159,39,11,89,161,39,36,11,248, -22,175,15,23,197,1,86,95,20,18,159,11,80,158,42,52,199,20,18,159,11, -80,158,42,53,192,192,11,11,28,23,193,2,192,86,94,23,193,1,27,247,22, -173,5,28,23,193,2,192,86,94,23,193,1,247,22,132,16,90,159,39,11,89, -161,39,36,11,248,22,175,15,23,198,2,86,95,23,195,1,23,193,1,28,249, -22,145,16,0,11,35,114,120,34,91,46,93,115,115,36,34,248,22,159,15,23, -197,1,249,80,159,41,59,39,23,199,1,2,28,196,249,80,159,38,54,39,195, -10,249,22,14,23,196,1,80,159,38,51,38,86,96,28,248,22,147,5,23,196, -2,12,250,22,172,11,2,23,6,21,21,114,101,115,111,108,118,101,100,45,109, -111,100,117,108,101,45,112,97,116,104,63,23,198,2,28,28,23,196,2,248,22, -191,13,23,197,2,10,12,250,22,172,11,2,23,6,20,20,40,111,114,47,99, -32,35,102,32,110,97,109,101,115,112,97,99,101,63,41,23,199,2,28,24,193, -2,248,24,194,1,23,196,2,86,94,23,193,1,12,27,250,22,157,2,80,159, -41,41,38,248,22,170,16,247,22,190,13,11,27,28,23,194,2,23,194,1,86, -94,23,194,1,27,249,22,79,247,22,137,2,247,22,137,2,86,94,250,22,155, -2,80,159,43,41,38,248,22,170,16,247,22,190,13,195,192,86,94,250,22,155, -2,248,22,80,23,197,2,23,200,2,68,100,101,99,108,97,114,101,100,28,23, -198,2,27,28,248,22,77,248,22,149,5,23,200,2,248,22,148,5,248,22,80, -248,22,149,5,23,201,1,23,198,1,27,250,22,157,2,80,159,44,41,38,248, -22,170,16,23,204,1,11,28,23,193,2,27,250,22,157,2,248,22,81,23,198, -1,23,198,2,11,28,23,193,2,250,22,155,2,248,22,137,18,23,200,1,23, -198,1,23,196,1,12,12,12,251,24,197,1,23,198,1,23,199,1,23,200,1, -10,32,87,88,163,36,38,47,11,76,102,108,97,116,116,101,110,45,115,117,98, -45,112,97,116,104,222,33,90,32,88,88,163,36,40,54,11,2,33,222,33,89, -28,248,22,87,23,197,2,28,248,22,87,195,192,249,22,79,194,248,22,94,197, -28,249,22,165,9,248,22,80,23,199,2,2,37,28,248,22,87,23,196,2,86, -95,23,196,1,23,195,1,250,22,168,11,2,23,6,37,37,116,111,111,32,109, -97,110,121,32,34,46,46,34,115,32,105,110,32,115,117,98,109,111,100,117,108, -101,32,112,97,116,104,58,32,126,46,115,250,22,90,2,36,28,249,22,165,9, -23,201,2,2,38,23,199,1,28,248,22,154,15,23,200,2,23,199,1,249,22, -89,28,248,22,64,23,202,2,2,4,2,39,23,201,1,23,200,1,251,2,88, -196,197,248,22,81,199,248,22,137,18,200,251,2,88,196,197,249,22,79,248,22, -136,18,202,200,248,22,137,18,200,251,2,88,196,197,9,197,27,250,22,171,7, -27,28,23,199,2,28,247,22,185,11,248,80,159,44,55,39,23,200,2,11,11, -28,192,192,6,29,29,115,116,97,110,100,97,114,100,45,109,111,100,117,108,101, -45,110,97,109,101,45,114,101,115,111,108,118,101,114,6,2,2,58,32,250,22, -156,16,0,7,35,114,120,34,92,110,34,23,203,1,249,22,132,8,6,23,23, -10,32,32,102,111,114,32,109,111,100,117,108,101,32,112,97,116,104,58,32,126, -115,10,23,202,2,248,22,162,13,28,23,196,2,251,22,170,12,23,198,1,247, -22,29,248,22,89,23,201,1,23,199,1,86,94,23,196,1,250,22,133,13,23, -197,1,247,22,29,23,198,1,28,249,22,154,7,194,2,38,2,29,28,249,22, -154,7,194,2,37,62,117,112,192,32,93,88,163,8,36,37,50,11,67,115,115, -45,62,114,107,116,222,33,94,19,248,22,151,7,194,28,249,22,129,4,23,195, -4,39,28,249,22,154,7,6,3,3,46,115,115,249,22,170,7,197,249,22,181, -3,23,199,4,39,249,22,171,7,250,22,170,7,198,36,249,22,181,3,23,200, -4,39,2,42,193,193,2,0,8,35,114,120,34,91,46,93,34,32,96,88,163, -8,36,37,47,11,2,33,222,33,97,28,248,22,87,23,194,2,9,250,22,90, -6,4,4,10,32,32,32,248,22,158,15,248,22,102,23,198,2,248,2,96,248, -22,81,23,198,1,28,249,22,165,9,248,22,81,23,200,2,23,197,1,28,249, -22,163,9,248,22,136,18,23,200,1,23,196,1,251,22,168,11,2,23,6,41, -41,99,121,99,108,101,32,105,110,32,108,111,97,100,105,110,103,10,32,32,97, -116,32,112,97,116,104,58,32,126,97,10,32,32,112,97,116,104,115,58,126,97, -23,200,1,249,22,1,22,171,7,248,2,96,248,22,94,23,201,1,12,12,247, -23,193,1,250,22,154,4,11,196,195,20,13,159,80,159,45,50,38,249,22,79, -249,22,79,248,22,170,16,247,22,190,13,23,201,1,23,195,1,20,13,159,80, -159,45,38,37,252,80,159,50,39,37,249,22,33,11,80,159,52,38,37,22,187, -4,23,200,2,22,189,4,248,28,23,207,2,20,20,94,88,163,8,36,37,46, -11,9,223,14,33,100,23,207,1,86,94,23,207,1,22,7,28,248,22,64,23, -206,2,23,205,1,28,28,248,22,77,23,206,2,249,22,163,9,248,22,136,18, -23,208,2,2,34,11,23,205,1,86,94,23,205,1,28,248,22,147,5,23,202, -2,27,248,22,149,5,23,203,2,28,248,22,64,193,249,22,89,2,4,194,192, -23,201,2,249,247,22,172,5,23,200,1,27,248,22,67,248,22,158,15,23,201, -1,28,23,203,2,28,250,22,157,2,248,22,80,23,201,1,23,201,1,11,249, -22,79,11,204,249,22,79,194,204,192,86,96,28,248,22,157,5,23,196,2,12, -28,248,22,152,4,23,198,2,250,22,170,11,11,6,15,15,98,97,100,32,109, -111,100,117,108,101,32,112,97,116,104,23,200,2,250,22,172,11,2,23,2,35, -23,198,2,28,28,23,196,2,248,22,147,5,23,197,2,10,12,250,22,172,11, -2,23,6,31,31,40,111,114,47,99,32,35,102,32,114,101,115,111,108,118,101, -100,45,109,111,100,117,108,101,45,112,97,116,104,63,41,23,199,2,28,28,23, -197,2,248,22,152,4,23,198,2,10,12,250,22,172,11,2,23,6,17,17,40, -111,114,47,99,32,35,102,32,115,121,110,116,97,120,63,41,23,200,2,28,28, -248,22,77,23,196,2,249,22,163,9,248,22,136,18,23,198,2,2,4,11,86, -97,23,198,1,23,197,1,23,196,1,23,193,1,248,22,148,5,248,22,101,23, -197,1,28,28,248,22,77,23,196,2,28,249,22,163,9,248,22,136,18,23,198, -2,2,36,28,248,22,77,248,22,101,23,197,2,249,22,163,9,248,22,105,23, -198,2,2,4,11,11,11,86,97,23,198,1,23,197,1,23,196,1,23,193,1, -248,22,148,5,249,2,87,248,22,118,23,199,2,248,22,103,23,199,1,28,28, -248,22,77,23,196,2,28,249,22,163,9,248,22,136,18,23,198,2,2,36,28, -28,249,22,165,9,248,22,101,23,198,2,2,38,10,249,22,165,9,248,22,101, -23,198,2,2,37,28,23,196,2,27,248,22,149,5,23,198,2,28,248,22,64, -193,10,28,248,22,77,193,248,22,64,248,22,136,18,194,11,11,11,11,11,86, -96,23,198,1,23,197,1,23,193,1,27,248,22,149,5,23,198,1,248,22,148, -5,249,2,87,28,248,22,77,23,197,2,248,22,136,18,23,197,2,23,196,2, -27,28,249,22,165,9,248,22,101,23,203,2,2,37,248,22,137,18,200,248,22, -103,200,28,248,22,77,23,198,2,249,22,93,248,22,137,18,199,194,192,28,28, -248,22,77,23,196,2,249,22,163,9,248,22,136,18,23,198,2,2,40,11,86, -94,248,80,159,38,8,29,39,23,194,2,253,24,199,1,23,201,1,23,202,1, -23,203,1,23,204,1,11,80,158,43,56,28,28,248,22,77,23,196,2,28,249, -22,163,9,248,22,136,18,23,198,2,2,36,28,248,22,77,248,22,101,23,197, -2,249,22,163,9,248,22,105,23,198,2,2,40,11,11,11,86,94,248,80,159, -38,8,29,39,23,194,2,253,24,199,1,248,22,101,23,202,2,23,202,1,23, -203,1,23,204,1,248,22,103,23,202,1,80,158,43,56,86,94,23,193,1,27, -88,163,8,36,37,54,8,240,0,0,8,0,79,115,104,111,119,45,99,111,108, -108,101,99,116,105,111,110,45,101,114,114,225,2,5,3,33,91,27,28,248,22, -77,23,198,2,28,249,22,163,9,2,36,248,22,136,18,23,200,2,27,248,22, -101,23,199,2,28,28,249,22,165,9,23,195,2,2,38,10,249,22,165,9,23, -195,2,2,37,86,94,23,193,1,28,23,199,2,27,248,22,149,5,23,201,2, -28,248,22,77,193,248,22,136,18,193,192,250,22,168,11,2,23,6,45,45,110, -111,32,98,97,115,101,32,112,97,116,104,32,102,111,114,32,114,101,108,97,116, -105,118,101,32,115,117,98,109,111,100,117,108,101,32,112,97,116,104,58,32,126, -46,115,23,201,2,192,23,197,2,23,197,2,27,28,248,22,77,23,199,2,28, -249,22,163,9,2,36,248,22,136,18,23,201,2,27,28,28,28,249,22,165,9, -248,22,101,23,202,2,2,38,10,249,22,165,9,248,22,101,23,202,2,2,37, -23,200,2,11,27,248,22,149,5,23,202,2,27,28,249,22,165,9,248,22,101, -23,204,2,2,37,248,22,137,18,23,202,1,248,22,103,23,202,1,28,248,22, -77,23,195,2,249,2,87,248,22,136,18,23,197,2,249,22,93,248,22,137,18, -23,199,1,23,197,1,249,2,87,23,196,1,23,195,1,249,2,87,2,38,28, -249,22,165,9,248,22,101,23,204,2,2,37,248,22,137,18,23,202,1,248,22, -103,23,202,1,28,248,22,77,193,248,22,137,18,193,11,11,11,27,28,248,22, -64,23,196,2,27,248,80,159,43,48,39,249,22,79,23,199,2,247,22,134,16, -28,23,193,2,192,86,94,23,193,1,90,159,38,11,89,161,38,36,11,249,80, -159,46,54,39,248,22,70,23,201,2,11,27,28,248,22,87,23,195,2,2,41, -249,22,171,7,23,197,2,2,42,251,80,159,49,8,24,39,23,204,1,28,248, -22,87,23,199,2,23,199,1,86,94,23,199,1,248,22,80,23,199,2,28,248, -22,87,23,199,2,86,94,23,198,1,9,248,22,137,18,23,199,1,23,197,1, -28,248,22,148,7,23,196,2,86,94,23,196,1,27,248,80,159,43,8,30,39, -23,202,2,27,248,80,159,44,48,39,249,22,79,23,200,2,23,197,2,28,23, -193,2,192,86,94,23,193,1,90,159,38,11,89,161,38,36,11,249,80,159,47, -54,39,23,201,2,11,250,22,1,22,172,15,23,199,1,249,22,93,249,22,2, -32,0,88,163,8,36,37,44,11,9,222,33,92,23,200,1,248,22,89,248,2, -93,23,201,1,28,248,22,154,15,23,196,2,86,94,23,196,1,248,80,159,42, -8,31,39,248,22,182,15,28,248,22,179,15,23,198,2,23,197,2,249,22,180, -15,23,199,2,248,80,159,46,8,30,39,23,205,2,28,249,22,163,9,248,22, -80,23,198,2,2,34,27,248,80,159,43,48,39,249,22,79,23,199,2,247,22, -134,16,28,23,193,2,192,86,94,23,193,1,90,159,39,11,89,161,38,36,11, -249,80,159,47,54,39,248,22,101,23,202,2,11,89,161,37,38,11,28,248,22, -87,248,22,103,23,201,2,28,248,22,87,23,194,2,249,22,149,16,2,95,23, -196,2,11,10,27,28,23,196,2,248,2,93,23,196,2,28,248,22,87,23,195, -2,2,41,28,249,22,149,16,2,95,23,197,2,248,2,93,23,196,2,249,22, -171,7,23,197,2,2,42,27,28,23,197,1,86,94,23,196,1,249,22,93,28, -248,22,87,248,22,103,23,205,2,21,93,6,5,5,109,122,108,105,98,249,22, -1,22,93,249,22,2,80,159,53,8,32,39,248,22,103,23,208,2,23,197,1, -28,248,22,87,23,196,2,86,94,23,195,1,248,22,89,23,197,1,86,94,23, -196,1,23,195,1,251,80,159,51,8,24,39,23,206,1,248,22,80,23,198,2, -248,22,137,18,23,198,1,23,198,1,28,249,22,163,9,248,22,136,18,23,198, -2,2,39,248,80,159,42,8,31,39,248,22,182,15,249,22,180,15,248,22,184, -15,248,22,101,23,201,2,248,80,159,46,8,30,39,23,205,2,12,86,94,28, -28,248,22,154,15,23,194,2,10,248,22,178,8,23,194,2,12,28,23,201,2, -250,22,170,11,67,114,101,113,117,105,114,101,249,22,132,8,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, -80,23,199,2,6,0,0,23,204,2,250,22,172,11,2,23,2,35,23,198,2, -27,28,248,22,178,8,23,195,2,249,22,183,8,23,196,2,36,249,22,182,15, -248,22,183,15,23,197,2,11,27,28,248,22,178,8,23,196,2,249,22,183,8, -23,197,2,37,248,80,159,44,8,25,39,23,195,2,90,159,39,11,89,161,39, -36,11,28,248,22,178,8,23,199,2,250,22,7,2,43,249,22,183,8,23,203, -2,38,2,43,248,22,175,15,23,198,2,86,95,23,195,1,23,193,1,27,28, -248,22,178,8,23,200,2,249,22,183,8,23,201,2,39,249,80,159,49,59,39, -23,197,2,5,0,27,28,248,22,178,8,23,201,2,249,22,183,8,23,202,2, -40,248,22,148,5,23,200,2,27,250,22,157,2,80,159,52,41,38,248,22,170, -16,247,22,190,13,11,27,28,23,194,2,23,194,1,86,94,23,194,1,27,249, -22,79,247,22,137,2,247,22,137,2,86,94,250,22,155,2,80,159,54,41,38, -248,22,170,16,247,22,190,13,195,192,27,28,23,204,2,248,22,148,5,249,22, -79,248,22,149,5,23,200,2,23,207,2,23,196,2,86,95,28,23,212,1,27, -250,22,157,2,248,22,80,23,199,2,196,11,28,23,193,1,12,27,27,28,248, -22,17,80,159,55,51,38,80,159,54,51,38,247,22,19,251,22,33,11,80,159, -58,50,38,9,23,197,1,27,248,22,170,16,247,22,190,13,86,94,249,22,3, -20,20,94,88,163,8,36,37,54,11,9,226,14,13,2,3,33,98,23,195,1, -23,196,2,248,28,248,22,17,80,159,56,51,38,32,0,88,163,36,37,42,11, -9,222,33,99,80,159,55,8,33,39,20,20,97,88,163,36,36,8,24,8,240, -12,64,0,0,9,232,19,22,15,16,13,12,8,7,5,2,33,101,23,195,1, -23,198,1,23,208,1,23,215,1,12,28,28,248,22,178,8,23,204,1,11,28, -248,22,148,7,23,206,2,10,28,248,22,64,23,206,2,10,28,248,22,77,23, -206,2,249,22,163,9,248,22,136,18,23,208,2,2,34,11,249,80,159,53,49, -39,28,248,22,148,7,23,208,2,249,22,79,23,209,1,248,80,159,56,8,30, -39,23,215,1,86,94,23,212,1,249,22,79,23,209,1,247,22,134,16,252,22, -180,8,23,209,1,23,208,1,23,206,1,23,204,1,23,203,1,12,192,86,96, -20,18,159,11,80,158,36,56,248,80,159,37,8,28,37,249,22,33,11,80,159, -39,58,37,248,22,186,4,80,159,37,57,38,248,22,172,5,80,159,37,37,39, -248,22,187,14,80,159,37,45,39,20,18,159,11,80,158,36,56,248,80,159,37, -8,28,37,249,22,33,11,80,159,39,58,37,20,18,159,11,80,158,36,56,248, -80,159,37,8,28,37,249,22,33,11,80,159,39,58,37,159,36,20,114,159,36, -16,1,11,16,0,20,26,145,9,2,1,2,1,29,11,11,11,11,9,9,11, -11,11,10,38,80,158,36,36,20,114,159,41,16,29,2,2,2,3,30,2,6, -2,7,11,6,30,2,6,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,11,3,30,2,8,72,112,97,116,104, -45,115,116,114,105,110,103,63,38,196,12,2,9,30,2,8,71,114,101,114,111, -111,116,45,112,97,116,104,40,196,13,30,2,8,75,112,97,116,104,45,97,100, -100,45,115,117,102,102,105,120,40,196,9,2,10,2,11,2,12,2,13,2,14, -2,15,2,16,2,17,2,18,2,19,2,20,2,21,2,22,2,23,30,2,24, -2,7,11,6,30,2,8,79,112,97,116,104,45,114,101,112,108,97,99,101,45, -115,117,102,102,105,120,40,196,11,30,2,8,73,102,105,110,100,45,99,111,108, -45,102,105,108,101,44,196,4,30,2,8,76,110,111,114,109,97,108,45,99,97, -115,101,45,112,97,116,104,38,196,8,2,25,2,26,30,2,24,74,114,101,112, -97,114,97,109,101,116,101,114,105,122,101,11,7,16,0,37,39,36,16,0,36, -16,16,2,16,2,17,2,9,2,13,2,18,2,19,2,12,2,3,2,11,2, -2,2,21,2,14,2,15,2,10,2,20,2,23,52,11,11,11,16,3,2,25, -2,22,2,26,16,3,11,11,11,16,3,2,25,2,22,2,26,39,39,37,12, -11,11,16,0,16,0,16,0,36,36,11,12,11,11,16,0,16,0,16,0,36, -36,16,24,20,15,16,2,248,22,175,8,69,115,111,45,115,117,102,102,105,120, -80,159,36,36,37,20,15,16,2,88,163,36,38,8,43,8,189,3,2,3,223, -0,33,56,80,159,36,37,37,20,15,16,2,32,0,88,163,8,36,41,52,11, -2,10,222,33,57,80,159,36,44,37,20,15,16,2,20,27,158,32,0,88,163, -8,36,37,42,11,2,11,222,192,32,0,88,163,8,36,37,42,11,2,11,222, -192,80,159,36,45,37,20,15,16,2,247,22,140,2,80,159,36,41,37,20,15, -16,2,8,128,8,80,159,36,46,37,20,15,16,2,249,22,179,8,8,128,8, -11,80,159,36,47,37,20,15,16,2,88,163,8,36,37,50,8,128,32,2,14, -223,0,33,58,80,159,36,48,37,20,15,16,2,88,163,8,36,38,55,8,128, -32,2,15,223,0,33,59,80,159,36,49,37,20,15,16,2,247,22,75,80,159, -36,50,37,20,15,16,2,248,22,18,74,109,111,100,117,108,101,45,108,111,97, -100,105,110,103,80,159,36,51,37,20,15,16,2,11,80,158,36,52,20,15,16, -2,11,80,158,36,53,20,15,16,2,32,0,88,163,36,38,57,11,2,20,222, -33,78,80,159,36,54,37,20,15,16,2,32,0,88,163,8,36,37,49,11,2, -21,222,33,79,80,159,36,55,37,20,15,16,2,11,80,158,36,56,20,15,16, -2,88,164,8,34,37,45,8,240,0,0,80,0,1,21,112,114,101,112,45,112, -108,97,110,101,116,45,114,101,115,111,108,118,101,114,33,37,224,1,0,33,80, -80,159,36,8,29,39,20,15,16,2,88,163,36,37,50,8,240,0,0,3,0, -67,103,101,116,45,100,105,114,223,0,33,81,80,159,36,8,30,39,20,15,16, -2,88,163,36,37,49,8,240,0,0,128,0,72,112,97,116,104,45,115,115,45, -62,114,107,116,223,0,33,82,80,159,36,8,31,39,20,15,16,2,88,163,8, -36,37,45,8,240,0,0,4,0,9,223,0,33,83,80,159,36,8,32,39,20, -15,16,2,88,163,36,37,45,8,240,0,128,0,0,9,223,0,33,84,80,159, -36,8,33,39,20,15,16,2,27,11,20,19,158,36,90,159,37,10,89,161,37, -36,10,20,25,96,2,23,88,163,8,36,38,54,8,32,9,224,2,1,33,85, -88,163,36,39,49,11,9,223,0,33,86,88,163,36,40,8,32,16,4,8,240, -44,240,0,0,8,240,156,227,0,0,39,36,9,224,2,1,33,102,207,80,159, -36,57,37,20,15,16,2,88,163,36,36,45,16,2,8,130,8,8,176,65,2, -25,223,0,33,103,80,159,36,8,26,37,20,15,16,2,20,27,158,88,163,8, -36,36,45,16,2,36,8,144,65,2,26,223,0,33,104,88,163,8,36,36,45, -16,2,36,8,144,65,2,26,223,0,33,105,80,159,36,8,27,37,96,29,94, -2,4,68,35,37,107,101,114,110,101,108,11,29,94,2,4,69,35,37,109,105, -110,45,115,116,120,11,2,8,2,24,9,9,9,36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 10052); +62,249,22,170,7,23,199,1,248,22,178,3,23,201,1,250,2,63,23,196,4, +196,248,22,178,3,198,32,65,88,164,8,38,39,52,11,2,32,36,223,3,33, +72,32,66,88,164,8,38,39,51,11,2,32,36,223,3,33,69,32,67,88,164, +8,38,39,50,11,2,32,36,223,3,33,68,28,249,22,189,3,23,197,2,23, +195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23,198,2,23, +199,2,249,22,79,250,22,170,7,23,199,2,36,23,200,2,248,2,62,249,22, +170,7,23,199,1,248,22,178,3,23,201,1,250,2,67,23,196,4,196,248,22, +178,3,198,28,249,22,189,3,23,197,2,23,195,4,248,22,89,194,28,249,22, +130,9,7,47,249,22,152,7,23,198,2,23,199,2,249,22,79,250,22,170,7, +23,199,2,36,23,200,2,27,249,22,170,7,23,199,1,248,22,178,3,23,201, +1,19,248,22,151,7,23,195,2,250,2,67,23,196,4,23,197,1,36,2,27, +248,22,178,3,23,197,1,28,249,22,189,3,23,195,2,23,196,4,248,22,89, +195,28,249,22,130,9,7,47,249,22,152,7,23,199,2,23,197,2,249,22,79, +250,22,170,7,23,200,2,36,23,198,2,248,2,62,249,22,170,7,23,200,1, +248,22,178,3,23,199,1,250,2,66,23,197,4,197,248,22,178,3,196,32,70, +88,164,8,38,39,50,11,2,32,36,223,3,33,71,28,249,22,189,3,23,197, +2,23,195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23,198, +2,23,199,2,249,22,79,250,22,170,7,23,199,2,36,23,200,2,248,2,62, +249,22,170,7,23,199,1,248,22,178,3,23,201,1,250,2,70,23,196,4,196, +248,22,178,3,198,28,249,22,189,3,23,197,2,23,195,4,248,22,89,194,28, +249,22,130,9,7,47,249,22,152,7,23,198,2,23,199,2,249,22,79,250,22, +170,7,23,199,2,36,23,200,2,27,249,22,170,7,23,199,1,248,22,178,3, +23,201,1,19,248,22,151,7,23,195,2,250,2,66,23,196,4,23,197,1,36, +2,27,248,22,178,3,23,197,1,28,249,22,189,3,23,195,2,23,196,4,248, +22,89,195,28,249,22,130,9,7,47,249,22,152,7,23,199,2,23,197,2,249, +22,79,250,22,170,7,23,200,2,36,23,198,2,27,249,22,170,7,23,200,1, +248,22,178,3,23,199,1,19,248,22,151,7,23,195,2,250,2,70,23,196,4, +23,197,1,36,2,27,248,22,178,3,23,195,1,28,249,22,189,3,23,195,2, +23,197,4,248,22,89,196,28,249,22,130,9,7,47,249,22,152,7,23,200,2, +23,197,2,249,22,79,250,22,170,7,23,201,2,36,23,198,2,248,2,62,249, +22,170,7,23,201,1,248,22,178,3,23,199,1,250,2,65,23,198,4,198,248, +22,178,3,196,19,248,22,151,7,23,195,2,28,249,22,189,3,36,23,195,4, +248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23,198,2,36,249,22, +79,250,22,170,7,23,199,2,36,36,27,249,22,170,7,23,199,1,37,19,248, +22,151,7,23,195,2,250,2,63,23,196,4,23,197,1,36,2,28,249,22,189, +3,37,23,195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23, +198,2,37,249,22,79,250,22,170,7,23,199,2,36,37,248,2,62,249,22,170, +7,23,199,1,38,250,2,65,23,196,4,196,38,2,28,249,22,189,3,23,197, +2,23,195,4,248,22,89,194,28,249,22,130,9,7,47,249,22,152,7,23,198, +2,23,199,2,249,22,79,250,22,170,7,23,199,2,36,23,200,2,248,2,62, +249,22,170,7,23,199,1,248,22,178,3,23,201,1,250,2,61,23,196,4,196, +248,22,178,3,198,28,249,22,189,3,23,197,2,23,195,4,248,22,89,194,28, +249,22,130,9,7,47,249,22,152,7,23,198,2,23,199,2,249,22,79,250,22, +170,7,23,199,2,36,23,200,2,27,249,22,170,7,23,199,1,248,22,178,3, +23,201,1,19,248,22,151,7,23,195,2,250,2,61,23,196,4,23,197,1,36, +2,27,248,22,178,3,23,197,1,28,249,22,189,3,23,195,2,23,196,4,248, +22,89,195,28,249,22,130,9,7,47,249,22,152,7,23,199,2,23,197,2,249, +22,79,250,22,170,7,23,200,2,36,23,198,2,248,2,62,249,22,170,7,23, +200,1,248,22,178,3,23,199,1,250,2,60,23,197,4,197,248,22,178,3,196, +32,76,88,163,36,37,55,11,2,33,222,33,77,28,248,22,87,248,22,81,23, +195,2,249,22,7,9,248,22,136,18,23,196,1,90,159,38,11,89,161,38,36, +11,27,248,22,137,18,23,197,2,28,248,22,87,248,22,81,23,195,2,249,22, +7,9,248,22,136,18,195,90,159,38,11,89,161,38,36,11,27,248,22,137,18, +196,28,248,22,87,248,22,81,23,195,2,249,22,7,9,248,22,136,18,195,90, +159,38,11,89,161,38,36,11,248,2,76,248,22,137,18,196,249,22,7,249,22, +79,248,22,136,18,199,196,195,249,22,7,249,22,79,248,22,136,18,199,196,195, +249,22,7,249,22,79,248,22,136,18,23,200,1,23,197,1,23,196,1,27,19, +248,22,151,7,23,196,2,250,2,60,23,196,4,23,198,1,36,2,28,23,195, +1,192,28,248,22,87,248,22,81,23,195,2,249,22,7,9,248,22,136,18,23, +196,1,27,248,22,137,18,23,195,2,90,159,38,11,89,161,38,36,11,28,248, +22,87,248,22,81,23,197,2,249,22,7,9,248,22,136,18,23,198,1,27,248, +22,137,18,23,197,2,90,159,38,11,89,161,38,36,11,28,248,22,87,248,22, +81,23,197,2,249,22,7,9,248,22,136,18,197,90,159,38,11,89,161,38,36, +11,248,2,76,248,22,137,18,198,249,22,7,249,22,79,248,22,136,18,201,196, +195,249,22,7,249,22,79,248,22,136,18,23,203,1,196,195,249,22,7,249,22, +79,248,22,136,18,23,201,1,23,197,1,23,196,1,248,22,132,12,252,22,155, +10,248,22,160,4,23,200,2,248,22,156,4,23,200,2,248,22,157,4,23,200, +2,248,22,158,4,23,200,2,248,22,159,4,23,200,1,28,24,194,2,12,20, +13,159,80,159,36,58,37,80,158,36,56,89,161,37,37,10,249,22,190,4,21, +94,2,34,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,27,28,23,195,2,28,249,22, +163,9,23,197,2,80,158,39,52,86,94,23,195,1,80,158,37,53,27,248,22, +149,5,23,197,2,27,28,248,22,77,23,195,2,248,22,136,18,23,195,1,23, +194,1,28,248,22,154,15,23,194,2,90,159,39,11,89,161,39,36,11,248,22, +175,15,23,197,1,86,95,20,18,159,11,80,158,42,52,199,20,18,159,11,80, +158,42,53,192,192,11,11,28,23,193,2,192,86,94,23,193,1,27,247,22,173, +5,28,23,193,2,192,86,94,23,193,1,247,22,132,16,90,159,39,11,89,161, +39,36,11,248,22,175,15,23,198,2,86,95,23,195,1,23,193,1,28,249,22, +145,16,0,11,35,114,120,34,91,46,93,115,115,36,34,248,22,159,15,23,197, +1,249,80,159,41,59,39,23,199,1,2,28,196,249,80,159,38,54,39,195,10, +249,22,14,23,196,1,80,159,38,51,38,86,96,28,248,22,147,5,23,196,2, +12,250,22,172,11,2,23,6,21,21,114,101,115,111,108,118,101,100,45,109,111, +100,117,108,101,45,112,97,116,104,63,23,198,2,28,28,23,196,2,248,22,191, +13,23,197,2,10,12,250,22,172,11,2,23,6,20,20,40,111,114,47,99,32, +35,102,32,110,97,109,101,115,112,97,99,101,63,41,23,199,2,28,24,193,2, +248,24,194,1,23,196,2,86,94,23,193,1,12,27,250,22,157,2,80,159,41, +41,38,248,22,170,16,247,22,190,13,11,27,28,23,194,2,23,194,1,86,94, +23,194,1,27,249,22,79,247,22,137,2,247,22,137,2,86,94,250,22,155,2, +80,159,43,41,38,248,22,170,16,247,22,190,13,195,192,86,94,250,22,155,2, +248,22,80,23,197,2,23,200,2,68,100,101,99,108,97,114,101,100,28,23,198, +2,27,28,248,22,77,248,22,149,5,23,200,2,248,22,148,5,248,22,80,248, +22,149,5,23,201,1,23,198,1,27,250,22,157,2,80,159,44,41,38,248,22, +170,16,23,204,1,11,28,23,193,2,27,250,22,157,2,248,22,81,23,198,1, +23,198,2,11,28,23,193,2,250,22,155,2,248,22,137,18,23,200,1,23,198, +1,23,196,1,12,12,12,251,24,197,1,23,198,1,23,199,1,23,200,1,10, +32,87,88,163,36,38,47,11,76,102,108,97,116,116,101,110,45,115,117,98,45, +112,97,116,104,222,33,90,32,88,88,163,36,40,54,11,2,33,222,33,89,28, +248,22,87,23,197,2,28,248,22,87,195,192,249,22,79,194,248,22,94,197,28, +249,22,165,9,248,22,80,23,199,2,2,37,28,248,22,87,23,196,2,86,95, +23,196,1,23,195,1,250,22,168,11,2,23,6,37,37,116,111,111,32,109,97, +110,121,32,34,46,46,34,115,32,105,110,32,115,117,98,109,111,100,117,108,101, +32,112,97,116,104,58,32,126,46,115,250,22,90,2,36,28,249,22,165,9,23, +201,2,2,38,23,199,1,28,248,22,154,15,23,200,2,23,199,1,249,22,89, +28,248,22,64,23,202,2,2,4,2,39,23,201,1,23,200,1,251,2,88,196, +197,248,22,81,199,248,22,137,18,200,251,2,88,196,197,249,22,79,248,22,136, +18,202,200,248,22,137,18,200,251,2,88,196,197,9,197,27,250,22,171,7,27, +28,23,199,2,28,247,22,185,11,248,80,159,44,55,39,23,200,2,11,11,28, +192,192,6,29,29,115,116,97,110,100,97,114,100,45,109,111,100,117,108,101,45, +110,97,109,101,45,114,101,115,111,108,118,101,114,6,2,2,58,32,250,22,156, +16,0,7,35,114,120,34,92,110,34,23,203,1,249,22,132,8,6,23,23,10, +32,32,102,111,114,32,109,111,100,117,108,101,32,112,97,116,104,58,32,126,115, +10,23,202,2,248,22,162,13,28,23,196,2,251,22,170,12,23,198,1,247,22, +29,248,22,89,23,201,1,23,199,1,86,94,23,196,1,250,22,133,13,23,197, +1,247,22,29,23,198,1,28,249,22,154,7,194,2,38,2,29,28,249,22,154, +7,194,2,37,62,117,112,192,32,93,88,163,8,36,37,50,11,67,115,115,45, +62,114,107,116,222,33,94,19,248,22,151,7,194,28,249,22,129,4,23,195,4, +39,28,249,22,154,7,6,3,3,46,115,115,249,22,170,7,197,249,22,181,3, +23,199,4,39,249,22,171,7,250,22,170,7,198,36,249,22,181,3,23,200,4, +39,2,42,193,193,2,0,8,35,114,120,34,91,46,93,34,32,96,88,163,8, +36,37,47,11,2,33,222,33,97,28,248,22,87,23,194,2,9,250,22,90,6, +4,4,10,32,32,32,248,22,158,15,248,22,102,23,198,2,248,2,96,248,22, +81,23,198,1,28,249,22,165,9,248,22,81,23,200,2,23,197,1,28,249,22, +163,9,248,22,136,18,23,200,1,23,196,1,251,22,168,11,2,23,6,41,41, +99,121,99,108,101,32,105,110,32,108,111,97,100,105,110,103,10,32,32,97,116, +32,112,97,116,104,58,32,126,97,10,32,32,112,97,116,104,115,58,126,97,23, +200,1,249,22,1,22,171,7,248,2,96,248,22,94,23,201,1,12,12,247,23, +193,1,250,22,154,4,11,196,195,20,13,159,80,159,45,50,38,249,22,79,249, +22,79,248,22,170,16,247,22,190,13,23,201,1,23,195,1,20,13,159,80,159, +45,38,37,252,80,159,50,39,37,249,22,33,11,80,159,52,38,37,22,187,4, +23,200,2,22,189,4,248,28,23,207,2,20,20,94,88,163,8,36,37,46,11, +9,223,14,33,100,23,207,1,86,94,23,207,1,22,7,28,248,22,64,23,206, +2,23,205,1,28,28,248,22,77,23,206,2,249,22,163,9,248,22,136,18,23, +208,2,2,34,11,23,205,1,86,94,23,205,1,28,248,22,147,5,23,202,2, +27,248,22,149,5,23,203,2,28,248,22,64,193,249,22,89,2,4,194,192,23, +201,2,249,247,22,172,5,23,200,1,27,248,22,67,248,22,158,15,23,201,1, +28,23,203,2,28,250,22,157,2,248,22,80,23,201,1,23,201,1,11,249,22, +79,11,204,249,22,79,194,204,192,86,96,28,248,22,157,5,23,196,2,12,28, +248,22,152,4,23,198,2,250,22,170,11,11,6,15,15,98,97,100,32,109,111, +100,117,108,101,32,112,97,116,104,23,200,2,250,22,172,11,2,23,2,35,23, +198,2,28,28,23,196,2,248,22,147,5,23,197,2,10,12,250,22,172,11,2, +23,6,31,31,40,111,114,47,99,32,35,102,32,114,101,115,111,108,118,101,100, +45,109,111,100,117,108,101,45,112,97,116,104,63,41,23,199,2,28,28,23,197, +2,248,22,152,4,23,198,2,10,12,250,22,172,11,2,23,6,17,17,40,111, +114,47,99,32,35,102,32,115,121,110,116,97,120,63,41,23,200,2,28,28,248, +22,77,23,196,2,249,22,163,9,248,22,136,18,23,198,2,2,4,11,86,97, +23,198,1,23,197,1,23,196,1,23,193,1,248,22,148,5,248,22,101,23,197, +1,28,28,248,22,77,23,196,2,28,249,22,163,9,248,22,136,18,23,198,2, +2,36,28,248,22,77,248,22,101,23,197,2,249,22,163,9,248,22,105,23,198, +2,2,4,11,11,11,86,97,23,198,1,23,197,1,23,196,1,23,193,1,248, +22,148,5,249,2,87,248,22,118,23,199,2,248,22,103,23,199,1,28,28,248, +22,77,23,196,2,28,249,22,163,9,248,22,136,18,23,198,2,2,36,28,28, +249,22,165,9,248,22,101,23,198,2,2,38,10,249,22,165,9,248,22,101,23, +198,2,2,37,28,23,196,2,27,248,22,149,5,23,198,2,28,248,22,64,193, +10,28,248,22,77,193,248,22,64,248,22,136,18,194,11,11,11,11,11,86,96, +23,198,1,23,197,1,23,193,1,27,248,22,149,5,23,198,1,248,22,148,5, +249,2,87,28,248,22,77,23,197,2,248,22,136,18,23,197,2,23,196,2,27, +28,249,22,165,9,248,22,101,23,203,2,2,37,248,22,137,18,200,248,22,103, +200,28,248,22,77,23,198,2,249,22,93,248,22,137,18,199,194,192,28,28,248, +22,77,23,196,2,249,22,163,9,248,22,136,18,23,198,2,2,40,11,86,94, +248,80,159,38,8,29,39,23,194,2,253,24,199,1,23,201,1,23,202,1,23, +203,1,23,204,1,11,80,158,43,56,28,28,248,22,77,23,196,2,28,249,22, +163,9,248,22,136,18,23,198,2,2,36,28,248,22,77,248,22,101,23,197,2, +249,22,163,9,248,22,105,23,198,2,2,40,11,11,11,86,94,248,80,159,38, +8,29,39,23,194,2,253,24,199,1,248,22,101,23,202,2,23,202,1,23,203, +1,23,204,1,248,22,103,23,202,1,80,158,43,56,86,94,23,193,1,27,88, +163,8,36,37,54,8,240,0,0,8,0,79,115,104,111,119,45,99,111,108,108, +101,99,116,105,111,110,45,101,114,114,225,2,5,3,33,91,27,28,248,22,77, +23,198,2,28,249,22,163,9,2,36,248,22,136,18,23,200,2,27,248,22,101, +23,199,2,28,28,249,22,165,9,23,195,2,2,38,10,249,22,165,9,23,195, +2,2,37,86,94,23,193,1,28,23,199,2,27,248,22,149,5,23,201,2,28, +248,22,77,193,248,22,136,18,193,192,250,22,168,11,2,23,6,45,45,110,111, +32,98,97,115,101,32,112,97,116,104,32,102,111,114,32,114,101,108,97,116,105, +118,101,32,115,117,98,109,111,100,117,108,101,32,112,97,116,104,58,32,126,46, +115,23,201,2,192,23,197,2,23,197,2,27,28,248,22,77,23,199,2,28,249, +22,163,9,2,36,248,22,136,18,23,201,2,27,28,28,28,249,22,165,9,248, +22,101,23,202,2,2,38,10,249,22,165,9,248,22,101,23,202,2,2,37,23, +200,2,11,27,248,22,149,5,23,202,2,27,28,249,22,165,9,248,22,101,23, +204,2,2,37,248,22,137,18,23,202,1,248,22,103,23,202,1,28,248,22,77, +23,195,2,249,2,87,248,22,136,18,23,197,2,249,22,93,248,22,137,18,23, +199,1,23,197,1,249,2,87,23,196,1,23,195,1,249,2,87,2,38,28,249, +22,165,9,248,22,101,23,204,2,2,37,248,22,137,18,23,202,1,248,22,103, +23,202,1,28,248,22,77,193,248,22,137,18,193,11,11,11,27,28,248,22,64, +23,196,2,27,248,80,159,43,48,39,249,22,79,23,199,2,247,22,134,16,28, +23,193,2,192,86,94,23,193,1,90,159,38,11,89,161,38,36,11,249,80,159, +46,54,39,248,22,70,23,201,2,11,27,28,248,22,87,23,195,2,2,41,249, +22,171,7,23,197,2,2,42,251,80,159,49,8,24,39,23,204,1,28,248,22, +87,23,199,2,23,199,1,86,94,23,199,1,248,22,80,23,199,2,28,248,22, +87,23,199,2,86,94,23,198,1,9,248,22,137,18,23,199,1,23,197,1,28, +248,22,148,7,23,196,2,86,94,23,196,1,27,248,80,159,43,8,30,39,23, +202,2,27,248,80,159,44,48,39,249,22,79,23,200,2,23,197,2,28,23,193, +2,192,86,94,23,193,1,90,159,38,11,89,161,38,36,11,249,80,159,47,54, +39,23,201,2,11,250,22,1,22,172,15,23,199,1,249,22,93,249,22,2,32, +0,88,163,8,36,37,44,11,9,222,33,92,23,200,1,248,22,89,248,2,93, +23,201,1,28,248,22,154,15,23,196,2,86,94,23,196,1,248,80,159,42,8, +31,39,248,22,182,15,28,248,22,179,15,23,198,2,23,197,2,249,22,180,15, +23,199,2,248,80,159,46,8,30,39,23,205,2,28,249,22,163,9,248,22,80, +23,198,2,2,34,27,248,80,159,43,48,39,249,22,79,23,199,2,247,22,134, +16,28,23,193,2,192,86,94,23,193,1,90,159,39,11,89,161,38,36,11,249, +80,159,47,54,39,248,22,101,23,202,2,11,89,161,37,38,11,28,248,22,87, +248,22,103,23,201,2,28,248,22,87,23,194,2,249,22,149,16,2,95,23,196, +2,11,10,27,28,23,196,2,248,2,93,23,196,2,28,248,22,87,23,195,2, +2,41,28,249,22,149,16,2,95,23,197,2,248,2,93,23,196,2,249,22,171, +7,23,197,2,2,42,27,28,23,197,1,86,94,23,196,1,249,22,93,28,248, +22,87,248,22,103,23,205,2,21,93,6,5,5,109,122,108,105,98,249,22,1, +22,93,249,22,2,80,159,53,8,32,39,248,22,103,23,208,2,23,197,1,28, +248,22,87,23,196,2,86,94,23,195,1,248,22,89,23,197,1,86,94,23,196, +1,23,195,1,251,80,159,51,8,24,39,23,206,1,248,22,80,23,198,2,248, +22,137,18,23,198,1,23,198,1,28,249,22,163,9,248,22,136,18,23,198,2, +2,39,248,80,159,42,8,31,39,248,22,182,15,249,22,180,15,248,22,184,15, +248,22,101,23,201,2,248,80,159,46,8,30,39,23,205,2,12,86,94,28,28, +248,22,154,15,23,194,2,10,248,22,178,8,23,194,2,12,28,23,201,2,250, +22,170,11,67,114,101,113,117,105,114,101,249,22,132,8,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,80, +23,199,2,6,0,0,23,204,2,250,22,172,11,2,23,2,35,23,198,2,27, +28,248,22,178,8,23,195,2,249,22,183,8,23,196,2,36,249,22,182,15,248, +22,183,15,23,197,2,11,27,28,248,22,178,8,23,196,2,249,22,183,8,23, +197,2,37,248,80,159,44,8,25,39,23,195,2,90,159,39,11,89,161,39,36, +11,28,248,22,178,8,23,199,2,250,22,7,2,43,249,22,183,8,23,203,2, +38,2,43,248,22,175,15,23,198,2,86,95,23,195,1,23,193,1,27,28,248, +22,178,8,23,200,2,249,22,183,8,23,201,2,39,249,80,159,49,59,39,23, +197,2,5,0,27,28,248,22,178,8,23,201,2,249,22,183,8,23,202,2,40, +248,22,148,5,23,200,2,27,250,22,157,2,80,159,52,41,38,248,22,170,16, +247,22,190,13,11,27,28,23,194,2,23,194,1,86,94,23,194,1,27,249,22, +79,247,22,137,2,247,22,137,2,86,94,250,22,155,2,80,159,54,41,38,248, +22,170,16,247,22,190,13,195,192,27,28,23,204,2,248,22,148,5,249,22,79, +248,22,149,5,23,200,2,23,207,2,23,196,2,86,95,28,23,212,1,27,250, +22,157,2,248,22,80,23,199,2,196,11,28,23,193,1,12,27,27,28,248,22, +17,80,159,55,51,38,80,159,54,51,38,247,22,19,251,22,33,11,80,159,58, +50,38,9,23,197,1,27,248,22,170,16,247,22,190,13,86,94,249,22,3,20, +20,94,88,163,8,36,37,54,11,9,226,14,13,2,3,33,98,23,195,1,23, +196,2,248,28,248,22,17,80,159,56,51,38,32,0,88,163,36,37,42,11,9, +222,33,99,80,159,55,8,33,39,20,20,97,88,163,36,36,8,24,8,240,12, +64,0,0,9,232,19,22,15,16,13,12,8,7,5,2,33,101,23,195,1,23, +198,1,23,208,1,23,215,1,12,28,28,248,22,178,8,23,204,1,11,28,248, +22,148,7,23,206,2,10,28,248,22,64,23,206,2,10,28,248,22,77,23,206, +2,249,22,163,9,248,22,136,18,23,208,2,2,34,11,249,80,159,53,49,39, +28,248,22,148,7,23,208,2,249,22,79,23,209,1,248,80,159,56,8,30,39, +23,215,1,86,94,23,212,1,249,22,79,23,209,1,247,22,134,16,252,22,180, +8,23,209,1,23,208,1,23,206,1,23,204,1,23,203,1,12,192,86,96,20, +18,159,11,80,158,36,56,248,80,159,37,8,28,37,249,22,33,11,80,159,39, +58,37,248,22,186,4,80,159,37,57,38,248,22,172,5,80,159,37,37,39,248, +22,187,14,80,159,37,45,39,20,18,159,11,80,158,36,56,248,80,159,37,8, +28,37,249,22,33,11,80,159,39,58,37,20,18,159,11,80,158,36,56,248,80, +159,37,8,28,37,249,22,33,11,80,159,39,58,37,159,36,20,114,159,36,16, +1,11,16,0,20,26,145,9,2,1,2,1,29,11,11,11,11,9,9,11,11, +11,10,38,80,158,36,36,20,114,159,41,16,29,2,2,2,3,30,2,6,2, +7,11,6,30,2,6,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,11,3,30,2,8,72,112,97,116,104,45, +115,116,114,105,110,103,63,38,196,12,2,9,30,2,8,71,114,101,114,111,111, +116,45,112,97,116,104,40,196,13,30,2,8,75,112,97,116,104,45,97,100,100, +45,115,117,102,102,105,120,40,196,9,2,10,2,11,2,12,2,13,2,14,2, +15,2,16,2,17,2,18,2,19,2,20,2,21,2,22,2,23,30,2,24,2, +7,11,6,30,2,8,79,112,97,116,104,45,114,101,112,108,97,99,101,45,115, +117,102,102,105,120,40,196,11,30,2,8,73,102,105,110,100,45,99,111,108,45, +102,105,108,101,44,196,4,30,2,8,76,110,111,114,109,97,108,45,99,97,115, +101,45,112,97,116,104,38,196,8,2,25,2,26,30,2,24,74,114,101,112,97, +114,97,109,101,116,101,114,105,122,101,11,7,16,0,37,39,36,16,0,36,16, +16,2,16,2,17,2,9,2,13,2,18,2,19,2,12,2,3,2,11,2,2, +2,21,2,14,2,15,2,10,2,20,2,23,52,11,11,11,16,3,2,25,2, +22,2,26,16,3,11,11,11,16,3,2,25,2,22,2,26,39,39,37,12,11, +11,16,0,16,0,16,0,36,36,11,12,11,11,16,0,16,0,16,0,36,36, +16,24,20,15,16,2,248,22,175,8,69,115,111,45,115,117,102,102,105,120,80, +159,36,36,37,20,15,16,2,88,163,36,38,8,43,8,189,3,2,3,223,0, +33,56,80,159,36,37,37,20,15,16,2,32,0,88,163,8,36,41,52,11,2, +10,222,33,57,80,159,36,44,37,20,15,16,2,20,27,158,32,0,88,163,8, +36,37,42,11,2,11,222,192,32,0,88,163,8,36,37,42,11,2,11,222,192, +80,159,36,45,37,20,15,16,2,247,22,140,2,80,159,36,41,37,20,15,16, +2,8,128,8,80,159,36,46,37,20,15,16,2,249,22,179,8,8,128,8,11, +80,159,36,47,37,20,15,16,2,88,163,8,36,37,50,8,128,32,2,14,223, +0,33,58,80,159,36,48,37,20,15,16,2,88,163,8,36,38,55,8,128,32, +2,15,223,0,33,59,80,159,36,49,37,20,15,16,2,247,22,75,80,159,36, +50,37,20,15,16,2,248,22,18,74,109,111,100,117,108,101,45,108,111,97,100, +105,110,103,80,159,36,51,37,20,15,16,2,11,80,158,36,52,20,15,16,2, +11,80,158,36,53,20,15,16,2,32,0,88,163,36,38,57,11,2,20,222,33, +78,80,159,36,54,37,20,15,16,2,32,0,88,163,8,36,37,49,11,2,21, +222,33,79,80,159,36,55,37,20,15,16,2,11,80,158,36,56,20,15,16,2, +88,164,8,34,37,45,8,240,0,0,80,0,1,21,112,114,101,112,45,112,108, +97,110,101,116,45,114,101,115,111,108,118,101,114,33,37,224,1,0,33,80,80, +159,36,8,29,39,20,15,16,2,88,163,36,37,50,8,240,0,0,3,0,67, +103,101,116,45,100,105,114,223,0,33,81,80,159,36,8,30,39,20,15,16,2, +88,163,36,37,49,8,240,0,0,128,0,72,112,97,116,104,45,115,115,45,62, +114,107,116,223,0,33,82,80,159,36,8,31,39,20,15,16,2,88,163,8,36, +37,45,8,240,0,0,4,0,9,223,0,33,83,80,159,36,8,32,39,20,15, +16,2,88,163,36,37,45,8,240,0,128,0,0,9,223,0,33,84,80,159,36, +8,33,39,20,15,16,2,27,11,20,19,158,36,90,159,37,10,89,161,37,36, +10,20,25,96,2,23,88,163,8,36,38,54,8,32,9,224,2,1,33,85,88, +163,36,39,49,11,9,223,0,33,86,88,163,36,40,8,32,16,4,8,240,44, +240,0,0,8,240,156,227,0,0,39,36,9,224,2,1,33,102,207,80,159,36, +57,37,20,15,16,2,88,163,36,36,45,16,2,8,130,8,8,176,65,2,25, +223,0,33,103,80,159,36,8,26,37,20,15,16,2,20,27,158,88,163,8,36, +36,45,16,2,36,8,144,65,2,26,223,0,33,104,88,163,8,36,36,45,16, +2,36,8,144,65,2,26,223,0,33,105,80,159,36,8,27,37,96,29,94,2, +4,68,35,37,107,101,114,110,101,108,11,29,94,2,4,69,35,37,109,105,110, +45,115,116,120,11,2,8,2,24,9,9,9,36,0}; + EVAL_ONE_SIZED_STR((char *)expr, 10051); } { - SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,51,46,57,48,48,46,55,84,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,1,0,0,10,0, -16,0,29,0,44,0,58,0,78,0,90,0,104,0,118,0,170,0,0,0,99, -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,74,35,37,112,108,97,99,101,45,115,116,114,117,99,116,11,29,94,2, -2,66,35,37,98,111,111,116,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, -227,92,0,0,100,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,8,36,36,159,2,9,36,36,159,2, -9,36,36,16,0,159,36,20,114,159,36,16,1,11,16,0,20,26,145,9,2, -1,2,1,29,11,11,11,11,9,9,11,11,11,18,96,11,46,46,46,36,80, -158,36,36,20,114,159,36,16,0,16,0,37,39,36,16,0,36,16,0,36,11, -11,11,16,0,16,0,16,0,36,36,37,12,11,11,16,0,16,0,16,0,36, -36,11,12,11,11,16,0,16,0,16,0,36,36,16,0,104,2,9,2,8,29, -94,2,2,69,35,37,102,111,114,101,105,103,110,11,29,94,2,2,68,35,37, -117,110,115,97,102,101,11,29,94,2,2,69,35,37,102,108,102,120,110,117,109, -11,2,7,2,6,2,5,2,4,2,3,29,94,2,2,67,35,37,112,108,97, -99,101,11,29,94,2,2,69,35,37,102,117,116,117,114,101,115,11,9,9,9, -36,0}; - EVAL_ONE_SIZED_STR((char *)expr, 421); + SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,8,53,46,57,48,46,48,46,49,84,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,1,0,0,10,0,16, +0,29,0,44,0,58,0,78,0,90,0,104,0,118,0,170,0,0,0,99,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,74,35,37,112,108,97,99,101,45,115,116,114,117,99,116,11,29,94,2,2, +66,35,37,98,111,111,116,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,227, +92,0,0,100,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,8,36,36,159,2,9,36,36,159,2,9, +36,36,16,0,159,36,20,114,159,36,16,1,11,16,0,20,26,145,9,2,1, +2,1,29,11,11,11,11,9,9,11,11,11,18,96,11,46,46,46,36,80,158, +36,36,20,114,159,36,16,0,16,0,37,39,36,16,0,36,16,0,36,11,11, +11,16,0,16,0,16,0,36,36,37,12,11,11,16,0,16,0,16,0,36,36, +11,12,11,11,16,0,16,0,16,0,36,36,16,0,104,2,9,2,8,29,94, +2,2,69,35,37,102,111,114,101,105,103,110,11,29,94,2,2,68,35,37,117, +110,115,97,102,101,11,29,94,2,2,69,35,37,102,108,102,120,110,117,109,11, +2,7,2,6,2,5,2,4,2,3,29,94,2,2,67,35,37,112,108,97,99, +101,11,29,94,2,2,69,35,37,102,117,116,117,114,101,115,11,9,9,9,36, +0}; + EVAL_ONE_SIZED_STR((char *)expr, 420); } diff --git a/racket/src/racket/src/schvers.h b/racket/src/racket/src/schvers.h index e5d1c77bcb..409192e995 100644 --- a/racket/src/racket/src/schvers.h +++ b/racket/src/racket/src/schvers.h @@ -13,12 +13,12 @@ consistently.) */ -#define MZSCHEME_VERSION "5.3.900.7" +#define MZSCHEME_VERSION "5.90.0.1" #define MZSCHEME_VERSION_X 5 -#define MZSCHEME_VERSION_Y 3 -#define MZSCHEME_VERSION_Z 900 -#define MZSCHEME_VERSION_W 7 +#define MZSCHEME_VERSION_Y 90 +#define MZSCHEME_VERSION_Z 0 +#define MZSCHEME_VERSION_W 1 #define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y) #define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W) diff --git a/racket/src/racket/src/startup.inc b/racket/src/racket/src/startup.inc index 33f294aff1..4491924adc 100644 --- a/racket/src/racket/src/startup.inc +++ b/racket/src/racket/src/startup.inc @@ -436,8 +436,8 @@ "(ht(get-config-table d))" "(lf(coerce-to-path" "(or(hash-ref ht 'links-file #f)" -"(build-path(or(hash-ref ht 'lib-dir #f)" -" 'up)" +"(build-path(or(hash-ref ht 'share-dir #f)" +" (build-path 'up \"share\"))" " \"links.rktd\")))))" "(list->vector" "(add-config-search" diff --git a/racket/src/racket/src/startup.rktl b/racket/src/racket/src/startup.rktl index 4de9c1afc7..7bbf4a68bd 100644 --- a/racket/src/racket/src/startup.rktl +++ b/racket/src/racket/src/startup.rktl @@ -517,8 +517,8 @@ [ht (get-config-table d)] [lf (coerce-to-path (or (hash-ref ht 'links-file #f) - (build-path (or (hash-ref ht 'lib-dir #f) - 'up) + (build-path (or (hash-ref ht 'share-dir #f) + (build-path 'up "share")) "links.rktd")))]) (list->vector (add-config-search diff --git a/racket/src/worksp/build.bat b/racket/src/worksp/build.bat index 5c7bf16dd7..0229072bac 100644 --- a/racket/src/worksp/build.bat +++ b/racket/src/worksp/build.bat @@ -10,6 +10,7 @@ if defined VCEXP set DEVENV=%VCEXP% if not exist ..\..\etc mkdir ..\..\etc if not exist ..\..\doc mkdir ..\..\doc +if not exist ..\..\share mkdir ..\..\share if not defined BUILD_CONFIG set BUILD_CONFIG=..\..\etc @@ -49,11 +50,11 @@ cd mzcom if errorlevel 1 exit /B 1 cd .. -copy ..\COPYING-libscheme.txt ..\..\lib\ +copy ..\COPYING-libscheme.txt ..\..\share\ if errorlevel 1 exit /B 1 -copy ..\COPYING_LESSER.txt ..\..\lib\ +copy ..\COPYING_LESSER.txt ..\..\share\ if errorlevel 1 exit /B 1 -copy ..\COPYING.txt ..\..\lib\ +copy ..\COPYING.txt ..\..\share\ if errorlevel 1 exit /B 1 ..\..\racket -G %BUILD_CONFIG% -N "raco setup" %SELF_RACKET_FLAGS% -l- setup %PLT_SETUP_OPTIONS%