diff --git a/all.html b/all.html index 1403afc..9b6a1fa 100644 --- a/all.html +++ b/all.html @@ -840,7 +840,7 @@ function main() {

Imports

-cimport, git, types, plugin, compat +cimport, build, types, plugin, compat
@@ -850,7 +850,7 @@ function main() { diff --git a/build.html b/build.html new file mode 100644 index 0000000..d470cfd --- /dev/null +++ b/build.html @@ -0,0 +1,1241 @@ + + + + + + + + + + + + + + + + + +build + + + + + + + + +
+
+

build

+
+ +
+
+ +

+ +
+

Procs

+
+ +
proc sanitizePath(path: string; noQuote = false; sep = $'/'): string {...}{.raises: [], tags: [].}
+
+ + + +
+ +
proc sleep(milsecs: int) {...}{.raises: [], tags: [].}
+
+ +Sleep at compile time + +
+ +
proc execAction(cmd: string; retry = 0; nostderr = false): string {...}{.
+    raises: [OSError, Exception, IOError, Defect],
+    tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +

Execute an external command - supported at compile time

+

Checks if command exits successfully before returning. If not, an error is raised.

+ + +
+ +
proc findExe(exe: string): string {...}{.raises: [], tags: [].}
+
+ +Find the specified executable using the which/where command - supported at compile time + +
+ +
proc mkDir(dir: string) {...}{.raises: [OSError, Exception, IOError, Defect, ValueError], tags: [
+    ReadDirEffect, ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +

Create a directory at compile time

+

The os module is not available at compile time so a few crucial helper functions are included with nimterop.

+ + +
+ +
proc cpFile(source, dest: string; move = false) {...}{.
+    raises: [OSError, Exception, IOError, Defect, ValueError],
+    tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +Copy a file from source to dest at compile time + +
+ +
proc mvFile(source, dest: string) {...}{.raises: [OSError, Exception, IOError, Defect,
+                                        ValueError],
+                                tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +Move a file from source to dest at compile time + +
+ +
proc rmFile(source: string; dir = false) {...}{.raises: [OSError, Exception, IOError, Defect,
+    ValueError], tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +Remove a file or pattern at compile time + +
+ +
proc rmDir(source: string) {...}{.raises: [OSError, Exception, IOError, Defect, ValueError],
+                          tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +Remove a directory or pattern at compile time + +
+ +
proc extractZip(zipfile, outdir: string) {...}{.raises: [OSError, Exception, IOError, Defect,
+    ValueError], tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +Extract a zip file using powershell on Windows and unzip on other systems to the specified output directory + +
+ +
proc extractTar(tarfile, outdir: string) {...}{.raises: [ValueError, OSError, Exception,
+    IOError, Defect], tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +Extract a tar file using tar, 7z or 7za to the specified output directory + +
+ +
proc downloadUrl(url, outdir: string) {...}{.raises: [OSError, Exception, IOError, Defect,
+    ValueError], tags: [ReadDirEffect, ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +

Download a file using curl or wget (or powershell on Windows) to the specified directory

+

If an archive file, it is automatically extracted after download.

+ + +
+ +
proc gitReset(outdir: string) {...}{.raises: [ValueError, OSError, Exception, IOError, Defect],
+                             tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +Hard reset the git repository at the specified directory + +
+ +
proc gitCheckout(file, outdir: string) {...}{.raises: [ValueError, OSError, Exception,
+    IOError, Defect], tags: [ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +

Checkout the specified file in the git repository at outdir

+

This effectively resets all changes in the file and can be used to undo any changes that were made to source files to enable successful wrapping with cImport() or c2nImport().

+ + +
+ +
proc gitPull(url: string; outdir = ""; plist = ""; checkout = "") {...}{.
+    raises: [ValueError, OSError, Exception, IOError, Defect], tags: [ReadDirEffect,
+    ExecIOEffect, ReadIOEffect, RootEffect, WriteIOEffect].}
+
+ +

Pull the specified git repository to the output directory

+

plist is the list of specific files and directories or wildcards to sparsely checkout. Multiple values can be specified one entry per line. It is optional and if omitted, the entire repository will be checked out.

+

checkout is the git tag, branch or commit hash to checkout once the repository is downloaded. This allows for pinning to a specific version of the code.

+ + +
+ +
proc findFile(file: string | Regex; dir: string; recurse = true; first = false): string
+
+ +

Find the file in the specified directory

+

file can be a string or a regex object

+

Turn off recursive search with recurse and stop on first match with first. Without it, the shortest match is returned.

+ + +
+ +
proc flagBuild(base: string; flags: openArray[string]): string {...}{.raises: [ValueError],
+    tags: [].}
+
+ +

Simple helper proc to generate flags for configure, cmake, etc.

+

Every entry in flags is replaced into the base string and concatenated to the result.

+
E.g.
+
base = "--disable-$#" flags = @["one", "two"]
+
+

flagBuild(base, flags) => " --disable-one --disable-two"

+ + +
+ +
proc configure(path, check: string; flags = "") {...}{.
+    raises: [OSError, Exception, IOError, Defect, ValueError],
+    tags: [ReadDirEffect, ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +

Run the GNU configure command to generate all Makefiles or other build scripts in the specified path

+

If a configure script is not present and an autogen.sh script is present, it will be run before attempting configure.

+

Next, if configure.ac or configure.in exist, autoreconf will be executed.

+

check is a file that will be generated by the configure command. This is required to prevent configure from running on every build. It is relative to the path and should not be an absolute path.

+

flags are any flags that should be passed to the configure command.

+ + +
+ +
proc getCmakeIncludePath(paths: openArray[string]): string {...}{.raises: [], tags: [].}
+
+ +

Create a cmake flag to specify custom include paths

+

Result can be included in the flag parameter for cmake() or the cmakeFlags parameter for getHeader().

+ + +
+ +
proc setCmakeProperty(outdir, name, property, value: string) {...}{.
+    raises: [IOError, ValueError],
+    tags: [ReadDirEffect, WriteIOEffect, ReadIOEffect].}
+
+ +

Set a cmake property in outdir / CMakeLists.txt - usable in the xxxPreBuild hook for getHeader()

+

set_target_properties(name PROPERTIES property "value")

+ + +
+ +
proc setCmakeLibName(outdir, name, prefix = ""; oname = ""; suffix = "") {...}{.
+    raises: [ValueError, IOError],
+    tags: [ReadDirEffect, WriteIOEffect, ReadIOEffect].}
+
+ +

Set a cmake property in outdir / CMakeLists.txt to specify a custom library output name - usable in the xxxPreBuild hook for getHeader()

+

prefix is typically lib oname is the library name suffix is typically .a

+

Sometimes, cmake generates non-standard library names - e.g. zlib compiles to libzlibstatic.a on Windows. This proc can help rename it to libzlib.a so that getHeader() can find it after the library is compiled.

+

+set_target_properties(name PROPERTIES PREFIX "prefix")
+set_target_properties(name PROPERTIES OUTPUT_NAME "oname")
+set_target_properties(name PROPERTIES SUFFIX "suffix")
+

+ + +
+ +
proc setCmakePositionIndependentCode(outdir: string) {...}{.raises: [IOError],
+    tags: [ReadDirEffect, ReadIOEffect, WriteIOEffect].}
+
+ +Set a cmake directive to create libraries with -fPIC enabled + +
+ +
proc cmake(path, check, flags: string) {...}{.raises: [OSError, Exception, IOError, Defect,
+    ValueError], tags: [ReadDirEffect, ExecIOEffect, ReadIOEffect, RootEffect].}
+
+ +

Run the cmake command to generate all Makefiles or other build scripts in the specified path

+

path will be created since typically cmake is run in an empty directory.

+

check is a file that will be generated by the cmake command. This is required to prevent cmake from running on every build. It is relative to the path and should not be an absolute path.

+

flags are any flags that should be passed to the cmake command. Unlike configure, it is required since typically it will be the path to the repository, typically .. when path is a subdir.

+ + +
+ +
proc make(path, check: string | Regex; flags = "")
+
+ +

Run the make command to build all binaries in the specified path

+

check is a file that will be generated by the make command. This is required to prevent make from running on every build. It is relative to the path and should not be an absolute path.

+

flags are any flags that should be passed to the make command.

+

If make.exe is missing and mingw32-make.exe is available, it will be copied over to make.exe in the same location.

+ + +
+ +
proc getGccPaths(mode = "c"): seq[string] {...}{.raises: [ValueError], tags: [ReadEnvEffect].}
+
+ + + +
+ +
proc getGccLibPaths(mode = "c"): seq[string] {...}{.raises: [ValueError],
+    tags: [ReadEnvEffect].}
+
+ + + +
+ +
+
+

Macros

+
+ +
macro setDefines(defs: static openArray[string]): untyped
+
+ +

Specify -d:xxx values in code instead of having to rely on the command line or cfg or nims files.

+

At this time, Nim does not allow creation of -d:xxx defines in code. In addition, Nim only loads config files for the module being compiled but not for imported packages. This becomes a challenge when wanting to ship a wrapper library that wants to control getHeader() for an underlying package.

+

E.g. nimarchive wanting to set -d:lzmaStatic

+

The consumer of nimarchive would need to set such defines as part of their project, making it inconvenient.

+

By calling this proc with the defines preferred before importing such a module, the caller can set the behavior in code instead.

+
setDefines(@["lzmaStatic", "lzmaDL", "lzmaSetVer=5.2.4"])
+
+import lzma
+ +
+ +
macro clearDefines(): untyped
+
+ +Clear all defines set using setDefines(). + +
+ +
macro getHeader(header: static[string]; giturl: static[string] = "";
+               dlurl: static[string] = ""; outdir: static[string] = "";
+               conFlags: static[string] = ""; cmakeFlags: static[string] = "";
+               makeFlags: static[string] = ""; altNames: static[string] = ""): untyped
+
+ +

Get the path to a header file for wrapping with cImport() or c2nImport().

+

This proc checks -d:xxx defines based on the header name (e.g. lzma from lzma.h), and accordingly employs different ways to obtain the source.

+

-d:xxxStd - search standard system paths. E.g. /usr/include and /usr/lib on Linux -d:xxxGit - clone source from a git repo specified in giturl -d:xxxDL - download source from dlurl and extract if required

+

This allows a single wrapper to be used in different ways depending on the user's needs. If no -d:xxx defines are specified, outdir will be searched for the header as is.

+

-d:xxxSetVer=x.y.z can be used to specify which version to use. It is used as a tag name for Git whereas for DL, it replaces $1 in the URL defined.

+

All defines can also be set in code using setDefines().

+

The library is then configured (with cmake or autotools if possible) and built using make, unless using -d:xxxStd which presumes that the system package manager was used to install prebuilt headers and binaries.

+

The header path is stored in const xxxPath and can be used in a cImport() call in the calling wrapper. The dynamic library path is stored in const xxxLPath and can be used for the dynlib parameter (within quotes) or with {.passL.}.

+

-d:xxxStatic can be specified to statically link with the library instead. This will automatically add a {.passL.} call to the static library for convenience.

+

conFlags, cmakeFlags and makeFlags allow sending custom parameters to configure, cmake and make in case additional configuration is required as part of the build process.

+

altNames is a list of alternate names for the library - e.g. zlib uses zlib.h for the header but the typical lib name is libz.so and not libzlib.so. In this case, altNames = "z". Comma separate for multiple alternate names.

+

xxxPreBuild is a hook that is called after the source code is pulled from Git or downloaded but before the library is built. This might be needed if some initial prep needs to be done before compilation. A few values are provided to the hook to help provide context:

+

outdir is the same outdir passed in and header is the discovered header path in the downloaded source code.

+

Simply define proc xxxPreBuild(outdir, header: string) in the wrapper and it will get called prior to the build process.

+ + +
+ +
+ +
+
+ +
+ +
+
+
+ + + diff --git a/build.idx b/build.idx new file mode 100644 index 0000000..157a2da --- /dev/null +++ b/build.idx @@ -0,0 +1,29 @@ +sanitizePath build.html#sanitizePath,string build: sanitizePath(path: string; noQuote = false; sep = $'/'): string +sleep build.html#sleep,int build: sleep(milsecs: int) +execAction build.html#execAction,string,int build: execAction(cmd: string; retry = 0; nostderr = false): string +findExe build.html#findExe,string build: findExe(exe: string): string +mkDir build.html#mkDir,string build: mkDir(dir: string) +cpFile build.html#cpFile,string,string build: cpFile(source, dest: string; move = false) +mvFile build.html#mvFile,string,string build: mvFile(source, dest: string) +rmFile build.html#rmFile,string build: rmFile(source: string; dir = false) +rmDir build.html#rmDir,string build: rmDir(source: string) +extractZip build.html#extractZip,string,string build: extractZip(zipfile, outdir: string) +extractTar build.html#extractTar,string,string build: extractTar(tarfile, outdir: string) +downloadUrl build.html#downloadUrl,string,string build: downloadUrl(url, outdir: string) +gitReset build.html#gitReset,string build: gitReset(outdir: string) +gitCheckout build.html#gitCheckout,string,string build: gitCheckout(file, outdir: string) +gitPull build.html#gitPull,string,string,string,string build: gitPull(url: string; outdir = ""; plist = ""; checkout = "") +findFile build.html#findFile,,string build: findFile(file: string | Regex; dir: string; recurse = true; first = false): string +flagBuild build.html#flagBuild,string,openArray[string] build: flagBuild(base: string; flags: openArray[string]): string +configure build.html#configure,string,string,string build: configure(path, check: string; flags = "") +getCmakeIncludePath build.html#getCmakeIncludePath,openArray[string] build: getCmakeIncludePath(paths: openArray[string]): string +setCmakeProperty build.html#setCmakeProperty,string,string,string,string build: setCmakeProperty(outdir, name, property, value: string) +setCmakeLibName build.html#setCmakeLibName,string,string,string,string,string build: setCmakeLibName(outdir, name, prefix = ""; oname = ""; suffix = "") +setCmakePositionIndependentCode build.html#setCmakePositionIndependentCode,string build: setCmakePositionIndependentCode(outdir: string) +cmake build.html#cmake,string,string,string build: cmake(path, check, flags: string) +make build.html#make,,,string build: make(path, check: string | Regex; flags = "") +getGccPaths build.html#getGccPaths,string build: getGccPaths(mode = "c"): seq[string] +getGccLibPaths build.html#getGccLibPaths,string build: getGccLibPaths(mode = "c"): seq[string] +setDefines build.html#setDefines.m build: setDefines(defs: static openArray[string]): untyped +clearDefines build.html#clearDefines.m build: clearDefines(): untyped +getHeader build.html#getHeader.m,static[string],static[string],static[string],static[string],static[string],static[string],static[string],static[string] build: getHeader(header: static[string]; giturl: static[string] = "";\n dlurl: static[string] = ""; outdir: static[string] = "";\n conFlags: static[string] = ""; cmakeFlags: static[string] = "";\n makeFlags: static[string] = ""; altNames: static[string] = ""): untyped diff --git a/cimport.html b/cimport.html index fa57ca3..b48d03c 100644 --- a/cimport.html +++ b/cimport.html @@ -890,7 +890,7 @@ function main() {

Imports

-plugin, git, paths, types +plugin, build, paths, types

Procs

@@ -1090,7 +1090,7 @@ Add an include directory that is forwarded to the C/C++ preprocessor if called w

Exports

-time_t, defineEnum, va_list, types, enumOp, ptrdiff_t +time_t, defineEnum, wchar_t, va_list, types, enumOp, ptrdiff_t
@@ -1100,7 +1100,7 @@ Add an include directory that is forwarded to the C/C++ preprocessor if called w diff --git a/compat.html b/compat.html index 85b8e0e..b718728 100644 --- a/compat.html +++ b/compat.html @@ -822,13 +822,36 @@ function main() { - + +

- +
+

Procs

+
+ +
proc myNormalizedPath(path: string): string {...}{.raises: [], tags: [].}
+
+ + + +
+ +
+
@@ -836,7 +859,7 @@ function main() { diff --git a/compat.idx b/compat.idx index 826a528..8dd5329 100644 --- a/compat.idx +++ b/compat.idx @@ -1 +1 @@ -relativePath compat.html#relativePath,string,string compat: relativePath(file, base: string): string +myNormalizedPath compat.html#myNormalizedPath,string compat: myNormalizedPath(path: string): string diff --git a/dochack.js b/dochack.js index b960a56..2ce5f19 100644 --- a/dochack.js +++ b/dochack.js @@ -1,4 +1,4 @@ -/* Generated by the Nim Compiler v0.20.2 */ +/* Generated by the Nim Compiler v1.0.99 */ /* (c) 2019 Andreas Rumpf */ var framePtr = null; @@ -12,247 +12,248 @@ if (typeof Uint16Array === 'undefined') Uint16Array = Array; if (typeof Uint32Array === 'undefined') Uint32Array = Array; if (typeof Float32Array === 'undefined') Float32Array = Array; if (typeof Float64Array === 'undefined') Float64Array = Array; -var NTI130 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; -var NTI162074 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI4062 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI164579 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42448 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42444 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42440 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42436 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42432 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42428 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42424 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42420 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42416 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42412 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42408 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42404 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42400 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42396 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42392 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42388 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42384 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42380 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42376 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42372 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; -var NTI42205 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42283 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42281 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI42227 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; -var NTI42565 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42563 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42561 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI42231 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI42229 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI44305 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; -var NTI4050 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI4058 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI104 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; -var NTI21156 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; -var NTI4008 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI4114 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI114 = {size: 0,kind: 40,base: null,node: null,finalizer: null}; -var NTI138 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; -var NTI140 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; -var NTI4108 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; -var NTI4026 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI4028 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI4042 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NTI4046 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; -var NNI4046 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI4046.node = NNI4046; -var NNI4042 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI4042.node = NNI4042; -var NNI4028 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI4028.node = NNI4028; -NTI4108.base = NTI4026; -NTI4114.base = NTI4026; -var NNI4026 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI4108, name: "parent", sons: null}, -{kind: 1, offset: "name", len: 0, typ: NTI140, name: "name", sons: null}, -{kind: 1, offset: "message", len: 0, typ: NTI138, name: "msg", sons: null}, -{kind: 1, offset: "trace", len: 0, typ: NTI138, name: "trace", sons: null}, -{kind: 1, offset: "raiseId", len: 0, typ: NTI114, name: "raiseId", sons: null}, -{kind: 1, offset: "up", len: 0, typ: NTI4114, name: "up", sons: null}]}; -NTI4026.node = NNI4026; -var NNI4008 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI4008.node = NNI4008; -NTI4026.base = NTI4008; -NTI4028.base = NTI4026; -NTI4042.base = NTI4028; -NTI4046.base = NTI4042; -var NNI21156 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI140, name: "Field0", sons: null}, -{kind: 1, offset: "Field1", len: 0, typ: NTI104, name: "Field1", sons: null}]}; -NTI21156.node = NNI21156; -var NNI4058 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI4058.node = NNI4058; -NTI4058.base = NTI4028; -var NNI4050 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI4050.node = NNI4050; -NTI4050.base = NTI4028; -NTI42561.base = NTI42229; -NTI42563.base = NTI42229; -NTI42565.base = NTI42229; -var NNI42227 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI42227, name: "ElementNode", len: 0, sons: null}, -"2": {kind: 1, offset: 2, typ: NTI42227, name: "AttributeNode", len: 0, sons: null}, -"3": {kind: 1, offset: 3, typ: NTI42227, name: "TextNode", len: 0, sons: null}, -"4": {kind: 1, offset: 4, typ: NTI42227, name: "CDATANode", len: 0, sons: null}, -"5": {kind: 1, offset: 5, typ: NTI42227, name: "EntityRefNode", len: 0, sons: null}, -"6": {kind: 1, offset: 6, typ: NTI42227, name: "EntityNode", len: 0, sons: null}, -"7": {kind: 1, offset: 7, typ: NTI42227, name: "ProcessingInstructionNode", len: 0, sons: null}, -"8": {kind: 1, offset: 8, typ: NTI42227, name: "CommentNode", len: 0, sons: null}, -"9": {kind: 1, offset: 9, typ: NTI42227, name: "DocumentNode", len: 0, sons: null}, -"10": {kind: 1, offset: 10, typ: NTI42227, name: "DocumentTypeNode", len: 0, sons: null}, -"11": {kind: 1, offset: 11, typ: NTI42227, name: "DocumentFragmentNode", len: 0, sons: null}, -"12": {kind: 1, offset: 12, typ: NTI42227, name: "NotationNode", len: 0, sons: null}}}; -NTI42227.node = NNI42227; -var NNI42283 = {kind: 2, len: 91, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "background", len: 0, typ: NTI140, name: "background", sons: null}, -{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI140, name: "backgroundAttachment", sons: null}, -{kind: 1, offset: "backgroundColor", len: 0, typ: NTI140, name: "backgroundColor", sons: null}, -{kind: 1, offset: "backgroundImage", len: 0, typ: NTI140, name: "backgroundImage", sons: null}, -{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI140, name: "backgroundPosition", sons: null}, -{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI140, name: "backgroundRepeat", sons: null}, -{kind: 1, offset: "border", len: 0, typ: NTI140, name: "border", sons: null}, -{kind: 1, offset: "borderBottom", len: 0, typ: NTI140, name: "borderBottom", sons: null}, -{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI140, name: "borderBottomColor", sons: null}, -{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI140, name: "borderBottomStyle", sons: null}, -{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI140, name: "borderBottomWidth", sons: null}, -{kind: 1, offset: "borderColor", len: 0, typ: NTI140, name: "borderColor", sons: null}, -{kind: 1, offset: "borderLeft", len: 0, typ: NTI140, name: "borderLeft", sons: null}, -{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI140, name: "borderLeftColor", sons: null}, -{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI140, name: "borderLeftStyle", sons: null}, -{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI140, name: "borderLeftWidth", sons: null}, -{kind: 1, offset: "borderRight", len: 0, typ: NTI140, name: "borderRight", sons: null}, -{kind: 1, offset: "borderRightColor", len: 0, typ: NTI140, name: "borderRightColor", sons: null}, -{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI140, name: "borderRightStyle", sons: null}, -{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI140, name: "borderRightWidth", sons: null}, -{kind: 1, offset: "borderStyle", len: 0, typ: NTI140, name: "borderStyle", sons: null}, -{kind: 1, offset: "borderTop", len: 0, typ: NTI140, name: "borderTop", sons: null}, -{kind: 1, offset: "borderTopColor", len: 0, typ: NTI140, name: "borderTopColor", sons: null}, -{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI140, name: "borderTopStyle", sons: null}, -{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI140, name: "borderTopWidth", sons: null}, -{kind: 1, offset: "borderWidth", len: 0, typ: NTI140, name: "borderWidth", sons: null}, -{kind: 1, offset: "bottom", len: 0, typ: NTI140, name: "bottom", sons: null}, -{kind: 1, offset: "captionSide", len: 0, typ: NTI140, name: "captionSide", sons: null}, -{kind: 1, offset: "clear", len: 0, typ: NTI140, name: "clear", sons: null}, -{kind: 1, offset: "clip", len: 0, typ: NTI140, name: "clip", sons: null}, -{kind: 1, offset: "color", len: 0, typ: NTI140, name: "color", sons: null}, -{kind: 1, offset: "cursor", len: 0, typ: NTI140, name: "cursor", sons: null}, -{kind: 1, offset: "direction", len: 0, typ: NTI140, name: "direction", sons: null}, -{kind: 1, offset: "display", len: 0, typ: NTI140, name: "display", sons: null}, -{kind: 1, offset: "emptyCells", len: 0, typ: NTI140, name: "emptyCells", sons: null}, -{kind: 1, offset: "cssFloat", len: 0, typ: NTI140, name: "cssFloat", sons: null}, -{kind: 1, offset: "font", len: 0, typ: NTI140, name: "font", sons: null}, -{kind: 1, offset: "fontFamily", len: 0, typ: NTI140, name: "fontFamily", sons: null}, -{kind: 1, offset: "fontSize", len: 0, typ: NTI140, name: "fontSize", sons: null}, -{kind: 1, offset: "fontStretch", len: 0, typ: NTI140, name: "fontStretch", sons: null}, -{kind: 1, offset: "fontStyle", len: 0, typ: NTI140, name: "fontStyle", sons: null}, -{kind: 1, offset: "fontVariant", len: 0, typ: NTI140, name: "fontVariant", sons: null}, -{kind: 1, offset: "fontWeight", len: 0, typ: NTI140, name: "fontWeight", sons: null}, -{kind: 1, offset: "height", len: 0, typ: NTI140, name: "height", sons: null}, -{kind: 1, offset: "left", len: 0, typ: NTI140, name: "left", sons: null}, -{kind: 1, offset: "letterSpacing", len: 0, typ: NTI140, name: "letterSpacing", sons: null}, -{kind: 1, offset: "lineHeight", len: 0, typ: NTI140, name: "lineHeight", sons: null}, -{kind: 1, offset: "listStyle", len: 0, typ: NTI140, name: "listStyle", sons: null}, -{kind: 1, offset: "listStyleImage", len: 0, typ: NTI140, name: "listStyleImage", sons: null}, -{kind: 1, offset: "listStylePosition", len: 0, typ: NTI140, name: "listStylePosition", sons: null}, -{kind: 1, offset: "listStyleType", len: 0, typ: NTI140, name: "listStyleType", sons: null}, -{kind: 1, offset: "margin", len: 0, typ: NTI140, name: "margin", sons: null}, -{kind: 1, offset: "marginBottom", len: 0, typ: NTI140, name: "marginBottom", sons: null}, -{kind: 1, offset: "marginLeft", len: 0, typ: NTI140, name: "marginLeft", sons: null}, -{kind: 1, offset: "marginRight", len: 0, typ: NTI140, name: "marginRight", sons: null}, -{kind: 1, offset: "marginTop", len: 0, typ: NTI140, name: "marginTop", sons: null}, -{kind: 1, offset: "maxHeight", len: 0, typ: NTI140, name: "maxHeight", sons: null}, -{kind: 1, offset: "maxWidth", len: 0, typ: NTI140, name: "maxWidth", sons: null}, -{kind: 1, offset: "minHeight", len: 0, typ: NTI140, name: "minHeight", sons: null}, -{kind: 1, offset: "minWidth", len: 0, typ: NTI140, name: "minWidth", sons: null}, -{kind: 1, offset: "overflow", len: 0, typ: NTI140, name: "overflow", sons: null}, -{kind: 1, offset: "padding", len: 0, typ: NTI140, name: "padding", sons: null}, -{kind: 1, offset: "paddingBottom", len: 0, typ: NTI140, name: "paddingBottom", sons: null}, -{kind: 1, offset: "paddingLeft", len: 0, typ: NTI140, name: "paddingLeft", sons: null}, -{kind: 1, offset: "paddingRight", len: 0, typ: NTI140, name: "paddingRight", sons: null}, -{kind: 1, offset: "paddingTop", len: 0, typ: NTI140, name: "paddingTop", sons: null}, -{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI140, name: "pageBreakAfter", sons: null}, -{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI140, name: "pageBreakBefore", sons: null}, -{kind: 1, offset: "pointerEvents", len: 0, typ: NTI140, name: "pointerEvents", sons: null}, -{kind: 1, offset: "position", len: 0, typ: NTI140, name: "position", sons: null}, -{kind: 1, offset: "right", len: 0, typ: NTI140, name: "right", sons: null}, -{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI140, name: "scrollbar3dLightColor", sons: null}, -{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI140, name: "scrollbarArrowColor", sons: null}, -{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI140, name: "scrollbarBaseColor", sons: null}, -{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI140, name: "scrollbarDarkshadowColor", sons: null}, -{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI140, name: "scrollbarFaceColor", sons: null}, -{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI140, name: "scrollbarHighlightColor", sons: null}, -{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI140, name: "scrollbarShadowColor", sons: null}, -{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI140, name: "scrollbarTrackColor", sons: null}, -{kind: 1, offset: "tableLayout", len: 0, typ: NTI140, name: "tableLayout", sons: null}, -{kind: 1, offset: "textAlign", len: 0, typ: NTI140, name: "textAlign", sons: null}, -{kind: 1, offset: "textDecoration", len: 0, typ: NTI140, name: "textDecoration", sons: null}, -{kind: 1, offset: "textIndent", len: 0, typ: NTI140, name: "textIndent", sons: null}, -{kind: 1, offset: "textTransform", len: 0, typ: NTI140, name: "textTransform", sons: null}, -{kind: 1, offset: "transform", len: 0, typ: NTI140, name: "transform", sons: null}, -{kind: 1, offset: "top", len: 0, typ: NTI140, name: "top", sons: null}, -{kind: 1, offset: "verticalAlign", len: 0, typ: NTI140, name: "verticalAlign", sons: null}, -{kind: 1, offset: "visibility", len: 0, typ: NTI140, name: "visibility", sons: null}, -{kind: 1, offset: "width", len: 0, typ: NTI140, name: "width", sons: null}, -{kind: 1, offset: "wordSpacing", len: 0, typ: NTI140, name: "wordSpacing", sons: null}, -{kind: 1, offset: "zIndex", len: 0, typ: NTI104, name: "zIndex", sons: null}]}; -NTI42283.node = NNI42283; -NTI42283.base = NTI4008; -NTI42281.base = NTI42283; -var NNI42231 = {kind: 2, len: 14, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI42561, name: "attributes", sons: null}, -{kind: 1, offset: "childNodes", len: 0, typ: NTI42563, name: "childNodes", sons: null}, -{kind: 1, offset: "children", len: 0, typ: NTI42565, name: "children", sons: null}, -{kind: 1, offset: "data", len: 0, typ: NTI140, name: "data", sons: null}, -{kind: 1, offset: "firstChild", len: 0, typ: NTI42229, name: "firstChild", sons: null}, -{kind: 1, offset: "lastChild", len: 0, typ: NTI42229, name: "lastChild", sons: null}, -{kind: 1, offset: "nextSibling", len: 0, typ: NTI42229, name: "nextSibling", sons: null}, -{kind: 1, offset: "nodeName", len: 0, typ: NTI140, name: "nodeName", sons: null}, -{kind: 1, offset: "nodeType", len: 0, typ: NTI42227, name: "nodeType", sons: null}, -{kind: 1, offset: "nodeValue", len: 0, typ: NTI140, name: "nodeValue", sons: null}, -{kind: 1, offset: "parentNode", len: 0, typ: NTI42229, name: "parentNode", sons: null}, -{kind: 1, offset: "previousSibling", len: 0, typ: NTI42229, name: "previousSibling", sons: null}, -{kind: 1, offset: "innerHTML", len: 0, typ: NTI140, name: "innerHTML", sons: null}, -{kind: 1, offset: "style", len: 0, typ: NTI42281, name: "style", sons: null}]}; -NTI42231.node = NNI42231; -var NNI42205 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI42372, name: "onabort", sons: null}, -{kind: 1, offset: "onblur", len: 0, typ: NTI42376, name: "onblur", sons: null}, -{kind: 1, offset: "onchange", len: 0, typ: NTI42380, name: "onchange", sons: null}, -{kind: 1, offset: "onclick", len: 0, typ: NTI42384, name: "onclick", sons: null}, -{kind: 1, offset: "ondblclick", len: 0, typ: NTI42388, name: "ondblclick", sons: null}, -{kind: 1, offset: "onerror", len: 0, typ: NTI42392, name: "onerror", sons: null}, -{kind: 1, offset: "onfocus", len: 0, typ: NTI42396, name: "onfocus", sons: null}, -{kind: 1, offset: "onkeydown", len: 0, typ: NTI42400, name: "onkeydown", sons: null}, -{kind: 1, offset: "onkeypress", len: 0, typ: NTI42404, name: "onkeypress", sons: null}, -{kind: 1, offset: "onkeyup", len: 0, typ: NTI42408, name: "onkeyup", sons: null}, -{kind: 1, offset: "onload", len: 0, typ: NTI42412, name: "onload", sons: null}, -{kind: 1, offset: "onmousedown", len: 0, typ: NTI42416, name: "onmousedown", sons: null}, -{kind: 1, offset: "onmousemove", len: 0, typ: NTI42420, name: "onmousemove", sons: null}, -{kind: 1, offset: "onmouseout", len: 0, typ: NTI42424, name: "onmouseout", sons: null}, -{kind: 1, offset: "onmouseover", len: 0, typ: NTI42428, name: "onmouseover", sons: null}, -{kind: 1, offset: "onmouseup", len: 0, typ: NTI42432, name: "onmouseup", sons: null}, -{kind: 1, offset: "onreset", len: 0, typ: NTI42436, name: "onreset", sons: null}, -{kind: 1, offset: "onselect", len: 0, typ: NTI42440, name: "onselect", sons: null}, -{kind: 1, offset: "onsubmit", len: 0, typ: NTI42444, name: "onsubmit", sons: null}, -{kind: 1, offset: "onunload", len: 0, typ: NTI42448, name: "onunload", sons: null}]}; -NTI42205.node = NNI42205; -NTI42205.base = NTI4008; -NTI42231.base = NTI42205; -NTI42229.base = NTI42231; -NTI44305.base = NTI42229; -NTI164579.base = NTI140; -var NNI4062 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; -NTI4062.node = NNI4062; -NTI4062.base = NTI4028; -var NNI162074 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI104, name: "Field0", sons: null}, -{kind: 1, offset: "Field1", len: 0, typ: NTI130, name: "Field1", sons: null}]}; -NTI162074.node = NNI162074; +var NTI43032 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; +var NTI201074 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI46462 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI203578 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI83448 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83444 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83440 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83436 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83432 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83428 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83424 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83420 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83416 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83412 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83408 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83404 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83400 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83396 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83392 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83388 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83384 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83380 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83376 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83372 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI83205 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI83283 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI83281 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI83227 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; +var NTI83565 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI83563 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI83561 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI83231 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI83229 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI85305 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI46450 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI46458 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI43006 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; +var NTI62156 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI46408 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI46514 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI43016 = {size: 0,kind: 40,base: null,node: null,finalizer: null}; +var NTI43040 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; +var NTI43042 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; +var NTI46508 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI46426 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI46428 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI46442 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI46446 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NNI46446 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI46446.node = NNI46446; +var NNI46442 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI46442.node = NNI46442; +var NNI46428 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI46428.node = NNI46428; +NTI46508.base = NTI46426; +NTI46514.base = NTI46426; +var NNI46426 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI46508, name: "parent", sons: null}, +{kind: 1, offset: "name", len: 0, typ: NTI43042, name: "name", sons: null}, +{kind: 1, offset: "message", len: 0, typ: NTI43040, name: "msg", sons: null}, +{kind: 1, offset: "trace", len: 0, typ: NTI43040, name: "trace", sons: null}, +{kind: 1, offset: "raiseId", len: 0, typ: NTI43016, name: "raiseId", sons: null}, +{kind: 1, offset: "up", len: 0, typ: NTI46514, name: "up", sons: null}]}; +NTI46426.node = NNI46426; +var NNI46408 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI46408.node = NNI46408; +NTI46426.base = NTI46408; +NTI46428.base = NTI46426; +NTI46442.base = NTI46428; +NTI46446.base = NTI46442; +var NNI62156 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI43042, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI43006, name: "Field1", sons: null}]}; +NTI62156.node = NNI62156; +var NNI46458 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI46458.node = NNI46458; +NTI46458.base = NTI46428; +var NNI46450 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI46450.node = NNI46450; +NTI46450.base = NTI46428; +NTI83561.base = NTI83229; +NTI83563.base = NTI83229; +NTI83565.base = NTI83229; +var NNI83227 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI83227, name: "ElementNode", len: 0, sons: null}, +"2": {kind: 1, offset: 2, typ: NTI83227, name: "AttributeNode", len: 0, sons: null}, +"3": {kind: 1, offset: 3, typ: NTI83227, name: "TextNode", len: 0, sons: null}, +"4": {kind: 1, offset: 4, typ: NTI83227, name: "CDATANode", len: 0, sons: null}, +"5": {kind: 1, offset: 5, typ: NTI83227, name: "EntityRefNode", len: 0, sons: null}, +"6": {kind: 1, offset: 6, typ: NTI83227, name: "EntityNode", len: 0, sons: null}, +"7": {kind: 1, offset: 7, typ: NTI83227, name: "ProcessingInstructionNode", len: 0, sons: null}, +"8": {kind: 1, offset: 8, typ: NTI83227, name: "CommentNode", len: 0, sons: null}, +"9": {kind: 1, offset: 9, typ: NTI83227, name: "DocumentNode", len: 0, sons: null}, +"10": {kind: 1, offset: 10, typ: NTI83227, name: "DocumentTypeNode", len: 0, sons: null}, +"11": {kind: 1, offset: 11, typ: NTI83227, name: "DocumentFragmentNode", len: 0, sons: null}, +"12": {kind: 1, offset: 12, typ: NTI83227, name: "NotationNode", len: 0, sons: null}}}; +NTI83227.node = NNI83227; +var NNI83283 = {kind: 2, len: 92, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "background", len: 0, typ: NTI43042, name: "background", sons: null}, +{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI43042, name: "backgroundAttachment", sons: null}, +{kind: 1, offset: "backgroundColor", len: 0, typ: NTI43042, name: "backgroundColor", sons: null}, +{kind: 1, offset: "backgroundImage", len: 0, typ: NTI43042, name: "backgroundImage", sons: null}, +{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI43042, name: "backgroundPosition", sons: null}, +{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI43042, name: "backgroundRepeat", sons: null}, +{kind: 1, offset: "border", len: 0, typ: NTI43042, name: "border", sons: null}, +{kind: 1, offset: "borderBottom", len: 0, typ: NTI43042, name: "borderBottom", sons: null}, +{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI43042, name: "borderBottomColor", sons: null}, +{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI43042, name: "borderBottomStyle", sons: null}, +{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI43042, name: "borderBottomWidth", sons: null}, +{kind: 1, offset: "borderColor", len: 0, typ: NTI43042, name: "borderColor", sons: null}, +{kind: 1, offset: "borderLeft", len: 0, typ: NTI43042, name: "borderLeft", sons: null}, +{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI43042, name: "borderLeftColor", sons: null}, +{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI43042, name: "borderLeftStyle", sons: null}, +{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI43042, name: "borderLeftWidth", sons: null}, +{kind: 1, offset: "borderRight", len: 0, typ: NTI43042, name: "borderRight", sons: null}, +{kind: 1, offset: "borderRightColor", len: 0, typ: NTI43042, name: "borderRightColor", sons: null}, +{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI43042, name: "borderRightStyle", sons: null}, +{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI43042, name: "borderRightWidth", sons: null}, +{kind: 1, offset: "borderStyle", len: 0, typ: NTI43042, name: "borderStyle", sons: null}, +{kind: 1, offset: "borderTop", len: 0, typ: NTI43042, name: "borderTop", sons: null}, +{kind: 1, offset: "borderTopColor", len: 0, typ: NTI43042, name: "borderTopColor", sons: null}, +{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI43042, name: "borderTopStyle", sons: null}, +{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI43042, name: "borderTopWidth", sons: null}, +{kind: 1, offset: "borderWidth", len: 0, typ: NTI43042, name: "borderWidth", sons: null}, +{kind: 1, offset: "bottom", len: 0, typ: NTI43042, name: "bottom", sons: null}, +{kind: 1, offset: "captionSide", len: 0, typ: NTI43042, name: "captionSide", sons: null}, +{kind: 1, offset: "clear", len: 0, typ: NTI43042, name: "clear", sons: null}, +{kind: 1, offset: "clip", len: 0, typ: NTI43042, name: "clip", sons: null}, +{kind: 1, offset: "color", len: 0, typ: NTI43042, name: "color", sons: null}, +{kind: 1, offset: "cursor", len: 0, typ: NTI43042, name: "cursor", sons: null}, +{kind: 1, offset: "direction", len: 0, typ: NTI43042, name: "direction", sons: null}, +{kind: 1, offset: "display", len: 0, typ: NTI43042, name: "display", sons: null}, +{kind: 1, offset: "emptyCells", len: 0, typ: NTI43042, name: "emptyCells", sons: null}, +{kind: 1, offset: "cssFloat", len: 0, typ: NTI43042, name: "cssFloat", sons: null}, +{kind: 1, offset: "font", len: 0, typ: NTI43042, name: "font", sons: null}, +{kind: 1, offset: "fontFamily", len: 0, typ: NTI43042, name: "fontFamily", sons: null}, +{kind: 1, offset: "fontSize", len: 0, typ: NTI43042, name: "fontSize", sons: null}, +{kind: 1, offset: "fontStretch", len: 0, typ: NTI43042, name: "fontStretch", sons: null}, +{kind: 1, offset: "fontStyle", len: 0, typ: NTI43042, name: "fontStyle", sons: null}, +{kind: 1, offset: "fontVariant", len: 0, typ: NTI43042, name: "fontVariant", sons: null}, +{kind: 1, offset: "fontWeight", len: 0, typ: NTI43042, name: "fontWeight", sons: null}, +{kind: 1, offset: "height", len: 0, typ: NTI43042, name: "height", sons: null}, +{kind: 1, offset: "left", len: 0, typ: NTI43042, name: "left", sons: null}, +{kind: 1, offset: "letterSpacing", len: 0, typ: NTI43042, name: "letterSpacing", sons: null}, +{kind: 1, offset: "lineHeight", len: 0, typ: NTI43042, name: "lineHeight", sons: null}, +{kind: 1, offset: "listStyle", len: 0, typ: NTI43042, name: "listStyle", sons: null}, +{kind: 1, offset: "listStyleImage", len: 0, typ: NTI43042, name: "listStyleImage", sons: null}, +{kind: 1, offset: "listStylePosition", len: 0, typ: NTI43042, name: "listStylePosition", sons: null}, +{kind: 1, offset: "listStyleType", len: 0, typ: NTI43042, name: "listStyleType", sons: null}, +{kind: 1, offset: "margin", len: 0, typ: NTI43042, name: "margin", sons: null}, +{kind: 1, offset: "marginBottom", len: 0, typ: NTI43042, name: "marginBottom", sons: null}, +{kind: 1, offset: "marginLeft", len: 0, typ: NTI43042, name: "marginLeft", sons: null}, +{kind: 1, offset: "marginRight", len: 0, typ: NTI43042, name: "marginRight", sons: null}, +{kind: 1, offset: "marginTop", len: 0, typ: NTI43042, name: "marginTop", sons: null}, +{kind: 1, offset: "maxHeight", len: 0, typ: NTI43042, name: "maxHeight", sons: null}, +{kind: 1, offset: "maxWidth", len: 0, typ: NTI43042, name: "maxWidth", sons: null}, +{kind: 1, offset: "minHeight", len: 0, typ: NTI43042, name: "minHeight", sons: null}, +{kind: 1, offset: "minWidth", len: 0, typ: NTI43042, name: "minWidth", sons: null}, +{kind: 1, offset: "opacity", len: 0, typ: NTI43042, name: "opacity", sons: null}, +{kind: 1, offset: "overflow", len: 0, typ: NTI43042, name: "overflow", sons: null}, +{kind: 1, offset: "padding", len: 0, typ: NTI43042, name: "padding", sons: null}, +{kind: 1, offset: "paddingBottom", len: 0, typ: NTI43042, name: "paddingBottom", sons: null}, +{kind: 1, offset: "paddingLeft", len: 0, typ: NTI43042, name: "paddingLeft", sons: null}, +{kind: 1, offset: "paddingRight", len: 0, typ: NTI43042, name: "paddingRight", sons: null}, +{kind: 1, offset: "paddingTop", len: 0, typ: NTI43042, name: "paddingTop", sons: null}, +{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI43042, name: "pageBreakAfter", sons: null}, +{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI43042, name: "pageBreakBefore", sons: null}, +{kind: 1, offset: "pointerEvents", len: 0, typ: NTI43042, name: "pointerEvents", sons: null}, +{kind: 1, offset: "position", len: 0, typ: NTI43042, name: "position", sons: null}, +{kind: 1, offset: "right", len: 0, typ: NTI43042, name: "right", sons: null}, +{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI43042, name: "scrollbar3dLightColor", sons: null}, +{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI43042, name: "scrollbarArrowColor", sons: null}, +{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI43042, name: "scrollbarBaseColor", sons: null}, +{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI43042, name: "scrollbarDarkshadowColor", sons: null}, +{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI43042, name: "scrollbarFaceColor", sons: null}, +{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI43042, name: "scrollbarHighlightColor", sons: null}, +{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI43042, name: "scrollbarShadowColor", sons: null}, +{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI43042, name: "scrollbarTrackColor", sons: null}, +{kind: 1, offset: "tableLayout", len: 0, typ: NTI43042, name: "tableLayout", sons: null}, +{kind: 1, offset: "textAlign", len: 0, typ: NTI43042, name: "textAlign", sons: null}, +{kind: 1, offset: "textDecoration", len: 0, typ: NTI43042, name: "textDecoration", sons: null}, +{kind: 1, offset: "textIndent", len: 0, typ: NTI43042, name: "textIndent", sons: null}, +{kind: 1, offset: "textTransform", len: 0, typ: NTI43042, name: "textTransform", sons: null}, +{kind: 1, offset: "transform", len: 0, typ: NTI43042, name: "transform", sons: null}, +{kind: 1, offset: "top", len: 0, typ: NTI43042, name: "top", sons: null}, +{kind: 1, offset: "verticalAlign", len: 0, typ: NTI43042, name: "verticalAlign", sons: null}, +{kind: 1, offset: "visibility", len: 0, typ: NTI43042, name: "visibility", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI43042, name: "width", sons: null}, +{kind: 1, offset: "wordSpacing", len: 0, typ: NTI43042, name: "wordSpacing", sons: null}, +{kind: 1, offset: "zIndex", len: 0, typ: NTI43006, name: "zIndex", sons: null}]}; +NTI83283.node = NNI83283; +NTI83283.base = NTI46408; +NTI83281.base = NTI83283; +var NNI83231 = {kind: 2, len: 14, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI83561, name: "attributes", sons: null}, +{kind: 1, offset: "childNodes", len: 0, typ: NTI83563, name: "childNodes", sons: null}, +{kind: 1, offset: "children", len: 0, typ: NTI83565, name: "children", sons: null}, +{kind: 1, offset: "data", len: 0, typ: NTI43042, name: "data", sons: null}, +{kind: 1, offset: "firstChild", len: 0, typ: NTI83229, name: "firstChild", sons: null}, +{kind: 1, offset: "lastChild", len: 0, typ: NTI83229, name: "lastChild", sons: null}, +{kind: 1, offset: "nextSibling", len: 0, typ: NTI83229, name: "nextSibling", sons: null}, +{kind: 1, offset: "nodeName", len: 0, typ: NTI43042, name: "nodeName", sons: null}, +{kind: 1, offset: "nodeType", len: 0, typ: NTI83227, name: "nodeType", sons: null}, +{kind: 1, offset: "nodeValue", len: 0, typ: NTI43042, name: "nodeValue", sons: null}, +{kind: 1, offset: "parentNode", len: 0, typ: NTI83229, name: "parentNode", sons: null}, +{kind: 1, offset: "previousSibling", len: 0, typ: NTI83229, name: "previousSibling", sons: null}, +{kind: 1, offset: "innerHTML", len: 0, typ: NTI43042, name: "innerHTML", sons: null}, +{kind: 1, offset: "style", len: 0, typ: NTI83281, name: "style", sons: null}]}; +NTI83231.node = NNI83231; +var NNI83205 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI83372, name: "onabort", sons: null}, +{kind: 1, offset: "onblur", len: 0, typ: NTI83376, name: "onblur", sons: null}, +{kind: 1, offset: "onchange", len: 0, typ: NTI83380, name: "onchange", sons: null}, +{kind: 1, offset: "onclick", len: 0, typ: NTI83384, name: "onclick", sons: null}, +{kind: 1, offset: "ondblclick", len: 0, typ: NTI83388, name: "ondblclick", sons: null}, +{kind: 1, offset: "onerror", len: 0, typ: NTI83392, name: "onerror", sons: null}, +{kind: 1, offset: "onfocus", len: 0, typ: NTI83396, name: "onfocus", sons: null}, +{kind: 1, offset: "onkeydown", len: 0, typ: NTI83400, name: "onkeydown", sons: null}, +{kind: 1, offset: "onkeypress", len: 0, typ: NTI83404, name: "onkeypress", sons: null}, +{kind: 1, offset: "onkeyup", len: 0, typ: NTI83408, name: "onkeyup", sons: null}, +{kind: 1, offset: "onload", len: 0, typ: NTI83412, name: "onload", sons: null}, +{kind: 1, offset: "onmousedown", len: 0, typ: NTI83416, name: "onmousedown", sons: null}, +{kind: 1, offset: "onmousemove", len: 0, typ: NTI83420, name: "onmousemove", sons: null}, +{kind: 1, offset: "onmouseout", len: 0, typ: NTI83424, name: "onmouseout", sons: null}, +{kind: 1, offset: "onmouseover", len: 0, typ: NTI83428, name: "onmouseover", sons: null}, +{kind: 1, offset: "onmouseup", len: 0, typ: NTI83432, name: "onmouseup", sons: null}, +{kind: 1, offset: "onreset", len: 0, typ: NTI83436, name: "onreset", sons: null}, +{kind: 1, offset: "onselect", len: 0, typ: NTI83440, name: "onselect", sons: null}, +{kind: 1, offset: "onsubmit", len: 0, typ: NTI83444, name: "onsubmit", sons: null}, +{kind: 1, offset: "onunload", len: 0, typ: NTI83448, name: "onunload", sons: null}]}; +NTI83205.node = NNI83205; +NTI83205.base = NTI46408; +NTI83231.base = NTI83205; +NTI83229.base = NTI83231; +NTI85305.base = NTI83229; +NTI203578.base = NTI43042; +var NNI46462 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI46462.node = NNI46462; +NTI46462.base = NTI46428; +var NNI201074 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI43006, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI43032, name: "Field1", sons: null}]}; +NTI201074.node = NNI201074; -function makeNimstrLit(c_23254) { - var ln = c_23254.length; +function makeNimstrLit(c_64270) { + var ln = c_64270.length; var result = new Array(ln); for (var i = 0; i < ln; ++i) { - result[i] = c_23254.charCodeAt(i); + result[i] = c_64270.charCodeAt(i); } return result; @@ -279,99 +280,99 @@ function setConstr() { } var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21); -function nimCopy(dest_24427, src_24428, ti_24429) { - var result_24619 = null; +function nimCopy(dest_65827, src_65828, ti_65829) { + var result_66019 = null; - switch (ti_24429.kind) { + switch (ti_65829.kind) { case 21: case 22: case 23: case 5: - if (!(is_fat_pointer_24401(ti_24429))) { - result_24619 = src_24428; + if (!(is_fat_pointer_65801(ti_65829))) { + result_66019 = src_65828; } else { - result_24619 = [src_24428[0], src_24428[1]]; + result_66019 = [src_65828[0], src_65828[1]]; } break; case 19: - if (dest_24427 === null || dest_24427 === undefined) { - dest_24427 = {}; + if (dest_65827 === null || dest_65827 === undefined) { + dest_65827 = {}; } else { - for (var key in dest_24427) { delete dest_24427[key]; } + for (var key in dest_65827) { delete dest_65827[key]; } } - for (var key in src_24428) { dest_24427[key] = src_24428[key]; } - result_24619 = dest_24427; + for (var key in src_65828) { dest_65827[key] = src_65828[key]; } + result_66019 = dest_65827; break; case 18: case 17: - if (!((ti_24429.base == null))) { - result_24619 = nimCopy(dest_24427, src_24428, ti_24429.base); + if (!((ti_65829.base == null))) { + result_66019 = nimCopy(dest_65827, src_65828, ti_65829.base); } else { - if ((ti_24429.kind == 17)) { - result_24619 = (dest_24427 === null || dest_24427 === undefined) ? {m_type: ti_24429} : dest_24427; + if ((ti_65829.kind == 17)) { + result_66019 = (dest_65827 === null || dest_65827 === undefined) ? {m_type: ti_65829} : dest_65827; } else { - result_24619 = (dest_24427 === null || dest_24427 === undefined) ? {} : dest_24427; + result_66019 = (dest_65827 === null || dest_65827 === undefined) ? {} : dest_65827; } } - nimCopyAux(result_24619, src_24428, ti_24429.node); + nimCopyAux(result_66019, src_65828, ti_65829.node); break; case 24: case 4: case 27: case 16: - if (src_24428 === null) { - result_24619 = null; + if (src_65828 === null) { + result_66019 = null; } else { - if (dest_24427 === null || dest_24427 === undefined) { - dest_24427 = new Array(src_24428.length); + if (dest_65827 === null || dest_65827 === undefined) { + dest_65827 = new Array(src_65828.length); } else { - dest_24427.length = src_24428.length; + dest_65827.length = src_65828.length; } - result_24619 = dest_24427; - for (var i = 0; i < src_24428.length; ++i) { - result_24619[i] = nimCopy(result_24619[i], src_24428[i], ti_24429.base); + result_66019 = dest_65827; + for (var i = 0; i < src_65828.length; ++i) { + result_66019[i] = nimCopy(result_66019[i], src_65828[i], ti_65829.base); } } break; case 28: - if (src_24428 !== null) { - result_24619 = src_24428.slice(0); + if (src_65828 !== null) { + result_66019 = src_65828.slice(0); } break; default: - result_24619 = src_24428; + result_66019 = src_65828; break; } - return result_24619; + return result_66019; } -function arrayConstr(len_24686, value_24687, typ_24688) { - var result = new Array(len_24686); - for (var i = 0; i < len_24686; ++i) result[i] = nimCopy(null, value_24687, typ_24688); +function arrayConstr(len_66086, value_66087, typ_66088) { + var result = new Array(len_66086); + for (var i = 0; i < len_66086; ++i) result[i] = nimCopy(null, value_66087, typ_66088); return result; } -function cstrToNimstr(c_23271) { - var ln = c_23271.length; +function cstrToNimstr(c_64287) { + var ln = c_64287.length; var result = new Array(ln); var r = 0; for (var i = 0; i < ln; ++i) { - var ch = c_23271.charCodeAt(i); + var ch = c_64287.charCodeAt(i); if (ch < 128) { result[r] = ch; @@ -386,7 +387,7 @@ function cstrToNimstr(c_23271) { } else { ++i; - ch = 65536 + (((ch & 1023) << 10) | (c_23271.charCodeAt(i) & 1023)); + ch = 65536 + (((ch & 1023) << 10) | (c_64287.charCodeAt(i) & 1023)); result[r] = (ch >> 18) | 240; ++r; result[r] = ((ch >> 12) & 63) | 128; @@ -405,54 +406,88 @@ function cstrToNimstr(c_23271) { } -function toJSStr(s_23288) { - if (s_23288 === null) return ""; - var len = s_23288.length; - var asciiPart = new Array(len); - var fcc = String.fromCharCode; - var nonAsciiPart = null; - var nonAsciiOffset = 0; - for (var i = 0; i < len; ++i) { - if (nonAsciiPart !== null) { - var offset = (i - nonAsciiOffset) * 2; - var code = s_23288[i].toString(16); - if (code.length == 1) { - code = "0"+code; - } - nonAsciiPart[offset] = "%"; - nonAsciiPart[offset + 1] = code; - } - else if (s_23288[i] < 128) - asciiPart[i] = fcc(s_23288[i]); - else { - asciiPart.length = i; - nonAsciiOffset = i; - nonAsciiPart = new Array((len - i) * 2); - --i; - } - } - asciiPart = asciiPart.join(""); - return (nonAsciiPart === null) ? - asciiPart : asciiPart + decodeURIComponent(nonAsciiPart.join("")); - +function toJSStr(s_64304) { + var Tmp5; + var Tmp7; + + var result_64305 = null; + + var res_64363 = new_seq_64336((s_64304 != null ? s_64304.length : 0)); + var i_64365 = 0; + var j_64367 = 0; + L1: do { + L2: while (true) { + if (!(i_64365 < (s_64304 != null ? s_64304.length : 0))) break L2; + var c_64368 = s_64304[i_64365]; + if ((c_64368 < 128)) { + res_64363[j_64367] = String.fromCharCode(c_64368); + i_64365 += 1; + } + else { + var helper_64391 = new_seq_64336(0); + L3: do { + L4: while (true) { + if (!true) break L4; + var code_64392 = c_64368.toString(16); + if (((code_64392 != null ? code_64392.length : 0) == 1)) { + if (helper_64391 != null) { helper_64391.push("%0"); } else { helper_64391 = ["%0"]; }; + } + else { + if (helper_64391 != null) { helper_64391.push("%"); } else { helper_64391 = ["%"]; }; + } + + if (helper_64391 != null) { helper_64391.push(code_64392); } else { helper_64391 = [code_64392]; }; + i_64365 += 1; + if (((s_64304 != null ? s_64304.length : 0) <= i_64365)) Tmp5 = true; else { Tmp5 = (s_64304[i_64365] < 128); } if (Tmp5) { + break L3; + } + + c_64368 = s_64304[i_64365]; + } + } while(false); +++excHandler; + Tmp7 = framePtr; + try { + res_64363[j_64367] = decodeURIComponent(helper_64391.join("")); +--excHandler; +} catch (EXC) { + var prevJSError = lastJSError; + lastJSError = EXC; + --excHandler; + framePtr = Tmp7; + res_64363[j_64367] = helper_64391.join(""); + lastJSError = prevJSError; + } finally { + framePtr = Tmp7; + } + } + + j_64367 += 1; + } + } while(false); + if (res_64363 === null) res_64363 = []; + if (res_64363.length < j_64367) { for (var i=res_64363.length;i 2147483647 || result < -2147483648) raiseOverflow(); return result; @@ -460,28 +495,28 @@ function addInt(a_23603, b_23604) { } -function chckIndx(i_24705, a_24706, b_24707) { +function chckIndx(i_66105, a_66106, b_66107) { var Tmp1; - var result_24708 = 0; + var result_66108 = 0; BeforeRet: do { - if (!(a_24706 <= i_24705)) Tmp1 = false; else { Tmp1 = (i_24705 <= b_24707); } if (Tmp1) { - result_24708 = i_24705; + if (!(a_66106 <= i_66105)) Tmp1 = false; else { Tmp1 = (i_66105 <= b_66107); } if (Tmp1) { + result_66108 = i_66105; break BeforeRet; } else { - raiseIndexError(i_24705, a_24706, b_24707); + raiseIndexError(i_66105, a_66106, b_66107); } } while (false); - return result_24708; + return result_66108; } -function subInt(a_23621, b_23622) { - var result = a_23621 - b_23622; +function subInt(a_64821, b_64822) { + var result = a_64821 - b_64822; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; @@ -490,14 +525,14 @@ function subInt(a_23621, b_23622) { } var ConstSet2 = setConstr([65, 90]); -function chckRange(i_24724, a_24725, b_24726) { +function chckRange(i_66124, a_66125, b_66126) { var Tmp1; - var result_24727 = 0; + var result_66127 = 0; BeforeRet: do { - if (!(a_24725 <= i_24724)) Tmp1 = false; else { Tmp1 = (i_24724 <= b_24726); } if (Tmp1) { - result_24727 = i_24724; + if (!(a_66125 <= i_66124)) Tmp1 = false; else { Tmp1 = (i_66124 <= b_66126); } if (Tmp1) { + result_66127 = i_66124; break BeforeRet; } else { @@ -506,14 +541,14 @@ function chckRange(i_24724, a_24725, b_24726) { } while (false); - return result_24727; + return result_66127; } var ConstSet3 = setConstr(95, 32, 46); var ConstSet4 = setConstr(95, 32, 46); -function mulInt(a_23639, b_23640) { - var result = a_23639 * b_23640; +function mulInt(a_64839, b_64840) { + var result = a_64839 * b_64840; if (result > 2147483647 || result < -2147483648) raiseOverflow(); return result; @@ -525,51 +560,52 @@ var ConstSet6 = setConstr([65, 90], [97, 122]); var ConstSet7 = setConstr([97, 122]); var ConstSet8 = setConstr([65, 90]); -function nimMax(a_24021, b_24022) { +function nimMax(a_65221, b_65222) { var Tmp1; - var result_24023 = 0; + var result_65223 = 0; BeforeRet: do { - if ((b_24022 <= a_24021)) { - Tmp1 = a_24021; + if ((b_65222 <= a_65221)) { + Tmp1 = a_65221; } else { - Tmp1 = b_24022; + Tmp1 = b_65222; } - result_24023 = Tmp1; + result_65223 = Tmp1; break BeforeRet; } while (false); - return result_24023; + return result_65223; } -function nimMin(a_24003, b_24004) { +function nimMin(a_65203, b_65204) { var Tmp1; - var result_24005 = 0; + var result_65205 = 0; BeforeRet: do { - if ((a_24003 <= b_24004)) { - Tmp1 = a_24003; + if ((a_65203 <= b_65204)) { + Tmp1 = a_65203; } else { - Tmp1 = b_24004; + Tmp1 = b_65204; } - result_24005 = Tmp1; + result_65205 = Tmp1; break BeforeRet; } while (false); - return result_24005; + return result_65205; } +var nimvm_49710 = false; var nim_program_result = 0; -var global_raise_hook_18618 = [null]; -var local_raise_hook_18623 = [null]; -var out_of_mem_hook_18626 = [null]; +var global_raise_hook_59618 = [null]; +var local_raise_hook_59623 = [null]; +var out_of_mem_hook_59626 = [null]; if (!Math.trunc) { Math.trunc = function(v) { v = +v; @@ -578,38 +614,38 @@ var out_of_mem_hook_18626 = [null]; return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0); }; } -var alternative_164315 = [null]; +var alternative_203319 = [null]; -function is_fat_pointer_24401(ti_24403) { - var result_24404 = false; +function is_fat_pointer_65801(ti_65803) { + var result_65804 = false; BeforeRet: do { - result_24404 = !((ConstSet1[ti_24403.base.kind] != undefined)); + result_65804 = !((ConstSet1[ti_65803.base.kind] != undefined)); break BeforeRet; } while (false); - return result_24404; + return result_65804; } -function nimCopyAux(dest_24432, src_24433, n_24435) { - switch (n_24435.kind) { +function nimCopyAux(dest_65832, src_65833, n_65835) { + switch (n_65835.kind) { case 0: break; case 1: - dest_24432[n_24435.offset] = nimCopy(dest_24432[n_24435.offset], src_24433[n_24435.offset], n_24435.typ); + dest_65832[n_65835.offset] = nimCopy(dest_65832[n_65835.offset], src_65833[n_65835.offset], n_65835.typ); break; case 2: - for (var i = 0; i < n_24435.sons.length; i++) { - nimCopyAux(dest_24432, src_24433, n_24435.sons[i]); + for (var i = 0; i < n_65835.sons.length; i++) { + nimCopyAux(dest_65832, src_65833, n_65835.sons[i]); } break; case 3: - dest_24432[n_24435.offset] = nimCopy(dest_24432[n_24435.offset], src_24433[n_24435.offset], n_24435.typ); - for (var i = 0; i < n_24435.sons.length; ++i) { - nimCopyAux(dest_24432, src_24433, n_24435.sons[i][1]); + dest_65832[n_65835.offset] = nimCopy(dest_65832[n_65835.offset], src_65833[n_65835.offset], n_65835.typ); + for (var i = 0; i < n_65835.sons.length; ++i) { + nimCopyAux(dest_65832, src_65833, n_65835.sons[i][1]); } break; @@ -618,112 +654,124 @@ function nimCopyAux(dest_24432, src_24433, n_24435) { } -function add_18638(x_18641, x_18641_Idx, y_18642) { - if (x_18641[x_18641_Idx] === null) { x_18641[x_18641_Idx] = []; } - var off = x_18641[x_18641_Idx].length; - x_18641[x_18641_Idx].length += y_18642.length; - for (var i = 0; i < y_18642.length; ++i) { - x_18641[x_18641_Idx][off+i] = y_18642.charCodeAt(i); +function add_59638(x_59641, x_59641_Idx, y_59642) { + if (x_59641[x_59641_Idx] === null) { x_59641[x_59641_Idx] = []; } + var off = x_59641[x_59641_Idx].length; + x_59641[x_59641_Idx].length += y_59642.length; + for (var i = 0; i < y_59642.length; ++i) { + x_59641[x_59641_Idx][off+i] = y_59642.charCodeAt(i); } } -function aux_write_stack_trace_21151(f_21153) { +function aux_write_stack_trace_62151(f_62153) { var Tmp3; - var result_21154 = [null]; + var result_62154 = [null]; - var it_21162 = f_21153; - var i_21164 = 0; - var total_21166 = 0; - var temp_frames_21173 = arrayConstr(64, {Field0: null, Field1: 0}, NTI21156); + var it_62162 = f_62153; + var i_62164 = 0; + var total_62166 = 0; + var temp_frames_62173 = arrayConstr(64, {Field0: null, Field1: 0}, NTI62156); L1: do { L2: while (true) { - if (!!((it_21162 == null))) Tmp3 = false; else { Tmp3 = (i_21164 <= 63); } if (!Tmp3) break L2; - temp_frames_21173[i_21164].Field0 = it_21162.procname; - temp_frames_21173[i_21164].Field1 = it_21162.line; - i_21164 += 1; - total_21166 += 1; - it_21162 = it_21162.prev; + if (!!((it_62162 == null))) Tmp3 = false; else { Tmp3 = (i_62164 <= 63); } if (!Tmp3) break L2; + temp_frames_62173[i_62164].Field0 = it_62162.procname; + temp_frames_62173[i_62164].Field1 = it_62162.line; + i_62164 += 1; + total_62166 += 1; + it_62162 = it_62162.prev; } } while(false); L4: do { L5: while (true) { - if (!!((it_21162 == null))) break L5; - total_21166 += 1; - it_21162 = it_21162.prev; + if (!!((it_62162 == null))) break L5; + total_62166 += 1; + it_62162 = it_62162.prev; } } while(false); - result_21154[0] = nimCopy(null, [], NTI138); - if (!((total_21166 == i_21164))) { - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit("(")); } else { result_21154[0] = makeNimstrLit("("); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(cstrToNimstr(((total_21166 - i_21164))+"")); } else { result_21154[0] = cstrToNimstr(((total_21166 - i_21164))+"").slice(); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit(" calls omitted) ...\x0A")); } else { result_21154[0] = makeNimstrLit(" calls omitted) ...\x0A"); }; + result_62154[0] = nimCopy(null, [], NTI43040); + if (!((total_62166 == i_62164))) { + if (result_62154[0] != null) { result_62154[0] = (result_62154[0]).concat(makeNimstrLit("(")); } else { result_62154[0] = makeNimstrLit("("); }; + if (result_62154[0] != null) { result_62154[0] = (result_62154[0]).concat(cstrToNimstr(((total_62166 - i_62164))+"")); } else { result_62154[0] = cstrToNimstr(((total_62166 - i_62164))+"").slice(); }; + if (result_62154[0] != null) { result_62154[0] = (result_62154[0]).concat(makeNimstrLit(" calls omitted) ...\x0A")); } else { result_62154[0] = makeNimstrLit(" calls omitted) ...\x0A"); }; } L6: do { - var j_21421 = 0; - var colontmp__164456 = 0; - colontmp__164456 = (i_21164 - 1); - var res_164461 = colontmp__164456; + var j_62421 = 0; + var colontmp__203466 = 0; + colontmp__203466 = (i_62164 - 1); + var res_203471 = colontmp__203466; L7: do { L8: while (true) { - if (!(0 <= res_164461)) break L8; - j_21421 = res_164461; - add_18638(result_21154, 0, temp_frames_21173[j_21421].Field0); - if ((0 < temp_frames_21173[j_21421].Field1)) { - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit(", line: ")); } else { result_21154[0] = makeNimstrLit(", line: "); }; - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(cstrToNimstr((temp_frames_21173[j_21421].Field1)+"")); } else { result_21154[0] = cstrToNimstr((temp_frames_21173[j_21421].Field1)+"").slice(); }; + if (!(0 <= res_203471)) break L8; + j_62421 = res_203471; + add_59638(result_62154, 0, temp_frames_62173[j_62421].Field0); + if ((0 < temp_frames_62173[j_62421].Field1)) { + if (result_62154[0] != null) { result_62154[0] = (result_62154[0]).concat(makeNimstrLit(", line: ")); } else { result_62154[0] = makeNimstrLit(", line: "); }; + if (result_62154[0] != null) { result_62154[0] = (result_62154[0]).concat(cstrToNimstr((temp_frames_62173[j_62421].Field1)+"")); } else { result_62154[0] = cstrToNimstr((temp_frames_62173[j_62421].Field1)+"").slice(); }; } - if (result_21154[0] != null) { result_21154[0] = (result_21154[0]).concat(makeNimstrLit("\x0A")); } else { result_21154[0] = makeNimstrLit("\x0A"); }; - res_164461 -= 1; + if (result_62154[0] != null) { result_62154[0] = (result_62154[0]).concat(makeNimstrLit("\x0A")); } else { result_62154[0] = makeNimstrLit("\x0A"); }; + res_203471 -= 1; } } while(false); } while(false); - return result_21154[0]; + return result_62154[0]; } -function raw_write_stack_trace_21468() { - var result_21470 = null; +function raw_write_stack_trace_62468() { + var result_62470 = null; if (!((framePtr == null))) { - result_21470 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(aux_write_stack_trace_21151(framePtr) || []), NTI138); + result_62470 = nimCopy(null, (makeNimstrLit("Traceback (most recent call last)\x0A") || []).concat(aux_write_stack_trace_62151(framePtr) || []), NTI43040); } else { - result_21470 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI138); + result_62470 = nimCopy(null, makeNimstrLit("No stack traceback available\x0A"), NTI43040); } - return result_21470; + return result_62470; } -function unhandledException(e_21529) { - var buf_21530 = [[]]; - if (!(((e_21529.message != null ? e_21529.message.length : 0) == 0))) { - if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(makeNimstrLit("Error: unhandled exception: ")); } else { buf_21530[0] = makeNimstrLit("Error: unhandled exception: "); }; - if (buf_21530[0] != null) { buf_21530[0] = (buf_21530[0]).concat(e_21529.message); } else { buf_21530[0] = e_21529.message.slice(); }; +function new_seq_64336(len_64339) { + var result_64341 = null; + + var F={procname:"newSeq.newSeq",prev:framePtr,filename:"system.nim",line:0}; + framePtr = F; + F.line = 996; + result_64341 = new Array(len_64339); for (var i=0;i", "text/html"); - stuff_164566 = doc.documentElement; + stuff_203563 = doc.documentElement; F.line = 286; - db_164523[0] = nimCopy(null, stuff_164566.getElementsByClassName("reference"), NTI44305); + db_203535[0] = nimCopy(null, stuff_203563.getElementsByClassName("reference"), NTI85305); F.line = 287; - contents_164525[0] = nimCopy(null, [], NTI164579); + contents_203537[0] = nimCopy(null, [], NTI203578); L1: do { F.line = 288; - var ahref_164814 = null; + var ahref_203814 = null; + F.line = 184; + var i_204045 = 0; F.line = 185; - var i_165043 = 0; - F.line = 186; - var l_165044 = (db_164523[0] != null ? db_164523[0].length : 0); + var l_204046 = (db_203535[0] != null ? db_203535[0].length : 0); L2: do { - F.line = 187; + F.line = 186; L3: while (true) { - if (!(i_165043 < l_165044)) break L3; + if (!(i_204045 < l_204046)) break L3; F.line = 288; - ahref_164814 = db_164523[0][chckIndx(i_165043, 0, db_164523[0].length+0-1)-0]; + ahref_203814 = db_203535[0][chckIndx(i_204045, 0, db_203535[0].length+0-1)-0]; F.line = 289; - if (contents_164525[0] != null) { contents_164525[0].push(ahref_164814.getAttribute("data-doc-search-tag")); } else { contents_164525[0] = [ahref_164814.getAttribute("data-doc-search-tag")]; }; + if (contents_203537[0] != null) { contents_203537[0].push(ahref_203814.getAttribute("data-doc-search-tag")); } else { contents_203537[0] = [ahref_203814.getAttribute("data-doc-search-tag")]; }; + F.line = 188; + i_204045 = addInt(i_204045, 1); + if (!(((db_203535[0] != null ? db_203535[0].length : 0) == l_204046))) { F.line = 189; - i_165043 = addInt(i_165043, 1); - if (!(((db_164523[0] != null ? db_164523[0].length : 0) == l_165044))) { - F.line = 190; - failed_assert_impl_15051(makeNimstrLit("/home/genotrance/.choosenim/toolchains/nim-0.20.2/lib/system/iterators.nim(190, 11) `len(a) == L` the length of the seq changed while iterating over it")); + failed_assert_impl_56866(makeNimstrLit("/home/genotrance/programming/nimdevel/lib/system/iterators.nim(189, 11) `len(a) == L` the length of the seq changed while iterating over it")); } } @@ -1841,126 +1889,126 @@ function dosearch_164557(value_164559) { } F.line = 290; - var ul_164825 = tree_163020(makeNimstrLit("UL"), []); + var ul_203825 = tree_202020(makeNimstrLit("UL"), []); F.line = 291; - result_164560 = tree_163020(makeNimstrLit("DIV"), []); + result_203557 = tree_202020(makeNimstrLit("DIV"), []); F.line = 292; - set_class_163103(result_164560, makeNimstrLit("search_results")); + set_class_202103(result_203557, makeNimstrLit("search_results")); F.line = 293; - var matches_164844 = []; + var matches_203846 = []; L4: do { F.line = 294; - var i_164857 = 0; - F.line = 2716; - var colontmp__165050 = 0; + var i_203859 = 0; + F.line = 2718; + var colontmp__204052 = 0; F.line = 294; - colontmp__165050 = (db_164523[0] != null ? db_164523[0].length : 0); - F.line = 2717; - var i_165051 = 0; + colontmp__204052 = (db_203535[0] != null ? db_203535[0].length : 0); + F.line = 2720; + var i_204053 = 0; L5: do { - F.line = 2718; + F.line = 2721; L6: while (true) { - if (!(i_165051 < colontmp__165050)) break L6; + if (!(i_204053 < colontmp__204052)) break L6; F.line = 294; - i_164857 = i_165051; + i_203859 = i_204053; L7: do { F.line = 295; - var c_164858 = contents_164525[0][chckIndx(i_164857, 0, contents_164525[0].length+0-1)-0]; - if (((c_164858 == "Examples") || (c_164858 == "PEG construction"))) { + var c_203860 = contents_203537[0][chckIndx(i_203859, 0, contents_203537[0].length+0-1)-0]; + if (((c_203860 == "Examples") || (c_203860 == "PEG construction"))) { F.line = 300; break L7; } F.line = 301; - var colontmp__165060 = {Field0: 0, Field1: false}; + var colontmp__204062 = {Field0: 0, Field1: false}; F.line = 301; - var score_164859 = 0; + var score_203861 = 0; F.line = 301; - var matched_164860 = false; + var matched_203862 = false; F.line = 301; - nimCopy(colontmp__165060, fuzzy_match_162070(value_164559, c_164858), NTI162074); + nimCopy(colontmp__204062, fuzzy_match_201070(value_203556, c_203860), NTI201074); F.line = 301; - score_164859 = colontmp__165060["Field0"]; + score_203861 = colontmp__204062["Field0"]; F.line = 301; - matched_164860 = colontmp__165060["Field1"]; - if (matched_164860) { + matched_203862 = colontmp__204062["Field1"]; + if (matched_203862) { F.line = 303; - if (matches_164844 != null) { matches_164844.push({Field0: db_164523[0][chckIndx(i_164857, 0, db_164523[0].length+0-1)-0], Field1: score_164859}); } else { matches_164844 = [{Field0: db_164523[0][chckIndx(i_164857, 0, db_164523[0].length+0-1)-0], Field1: score_164859}]; }; + if (matches_203846 != null) { matches_203846.push({Field0: db_203535[0][chckIndx(i_203859, 0, db_203535[0].length+0-1)-0], Field1: score_203861}); } else { matches_203846 = [{Field0: db_203535[0][chckIndx(i_203859, 0, db_203535[0].length+0-1)-0], Field1: score_203861}]; }; } } while(false); - F.line = 2720; - i_165051 = addInt(i_165051, 1); + F.line = 2723; + i_204053 = addInt(i_204053, 1); } } while(false); } while(false); F.line = 305; - matches_164844.sort(HEX3Aanonymous_164871); + matches_203846.sort(HEX3Aanonymous_203873); L8: do { F.line = 306; - var i_164924 = 0; - F.line = 2716; - var colontmp__165056 = 0; + var i_203926 = 0; + F.line = 2718; + var colontmp__204058 = 0; F.line = 306; - colontmp__165056 = nimMin((matches_164844 != null ? matches_164844.length : 0), 19); - F.line = 2717; - var i_165057 = 0; + colontmp__204058 = nimMin((matches_203846 != null ? matches_203846.length : 0), 19); + F.line = 2720; + var i_204059 = 0; L9: do { - F.line = 2718; + F.line = 2721; L10: while (true) { - if (!(i_165057 < colontmp__165056)) break L10; + if (!(i_204059 < colontmp__204058)) break L10; F.line = 306; - i_164924 = i_165057; + i_203926 = i_204059; F.line = 307; - matches_164844[chckIndx(i_164924, 0, matches_164844.length+0-1)-0]["Field0"].innerHTML = matches_164844[chckIndx(i_164924, 0, matches_164844.length+0-1)-0]["Field0"].getAttribute("data-doc-search-tag"); + matches_203846[chckIndx(i_203926, 0, matches_203846.length+0-1)-0]["Field0"].innerHTML = matches_203846[chckIndx(i_203926, 0, matches_203846.length+0-1)-0]["Field0"].getAttribute("data-doc-search-tag"); F.line = 308; - add_163085(ul_164825, tree_163020(makeNimstrLit("LI"), [matches_164844[chckIndx(i_164924, 0, matches_164844.length+0-1)-0]["Field0"]])); - F.line = 2720; - i_165057 = addInt(i_165057, 1); + add_202085(ul_203825, tree_202020(makeNimstrLit("LI"), [matches_203846[chckIndx(i_203926, 0, matches_203846.length+0-1)-0]["Field0"]])); + F.line = 2723; + i_204059 = addInt(i_204059, 1); } } while(false); } while(false); - if ((ul_164825.childNodes.length == 0)) { + if ((ul_203825.childNodes.length == 0)) { F.line = 310; - add_163085(result_164560, tree_163020(makeNimstrLit("B"), [text_163120(makeNimstrLit("no search results"))])); + add_202085(result_203557, tree_202020(makeNimstrLit("B"), [text_202120(makeNimstrLit("no search results"))])); } else { F.line = 312; - add_163085(result_164560, tree_163020(makeNimstrLit("B"), [text_163120(makeNimstrLit("search results"))])); + add_202085(result_203557, tree_202020(makeNimstrLit("B"), [text_202120(makeNimstrLit("search results"))])); F.line = 313; - add_163085(result_164560, ul_164825); + add_202085(result_203557, ul_203825); } framePtr = F.prev; - return result_164560; + return result_203557; } function search() { - function wrapper_164991() { + function wrapper_203993() { var F={procname:"search.wrapper",prev:framePtr,filename:"dochack.nim",line:0}; framePtr = F; F.line = 320; - var elem_164993 = document.getElementById("searchInput"); + var elem_203995 = document.getElementById("searchInput"); F.line = 321; - var value_164994 = elem_164993.value; - if (!(((value_164994 != null ? value_164994.length : 0) == 0))) { - if ((oldtoc_164959[0] == null)) { + var value_203996 = elem_203995.value; + if (!(((value_203996 != null ? value_203996.length : 0) == 0))) { + if ((oldtoc_203961[0] == null)) { F.line = 324; - oldtoc_164959[0] = document.getElementById("tocRoot"); + oldtoc_203961[0] = document.getElementById("tocRoot"); } F.line = 325; - var results_165000 = dosearch_164557(value_164994); + var results_204002 = dosearch_203554(value_203996); F.line = 326; - replace_by_id_163172("tocRoot", results_165000); + replace_by_id_202172("tocRoot", results_204002); } else { - if (!((oldtoc_164959[0] == null))) { + if (!((oldtoc_203961[0] == null))) { F.line = 328; - replace_by_id_163172("tocRoot", oldtoc_164959[0]); + replace_by_id_202172("tocRoot", oldtoc_203961[0]); } } framePtr = F.prev; @@ -1970,13 +2018,13 @@ function search() { var F={procname:"dochack.search",prev:framePtr,filename:"dochack.nim",line:0}; framePtr = F; - if (!((timer_164960[0] == null))) { + if (!((timer_203962[0] == null))) { F.line = 330; - clearTimeout(timer_164960[0]); + clearTimeout(timer_203962[0]); } F.line = 331; - timer_164960[0] = setTimeout(wrapper_164991, 400); + timer_203962[0] = setTimeout(wrapper_203993, 400); framePtr = F.prev; diff --git a/git.html b/git.html index a78d383..e5f05dd 100644 --- a/git.html +++ b/git.html @@ -834,12 +834,18 @@ function main() {