diff --git a/.gitignore b/.gitignore index e5dbf01..63e2a1c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -tests/test1 +tests/bin/ testresults/ nimcache/ diff --git a/README.md b/README.md index 3224f65..e292556 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,20 @@ Nim bindings to the FFTW3 library, to compute Fourier transforms of various kind # Installation Use nimble `nimble install fftw3` to install the latest released version +To generate the documentation locally use ``nimble doc --project src/fftw3.nim`` # Usage -I advise to read the fftw documentation : +Read the documentation here with the complete API and examples : https://clonkk.github.io/nimfftw3/ -You can find the documentation here with the complete API and examples : https://clonkk.github.io/nimfftw3/ +If you don't know how to use FFTW, read the official FFTW's documentation : http://www.fftw.org/fftw3_doc/ + +# Contributing and evolution + +Any help and contribution is welcomed ! + +As much as possible, breaking change in API should be avoided. +Improving documentation and providing better high-level API are the focus for now. # History diff --git a/fftw3.nimble b/fftw3.nimble index 7449b6e..4fc9a6e 100644 --- a/fftw3.nimble +++ b/fftw3.nimble @@ -1,6 +1,6 @@ # Package -version = "0.2.9" +version = "0.3.0" author = "rcaillaud" description = "Nim FFTW bindings" license = "LGPL-2.1" @@ -11,3 +11,4 @@ srcDir = "src" requires "nim >= 1.2.0" requires "arraymancer >= 0.6.1" + diff --git a/src/fftw3.nim b/src/fftw3.nim index f4d03d7..a91667b 100644 --- a/src/fftw3.nim +++ b/src/fftw3.nim @@ -13,25 +13,21 @@ ### Examples -## C-Binding low-level example +#### C-Binding low-level example ## .. code-block:: nim -## const N = 3 -## var input : array[1..N, cdouble] = [0.0, 2.0, 6.0] -## var output : array[1..N, cdouble] -## -## let plan = fftw_plan_r2r_1d(N, addr(input[low(input)]), addr(output[low(output)]), -## FFTW_REDFT00, FFTW_ESTIMATE) -## -## input = [0.0, 2.0, 6.0] -## fftw_execute(plan) -## -## let expectedResult : array[1..N, cdouble] = [10.0, -6.0, 2.0] -## for i in low(output)..high(output): -## assert abs(output[i] - expectedResult[i]) < 1.0e-14 - - -## Arraymancer API example +## const N = 3 +## var input: array[1..N, cdouble] = [0.0, 2.0, 6.0] +## var output: array[1..N, cdouble] +## let plan = fftw_plan_r2r_1d(N, addr(input[low(input)]), +## addr(output[low(output)]), FFTW_REDFT00, FFTW_ESTIMATE) +## input = [0.0, 2.0, 6.0] +## fftw_execute(plan) +## let expectedResult: array[1..N, cdouble] = [10.0, -6.0, 2.0] +## for i in low(output)..high(output): +## assert abs(output[i] - expectedResult[i]) < 1.0e-14 + +#### Arraymancer API example ## .. code-block:: nim ## var input : Tensor[Complex64] = # Insert data in your input Tensor... @@ -42,64 +38,63 @@ ## # Execute plan in-place ## fftw_execute(plan) -## Arraymancer non-official API for ease of use +### Planner flags + +## Planner are const integer that specify how the DFT plan should be computed. +## More information about `planner flags `_ import arraymancer import sequtils import complex import arraymancer/tensor/private/p_accessors - - -when defined(windows): - const LibraryName = "fftw3.dll" -elif defined(macosx): - const LibraryName = "libfftw3(|.0).dylib" -else: - const LibraryName = "libfftw3.so" - -type - fftw_r2r_kind* = enum - FFTW_R2HC = 0, FFTW_HC2R = 1, FFTW_DHT = 2, FFTW_REDFT00 = 3, - FFTW_REDFT01 = 4, FFTW_REDFT10 = 5, FFTW_REDFT11 = 6, FFTW_RODFT00 = 7, - FFTW_RODFT01 = 8, FFTW_RODFT10 = 9, FFTW_RODFT11 = 10 +import fftw3/libutils +# Import mostly for documentation links +{.push warning[UnusedImport]: off.} +import fftw3/guru, fftw3/wisdom +{.pop.} +# export used types +export fftw_plan +export fftw_r2r_kind const - FFTW_MEASURE* = 0 - FFTW_DESTROY_INPUT* = 1 - FFTW_UNALIGNED* = 1 shl 1 + FFTW_MEASURE* = 0 ## ``fftw_plan`` planner flag. + ## + ## Find an optimized plan by computing several FFTs and measuring their execution time. Default planning option. + FFTW_ESTIMATE* = 1 shl 6 ## ``fftw_plan`` planner flag. + ## + ## Instead of time measurements, a simple heuristic is used to pick a plan quickly. The input/output arrays are not overwritten during planning. + FFTW_PATIENT* = 1 shl 5 ## ``fftw_plan`` planner flag. + ## + ## Like FFTW_MEASURE, but considers a wider range of algorithms. + FFTW_EXHAUSTIVE* = 1 shl 3 ## ``fftw_plan`` planner flag. + ## + ## Like FFTW_PATIENT, but considers an even wider range of algorithms. + FFTW_WISDOM_ONLY* = 1 shl 21 ## ``fftw_plan`` planner flag. + ## + ## Special planning mode in which the plan is created only if wisdow is available. + + FFTW_DESTROY_INPUT* = 1 ## ``fftw_plan`` planner flag. + ## + ## An out-of-place transform is allowed to overwrite its input array with arbitrary data. Default value for complex-to-real transform. + FFTW_PRESERVE_INPUT* = 1 shl 4 ## ``fftw_plan`` planner flag. + ## + ## An out-of-place transform must not change its input array. Default value except for complex-to-real (c2r and hc2r). + FFTW_UNALIGNED* = 1 shl 1 ## ``fftw_plan`` planner flag. + ## + ## The algorithm may not impose any unusual alignment requirements on the input/output arrays.(i.e. no SIMD may be used). FFTW_CONSERVE_MEMORY* = 1 shl 2 - FFTW_EXHAUSTIVE* = 1 shl 3 - FFTW_PRESERVE_INPUT* = 1 shl 4 - FFTW_PATIENT* = 1 shl 5 - FFTW_ESTIMATE* = 1 shl 6 - FFTW_WISDOM_ONLY* = 1 shl 21 const - FFTW_FORWARD* = -1 - FFTW_BACKWARD* = 1 - - -type - fftw_iodim* {. pure .} = object - n*: cint - `is`*: cint - os*: cint - - ptrdiff_t* = clong - wchar_t* = cint - fftw_iodim64* {. pure .} = object - n*: ptrdiff_t - `is`*: ptrdiff_t - os*: ptrdiff_t - - fftw_write_char_func* = proc (c: char; a3: pointer) {.cdecl.} - fftw_read_char_func* = proc (a2: pointer): cint {.cdecl.} - fftw_complex* = Complex64 - fftw_plan* = pointer - -## FFT Shift -## Because FFT-Shift is used in many FFT based Algorithm -proc circshift_impl[T](t: Tensor[T], xshift: int, yshift: int, zshift: int): Tensor[T]= + FFTW_FORWARD* = -1 ## ``fftw_plan`` sign flag. + ## + ## Compute a DFT transform. + FFTW_BACKWARD* = 1 ## ``fftw_plan`` sign flag. + ## + ## Compute an inverse DFT transform. + + +# FFT Shift +proc circshift_impl[T](t: Tensor[T], xshift: int, yshift: int, zshift: int): Tensor[T] = assert(t.rank == 3) var X = t.shape[0] var Y = t.shape[1] @@ -114,7 +109,7 @@ proc circshift_impl[T](t: Tensor[T], xshift: int, yshift: int, zshift: int): Ten var kk = (k + zshift) mod Z result[ii, jj, kk] = t[i, j, k] -proc circshift_impl[T](t: Tensor[T], xshift: int, yshift: int): Tensor[T]= +proc circshift_impl[T](t: Tensor[T], xshift: int, yshift: int): Tensor[T] = assert(t.rank == 2) var X = t.shape[0] var Y = t.shape[1] @@ -126,7 +121,7 @@ proc circshift_impl[T](t: Tensor[T], xshift: int, yshift: int): Tensor[T]= var jj = (j + yshift) mod Y result[ii, jj] = t[i, j] -proc circshift_impl[T](t: Tensor[T], xshift: int): Tensor[T]= +proc circshift_impl[T](t: Tensor[T], xshift: int): Tensor[T] = assert(t.rank == 1) var X = t.shape[0] @@ -136,16 +131,16 @@ proc circshift_impl[T](t: Tensor[T], xshift: int): Tensor[T]= result[ii] = t[i] # TODO : Generic implementation in parallel -proc circshift_impl[T](t: Tensor[T], shift: seq[int]): Tensor[T]= +proc circshift_impl[T](t: Tensor[T], shift: seq[int]): Tensor[T] = let shape = t.shape.toSeq result = newTensor[T](t.shape.toSeq) for coord, values in t: - var newcoord : seq[int] = newSeq[int](t.rank) + var newcoord: seq[int] = newSeq[int](t.rank) for i in 0.. Use complex + fftw_complex = Complex64 + fftw_plan* = pointer + + +proc fftw_fprint_plan*(p: fftw_plan, output_file: ptr FILE) {.cdecl, importc: "fftw_fprint_plan", dynlib: Fftw3Lib.} + +proc fftw_print_plan*(p: fftw_plan) {.cdecl, importc: "fftw_print_plan", dynlib: Fftw3Lib.} + +proc fftw_sprint_plan*(p: fftw_plan): cstring {.cdecl, importc: "fftw_sprint_plan", dynlib: Fftw3Lib.} + +proc fftw_malloc*(n: csize_t): pointer {.cdecl, importc: "fftw_malloc", dynlib: Fftw3Lib.} + +proc fftw_alloc_real*(n: csize_t): ptr cdouble {.cdecl, importc: "fftw_alloc_real", dynlib: Fftw3Lib.} + +proc fftw_alloc_complex*(n: csize_t): ptr fftw_complex {.cdecl, importc: "fftw_alloc_complex", dynlib: Fftw3Lib.} + +proc fftw_free*(p: pointer) {.cdecl, importc: "fftw_free", dynlib: Fftw3Lib.} + +proc fftw_flops*(p: fftw_plan, add: ptr cdouble, mul: ptr cdouble, fmas: ptr cdouble) {.cdecl, importc: "fftw_flops", + dynlib: Fftw3Lib.} + +proc fftw_estimate_cost*(p: fftw_plan): cdouble {.cdecl, importc: "fftw_estimate_cost", dynlib: Fftw3Lib.} + +proc fftw_cost*(p: fftw_plan): cdouble {.cdecl, importc: "fftw_cost", dynlib: Fftw3Lib.} + +proc fftw_alignment_of*(p: ptr cdouble): cint {.cdecl, importc: "fftw_alignment_of", dynlib: Fftw3Lib.} + +let fftw_version* {.importc: "fftw_version", dynlib: Fftw3Lib.}: cstring + +var fftw_cc* {.importc: "fftw_cc", dynlib: Fftw3Lib.}: cstring + +var fftw_codelet_optim* {.importc: "fftw_codelet_optim", dynlib: Fftw3Lib.}: cstring + diff --git a/src/fftw3/wisdom.nim b/src/fftw3/wisdom.nim new file mode 100644 index 0000000..f4044a0 --- /dev/null +++ b/src/fftw3/wisdom.nim @@ -0,0 +1,23 @@ +import libutils + +## FFTW Wisdom API for saving and restoring ``fftw_plan`` from disk. +## See `Wisdom documentation `_ for more information. + +proc fftw_forget_wisdom*() {.cdecl, importc: "fftw_forget_wisdom", dynlib: Fftw3Lib.} +proc fftw_export_wisdom_to_filename*(filename: cstring): cint {.cdecl, importc: "fftw_export_wisdom_to_filename", + dynlib: Fftw3Lib.} +proc fftw_export_wisdom_to_file*(output_file: ptr FILE) {.cdecl, importc: "fftw_export_wisdom_to_file", + dynlib: Fftw3Lib.} +proc fftw_export_wisdom_to_string*(): cstring {.cdecl, importc: "fftw_export_wisdom_to_string", dynlib: Fftw3Lib.} +proc fftw_export_wisdom*(write_char: fftw_write_char_func, data: pointer) {.cdecl, importc: "fftw_export_wisdom", + dynlib: Fftw3Lib.} +proc fftw_import_system_wisdom*(): cint {.cdecl, importc: "fftw_import_system_wisdom", dynlib: Fftw3Lib.} +proc fftw_import_wisdom_from_filename*(filename: cstring): cint {.cdecl, importc: "fftw_import_wisdom_from_filename", + dynlib: Fftw3Lib.} +proc fftw_import_wisdom_from_file*(input_file: ptr FILE): cint {.cdecl, importc: "fftw_import_wisdom_from_file", + dynlib: Fftw3Lib.} +proc fftw_import_wisdom_from_string*(input_string: cstring): cint {.cdecl, + importc: "fftw_import_wisdom_from_string", dynlib: Fftw3Lib.} +proc fftw_import_wisdom*(read_char: fftw_read_char_func, data: pointer): cint {.cdecl, importc: "fftw_import_wisdom", + dynlib: Fftw3Lib.} + diff --git a/src/htmldocs/dochack.js b/src/htmldocs/dochack.js new file mode 100644 index 0000000..528f311 --- /dev/null +++ b/src/htmldocs/dochack.js @@ -0,0 +1,2007 @@ +/* Generated by the Nim Compiler v1.4.0 */ +var framePtr = null; +var excHandler = 0; +var lastJSError = null; +if (typeof Int8Array === 'undefined') Int8Array = Array; +if (typeof Int16Array === 'undefined') Int16Array = Array; +if (typeof Int32Array === 'undefined') Int32Array = Array; +if (typeof Uint8Array === 'undefined') Uint8Array = Array; +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 NTI10416058 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI1194653 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI10575580 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852476 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852472 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852468 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852464 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852460 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852456 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852452 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852448 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852444 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852440 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852436 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852432 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852428 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852424 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852420 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852416 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852412 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852408 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852404 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852400 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852396 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852392 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852388 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1852205 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852293 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852291 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1853626 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1853617 = {size: 0,kind: 25,base: null,node: null,finalizer: null}; +var NTI1853616 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI1852385 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1853624 = {size: 0, kind: 18, base: null, node: null, finalizer: null}; +var NTI1852387 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852269 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852267 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852659 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852273 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852271 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852657 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852655 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852289 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852287 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852653 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852651 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852277 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852275 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852649 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852673 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852281 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852279 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852671 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1188044 = {size: 0,kind: 31,base: null,node: null,finalizer: null}; +var NTI1852765 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852285 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852283 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1188064 = {size: 0,kind: 1,base: null,node: null,finalizer: null}; +var NTI1852231 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852229 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852245 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852243 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852241 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852239 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1852233 = {size: 0, kind: 14, base: null, node: null, finalizer: null}; +var NTI1852613 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852611 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852609 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1852237 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1852235 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1880505 = {size: 0,kind: 24,base: null,node: null,finalizer: null}; +var NTI1194641 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1194649 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1194408 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1194728 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1188013 = {size: 0,kind: 28,base: null,node: null,finalizer: null}; +var NTI1188015 = {size: 0,kind: 29,base: null,node: null,finalizer: null}; +var NTI1194723 = {size: 0,kind: 22,base: null,node: null,finalizer: null}; +var NTI1194617 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1194619 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1194633 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NTI1194637 = {size: 0, kind: 17, base: null, node: null, finalizer: null}; +var NNI1194637 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1194637.node = NNI1194637; +var NNI1194633 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1194633.node = NNI1194633; +var NNI1194619 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1194619.node = NNI1194619; +NTI1194723.base = NTI1194617; +NTI1194728.base = NTI1194617; +var NNI1194617 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "parent", len: 0, typ: NTI1194723, name: "parent", sons: null}, +{kind: 1, offset: "name", len: 0, typ: NTI1188015, name: "name", sons: null}, +{kind: 1, offset: "message", len: 0, typ: NTI1188013, name: "msg", sons: null}, +{kind: 1, offset: "trace", len: 0, typ: NTI1188013, name: "trace", sons: null}, +{kind: 1, offset: "up", len: 0, typ: NTI1194728, name: "up", sons: null}]}; +NTI1194617.node = NNI1194617; +var NNI1194408 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1194408.node = NNI1194408; +NTI1194617.base = NTI1194408; +NTI1194619.base = NTI1194617; +NTI1194633.base = NTI1194619; +NTI1194637.base = NTI1194633; +var NNI1194649 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1194649.node = NNI1194649; +NTI1194649.base = NTI1194619; +var NNI1194641 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1194641.node = NNI1194641; +NTI1194641.base = NTI1194619; +NTI1852609.base = NTI1852235; +NTI1852611.base = NTI1852235; +NTI1852613.base = NTI1852235; +var NNI1852233 = {kind: 2, offset: 0, typ: null, name: null, len: 12, sons: {"1": {kind: 1, offset: 1, typ: NTI1852233, name: "ElementNode", len: 0, sons: null}, +"2": {kind: 1, offset: 2, typ: NTI1852233, name: "AttributeNode", len: 0, sons: null}, +"3": {kind: 1, offset: 3, typ: NTI1852233, name: "TextNode", len: 0, sons: null}, +"4": {kind: 1, offset: 4, typ: NTI1852233, name: "CDATANode", len: 0, sons: null}, +"5": {kind: 1, offset: 5, typ: NTI1852233, name: "EntityRefNode", len: 0, sons: null}, +"6": {kind: 1, offset: 6, typ: NTI1852233, name: "EntityNode", len: 0, sons: null}, +"7": {kind: 1, offset: 7, typ: NTI1852233, name: "ProcessingInstructionNode", len: 0, sons: null}, +"8": {kind: 1, offset: 8, typ: NTI1852233, name: "CommentNode", len: 0, sons: null}, +"9": {kind: 1, offset: 9, typ: NTI1852233, name: "DocumentNode", len: 0, sons: null}, +"10": {kind: 1, offset: 10, typ: NTI1852233, name: "DocumentTypeNode", len: 0, sons: null}, +"11": {kind: 1, offset: 11, typ: NTI1852233, name: "DocumentFragmentNode", len: 0, sons: null}, +"12": {kind: 1, offset: 12, typ: NTI1852233, name: "NotationNode", len: 0, sons: null}}}; +NTI1852233.node = NNI1852233; +var NNI1852231 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1852231.node = NNI1852231; +NTI1852231.base = NTI1194408; +NTI1852229.base = NTI1852231; +NTI1852765.base = NTI1852243; +var NNI1852285 = {kind: 2, len: 10, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "acceptCharset", len: 0, typ: NTI1188015, name: "acceptCharset", sons: null}, +{kind: 1, offset: "action", len: 0, typ: NTI1188015, name: "action", sons: null}, +{kind: 1, offset: "autocomplete", len: 0, typ: NTI1188015, name: "autocomplete", sons: null}, +{kind: 1, offset: "elements", len: 0, typ: NTI1852765, name: "elements", sons: null}, +{kind: 1, offset: "encoding", len: 0, typ: NTI1188015, name: "encoding", sons: null}, +{kind: 1, offset: "enctype", len: 0, typ: NTI1188015, name: "enctype", sons: null}, +{kind: 1, offset: "length", len: 0, typ: NTI1188044, name: "length", sons: null}, +{kind: 1, offset: "method", len: 0, typ: NTI1188015, name: "method", sons: null}, +{kind: 1, offset: "noValidate", len: 0, typ: NTI1188064, name: "noValidate", sons: null}, +{kind: 1, offset: "target", len: 0, typ: NTI1188015, name: "target", sons: null}]}; +NTI1852285.node = NNI1852285; +NTI1852285.base = NTI1852245; +NTI1852283.base = NTI1852285; +var NNI1852281 = {kind: 2, len: 5, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "defaultSelected", len: 0, typ: NTI1188064, name: "defaultSelected", sons: null}, +{kind: 1, offset: "selected", len: 0, typ: NTI1188064, name: "selected", sons: null}, +{kind: 1, offset: "selectedIndex", len: 0, typ: NTI1188044, name: "selectedIndex", sons: null}, +{kind: 1, offset: "text", len: 0, typ: NTI1188015, name: "text", sons: null}, +{kind: 1, offset: "value", len: 0, typ: NTI1188015, name: "value", sons: null}]}; +NTI1852281.node = NNI1852281; +NTI1852281.base = NTI1852245; +NTI1852279.base = NTI1852281; +NTI1852671.base = NTI1852279; +NTI1852673.base = NTI1852279; +var NNI1852245 = {kind: 2, len: 20, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "className", len: 0, typ: NTI1188015, name: "className", sons: null}, +{kind: 1, offset: "classList", len: 0, typ: NTI1852229, name: "classList", sons: null}, +{kind: 1, offset: "checked", len: 0, typ: NTI1188064, name: "checked", sons: null}, +{kind: 1, offset: "defaultChecked", len: 0, typ: NTI1188064, name: "defaultChecked", sons: null}, +{kind: 1, offset: "defaultValue", len: 0, typ: NTI1188015, name: "defaultValue", sons: null}, +{kind: 1, offset: "disabled", len: 0, typ: NTI1188064, name: "disabled", sons: null}, +{kind: 1, offset: "form", len: 0, typ: NTI1852283, name: "form", sons: null}, +{kind: 1, offset: "name", len: 0, typ: NTI1188015, name: "name", sons: null}, +{kind: 1, offset: "readOnly", len: 0, typ: NTI1188064, name: "readOnly", sons: null}, +{kind: 1, offset: "options", len: 0, typ: NTI1852671, name: "options", sons: null}, +{kind: 1, offset: "selectedOptions", len: 0, typ: NTI1852673, name: "selectedOptions", sons: null}, +{kind: 1, offset: "clientWidth", len: 0, typ: NTI1188044, name: "clientWidth", sons: null}, +{kind: 1, offset: "clientHeight", len: 0, typ: NTI1188044, name: "clientHeight", sons: null}, +{kind: 1, offset: "contentEditable", len: 0, typ: NTI1188015, name: "contentEditable", sons: null}, +{kind: 1, offset: "isContentEditable", len: 0, typ: NTI1188064, name: "isContentEditable", sons: null}, +{kind: 1, offset: "dir", len: 0, typ: NTI1188015, name: "dir", sons: null}, +{kind: 1, offset: "offsetHeight", len: 0, typ: NTI1188044, name: "offsetHeight", sons: null}, +{kind: 1, offset: "offsetWidth", len: 0, typ: NTI1188044, name: "offsetWidth", sons: null}, +{kind: 1, offset: "offsetLeft", len: 0, typ: NTI1188044, name: "offsetLeft", sons: null}, +{kind: 1, offset: "offsetTop", len: 0, typ: NTI1188044, name: "offsetTop", sons: null}]}; +NTI1852245.node = NNI1852245; +NTI1852245.base = NTI1852237; +NTI1852243.base = NTI1852245; +var NNI1852277 = {kind: 2, len: 3, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "text", len: 0, typ: NTI1188015, name: "text", sons: null}, +{kind: 1, offset: "x", len: 0, typ: NTI1188044, name: "x", sons: null}, +{kind: 1, offset: "y", len: 0, typ: NTI1188044, name: "y", sons: null}]}; +NTI1852277.node = NNI1852277; +NTI1852277.base = NTI1852245; +NTI1852275.base = NTI1852277; +NTI1852649.base = NTI1852275; +NTI1852651.base = NTI1852283; +var NNI1852289 = {kind: 2, len: 8, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "border", len: 0, typ: NTI1188044, name: "border", sons: null}, +{kind: 1, offset: "complete", len: 0, typ: NTI1188064, name: "complete", sons: null}, +{kind: 1, offset: "height", len: 0, typ: NTI1188044, name: "height", sons: null}, +{kind: 1, offset: "hspace", len: 0, typ: NTI1188044, name: "hspace", sons: null}, +{kind: 1, offset: "lowsrc", len: 0, typ: NTI1188015, name: "lowsrc", sons: null}, +{kind: 1, offset: "src", len: 0, typ: NTI1188015, name: "src", sons: null}, +{kind: 1, offset: "vspace", len: 0, typ: NTI1188044, name: "vspace", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI1188044, name: "width", sons: null}]}; +NTI1852289.node = NNI1852289; +NTI1852289.base = NTI1852245; +NTI1852287.base = NTI1852289; +NTI1852653.base = NTI1852287; +NTI1852655.base = NTI1852243; +var NNI1852273 = {kind: 2, len: 6, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "height", len: 0, typ: NTI1188044, name: "height", sons: null}, +{kind: 1, offset: "hspace", len: 0, typ: NTI1188044, name: "hspace", sons: null}, +{kind: 1, offset: "src", len: 0, typ: NTI1188015, name: "src", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI1188044, name: "width", sons: null}, +{kind: 1, offset: "type", len: 0, typ: NTI1188015, name: "type", sons: null}, +{kind: 1, offset: "vspace", len: 0, typ: NTI1188044, name: "vspace", sons: null}]}; +NTI1852273.node = NNI1852273; +NTI1852273.base = NTI1852245; +NTI1852271.base = NTI1852273; +NTI1852657.base = NTI1852271; +var NNI1852269 = {kind: 2, len: 4, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "target", len: 0, typ: NTI1188015, name: "target", sons: null}, +{kind: 1, offset: "text", len: 0, typ: NTI1188015, name: "text", sons: null}, +{kind: 1, offset: "x", len: 0, typ: NTI1188044, name: "x", sons: null}, +{kind: 1, offset: "y", len: 0, typ: NTI1188044, name: "y", sons: null}]}; +NTI1852269.node = NNI1852269; +NTI1852269.base = NTI1852245; +NTI1852267.base = NTI1852269; +NTI1852659.base = NTI1852267; +var NNI1853616 = {kind: 1, offset: "then", len: 0, typ: NTI1853617, name: "then", sons: null}; +NTI1853616.node = NNI1853616; +NTI1852385.base = NTI1853616; +var NNI1853624 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "ready", len: 0, typ: NTI1852385, name: "ready", sons: null}, +{kind: 1, offset: "onloadingdone", len: 0, typ: NTI1853626, name: "onloadingdone", sons: null}]}; +NTI1853624.node = NNI1853624; +NTI1852387.base = NTI1853624; +var NNI1852241 = {kind: 2, len: 22, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "activeElement", len: 0, typ: NTI1852243, name: "activeElement", sons: null}, +{kind: 1, offset: "alinkColor", len: 0, typ: NTI1188015, name: "alinkColor", sons: null}, +{kind: 1, offset: "bgColor", len: 0, typ: NTI1188015, name: "bgColor", sons: null}, +{kind: 1, offset: "body", len: 0, typ: NTI1852243, name: "body", sons: null}, +{kind: 1, offset: "charset", len: 0, typ: NTI1188015, name: "charset", sons: null}, +{kind: 1, offset: "cookie", len: 0, typ: NTI1188015, name: "cookie", sons: null}, +{kind: 1, offset: "defaultCharset", len: 0, typ: NTI1188015, name: "defaultCharset", sons: null}, +{kind: 1, offset: "fgColor", len: 0, typ: NTI1188015, name: "fgColor", sons: null}, +{kind: 1, offset: "head", len: 0, typ: NTI1852243, name: "head", sons: null}, +{kind: 1, offset: "lastModified", len: 0, typ: NTI1188015, name: "lastModified", sons: null}, +{kind: 1, offset: "linkColor", len: 0, typ: NTI1188015, name: "linkColor", sons: null}, +{kind: 1, offset: "referrer", len: 0, typ: NTI1188015, name: "referrer", sons: null}, +{kind: 1, offset: "title", len: 0, typ: NTI1188015, name: "title", sons: null}, +{kind: 1, offset: "URL", len: 0, typ: NTI1188015, name: "URL", sons: null}, +{kind: 1, offset: "vlinkColor", len: 0, typ: NTI1188015, name: "vlinkColor", sons: null}, +{kind: 1, offset: "anchors", len: 0, typ: NTI1852649, name: "anchors", sons: null}, +{kind: 1, offset: "forms", len: 0, typ: NTI1852651, name: "forms", sons: null}, +{kind: 1, offset: "images", len: 0, typ: NTI1852653, name: "images", sons: null}, +{kind: 1, offset: "applets", len: 0, typ: NTI1852655, name: "applets", sons: null}, +{kind: 1, offset: "embeds", len: 0, typ: NTI1852657, name: "embeds", sons: null}, +{kind: 1, offset: "links", len: 0, typ: NTI1852659, name: "links", sons: null}, +{kind: 1, offset: "fonts", len: 0, typ: NTI1852387, name: "fonts", sons: null}]}; +NTI1852241.node = NNI1852241; +NTI1852241.base = NTI1852237; +NTI1852239.base = NTI1852241; +var NNI1852293 = {kind: 2, len: 368, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "alignContent", len: 0, typ: NTI1188015, name: "alignContent", sons: null}, +{kind: 1, offset: "alignItems", len: 0, typ: NTI1188015, name: "alignItems", sons: null}, +{kind: 1, offset: "alignSelf", len: 0, typ: NTI1188015, name: "alignSelf", sons: null}, +{kind: 1, offset: "all", len: 0, typ: NTI1188015, name: "all", sons: null}, +{kind: 1, offset: "animation", len: 0, typ: NTI1188015, name: "animation", sons: null}, +{kind: 1, offset: "animationDelay", len: 0, typ: NTI1188015, name: "animationDelay", sons: null}, +{kind: 1, offset: "animationDirection", len: 0, typ: NTI1188015, name: "animationDirection", sons: null}, +{kind: 1, offset: "animationDuration", len: 0, typ: NTI1188015, name: "animationDuration", sons: null}, +{kind: 1, offset: "animationFillMode", len: 0, typ: NTI1188015, name: "animationFillMode", sons: null}, +{kind: 1, offset: "animationIterationCount", len: 0, typ: NTI1188015, name: "animationIterationCount", sons: null}, +{kind: 1, offset: "animationName", len: 0, typ: NTI1188015, name: "animationName", sons: null}, +{kind: 1, offset: "animationPlayState", len: 0, typ: NTI1188015, name: "animationPlayState", sons: null}, +{kind: 1, offset: "animationTimingFunction", len: 0, typ: NTI1188015, name: "animationTimingFunction", sons: null}, +{kind: 1, offset: "backdropFilter", len: 0, typ: NTI1188015, name: "backdropFilter", sons: null}, +{kind: 1, offset: "backfaceVisibility", len: 0, typ: NTI1188015, name: "backfaceVisibility", sons: null}, +{kind: 1, offset: "background", len: 0, typ: NTI1188015, name: "background", sons: null}, +{kind: 1, offset: "backgroundAttachment", len: 0, typ: NTI1188015, name: "backgroundAttachment", sons: null}, +{kind: 1, offset: "backgroundBlendMode", len: 0, typ: NTI1188015, name: "backgroundBlendMode", sons: null}, +{kind: 1, offset: "backgroundClip", len: 0, typ: NTI1188015, name: "backgroundClip", sons: null}, +{kind: 1, offset: "backgroundColor", len: 0, typ: NTI1188015, name: "backgroundColor", sons: null}, +{kind: 1, offset: "backgroundImage", len: 0, typ: NTI1188015, name: "backgroundImage", sons: null}, +{kind: 1, offset: "backgroundOrigin", len: 0, typ: NTI1188015, name: "backgroundOrigin", sons: null}, +{kind: 1, offset: "backgroundPosition", len: 0, typ: NTI1188015, name: "backgroundPosition", sons: null}, +{kind: 1, offset: "backgroundRepeat", len: 0, typ: NTI1188015, name: "backgroundRepeat", sons: null}, +{kind: 1, offset: "backgroundSize", len: 0, typ: NTI1188015, name: "backgroundSize", sons: null}, +{kind: 1, offset: "blockSize", len: 0, typ: NTI1188015, name: "blockSize", sons: null}, +{kind: 1, offset: "border", len: 0, typ: NTI1188015, name: "border", sons: null}, +{kind: 1, offset: "borderBlock", len: 0, typ: NTI1188015, name: "borderBlock", sons: null}, +{kind: 1, offset: "borderBlockColor", len: 0, typ: NTI1188015, name: "borderBlockColor", sons: null}, +{kind: 1, offset: "borderBlockEnd", len: 0, typ: NTI1188015, name: "borderBlockEnd", sons: null}, +{kind: 1, offset: "borderBlockEndColor", len: 0, typ: NTI1188015, name: "borderBlockEndColor", sons: null}, +{kind: 1, offset: "borderBlockEndStyle", len: 0, typ: NTI1188015, name: "borderBlockEndStyle", sons: null}, +{kind: 1, offset: "borderBlockEndWidth", len: 0, typ: NTI1188015, name: "borderBlockEndWidth", sons: null}, +{kind: 1, offset: "borderBlockStart", len: 0, typ: NTI1188015, name: "borderBlockStart", sons: null}, +{kind: 1, offset: "borderBlockStartColor", len: 0, typ: NTI1188015, name: "borderBlockStartColor", sons: null}, +{kind: 1, offset: "borderBlockStartStyle", len: 0, typ: NTI1188015, name: "borderBlockStartStyle", sons: null}, +{kind: 1, offset: "borderBlockStartWidth", len: 0, typ: NTI1188015, name: "borderBlockStartWidth", sons: null}, +{kind: 1, offset: "borderBlockStyle", len: 0, typ: NTI1188015, name: "borderBlockStyle", sons: null}, +{kind: 1, offset: "borderBlockWidth", len: 0, typ: NTI1188015, name: "borderBlockWidth", sons: null}, +{kind: 1, offset: "borderBottom", len: 0, typ: NTI1188015, name: "borderBottom", sons: null}, +{kind: 1, offset: "borderBottomColor", len: 0, typ: NTI1188015, name: "borderBottomColor", sons: null}, +{kind: 1, offset: "borderBottomLeftRadius", len: 0, typ: NTI1188015, name: "borderBottomLeftRadius", sons: null}, +{kind: 1, offset: "borderBottomRightRadius", len: 0, typ: NTI1188015, name: "borderBottomRightRadius", sons: null}, +{kind: 1, offset: "borderBottomStyle", len: 0, typ: NTI1188015, name: "borderBottomStyle", sons: null}, +{kind: 1, offset: "borderBottomWidth", len: 0, typ: NTI1188015, name: "borderBottomWidth", sons: null}, +{kind: 1, offset: "borderCollapse", len: 0, typ: NTI1188015, name: "borderCollapse", sons: null}, +{kind: 1, offset: "borderColor", len: 0, typ: NTI1188015, name: "borderColor", sons: null}, +{kind: 1, offset: "borderEndEndRadius", len: 0, typ: NTI1188015, name: "borderEndEndRadius", sons: null}, +{kind: 1, offset: "borderEndStartRadius", len: 0, typ: NTI1188015, name: "borderEndStartRadius", sons: null}, +{kind: 1, offset: "borderImage", len: 0, typ: NTI1188015, name: "borderImage", sons: null}, +{kind: 1, offset: "borderImageOutset", len: 0, typ: NTI1188015, name: "borderImageOutset", sons: null}, +{kind: 1, offset: "borderImageRepeat", len: 0, typ: NTI1188015, name: "borderImageRepeat", sons: null}, +{kind: 1, offset: "borderImageSlice", len: 0, typ: NTI1188015, name: "borderImageSlice", sons: null}, +{kind: 1, offset: "borderImageSource", len: 0, typ: NTI1188015, name: "borderImageSource", sons: null}, +{kind: 1, offset: "borderImageWidth", len: 0, typ: NTI1188015, name: "borderImageWidth", sons: null}, +{kind: 1, offset: "borderInline", len: 0, typ: NTI1188015, name: "borderInline", sons: null}, +{kind: 1, offset: "borderInlineColor", len: 0, typ: NTI1188015, name: "borderInlineColor", sons: null}, +{kind: 1, offset: "borderInlineEnd", len: 0, typ: NTI1188015, name: "borderInlineEnd", sons: null}, +{kind: 1, offset: "borderInlineEndColor", len: 0, typ: NTI1188015, name: "borderInlineEndColor", sons: null}, +{kind: 1, offset: "borderInlineEndStyle", len: 0, typ: NTI1188015, name: "borderInlineEndStyle", sons: null}, +{kind: 1, offset: "borderInlineEndWidth", len: 0, typ: NTI1188015, name: "borderInlineEndWidth", sons: null}, +{kind: 1, offset: "borderInlineStart", len: 0, typ: NTI1188015, name: "borderInlineStart", sons: null}, +{kind: 1, offset: "borderInlineStartColor", len: 0, typ: NTI1188015, name: "borderInlineStartColor", sons: null}, +{kind: 1, offset: "borderInlineStartStyle", len: 0, typ: NTI1188015, name: "borderInlineStartStyle", sons: null}, +{kind: 1, offset: "borderInlineStartWidth", len: 0, typ: NTI1188015, name: "borderInlineStartWidth", sons: null}, +{kind: 1, offset: "borderInlineStyle", len: 0, typ: NTI1188015, name: "borderInlineStyle", sons: null}, +{kind: 1, offset: "borderInlineWidth", len: 0, typ: NTI1188015, name: "borderInlineWidth", sons: null}, +{kind: 1, offset: "borderLeft", len: 0, typ: NTI1188015, name: "borderLeft", sons: null}, +{kind: 1, offset: "borderLeftColor", len: 0, typ: NTI1188015, name: "borderLeftColor", sons: null}, +{kind: 1, offset: "borderLeftStyle", len: 0, typ: NTI1188015, name: "borderLeftStyle", sons: null}, +{kind: 1, offset: "borderLeftWidth", len: 0, typ: NTI1188015, name: "borderLeftWidth", sons: null}, +{kind: 1, offset: "borderRadius", len: 0, typ: NTI1188015, name: "borderRadius", sons: null}, +{kind: 1, offset: "borderRight", len: 0, typ: NTI1188015, name: "borderRight", sons: null}, +{kind: 1, offset: "borderRightColor", len: 0, typ: NTI1188015, name: "borderRightColor", sons: null}, +{kind: 1, offset: "borderRightStyle", len: 0, typ: NTI1188015, name: "borderRightStyle", sons: null}, +{kind: 1, offset: "borderRightWidth", len: 0, typ: NTI1188015, name: "borderRightWidth", sons: null}, +{kind: 1, offset: "borderSpacing", len: 0, typ: NTI1188015, name: "borderSpacing", sons: null}, +{kind: 1, offset: "borderStartEndRadius", len: 0, typ: NTI1188015, name: "borderStartEndRadius", sons: null}, +{kind: 1, offset: "borderStartStartRadius", len: 0, typ: NTI1188015, name: "borderStartStartRadius", sons: null}, +{kind: 1, offset: "borderStyle", len: 0, typ: NTI1188015, name: "borderStyle", sons: null}, +{kind: 1, offset: "borderTop", len: 0, typ: NTI1188015, name: "borderTop", sons: null}, +{kind: 1, offset: "borderTopColor", len: 0, typ: NTI1188015, name: "borderTopColor", sons: null}, +{kind: 1, offset: "borderTopLeftRadius", len: 0, typ: NTI1188015, name: "borderTopLeftRadius", sons: null}, +{kind: 1, offset: "borderTopRightRadius", len: 0, typ: NTI1188015, name: "borderTopRightRadius", sons: null}, +{kind: 1, offset: "borderTopStyle", len: 0, typ: NTI1188015, name: "borderTopStyle", sons: null}, +{kind: 1, offset: "borderTopWidth", len: 0, typ: NTI1188015, name: "borderTopWidth", sons: null}, +{kind: 1, offset: "borderWidth", len: 0, typ: NTI1188015, name: "borderWidth", sons: null}, +{kind: 1, offset: "bottom", len: 0, typ: NTI1188015, name: "bottom", sons: null}, +{kind: 1, offset: "boxDecorationBreak", len: 0, typ: NTI1188015, name: "boxDecorationBreak", sons: null}, +{kind: 1, offset: "boxShadow", len: 0, typ: NTI1188015, name: "boxShadow", sons: null}, +{kind: 1, offset: "boxSizing", len: 0, typ: NTI1188015, name: "boxSizing", sons: null}, +{kind: 1, offset: "breakAfter", len: 0, typ: NTI1188015, name: "breakAfter", sons: null}, +{kind: 1, offset: "breakBefore", len: 0, typ: NTI1188015, name: "breakBefore", sons: null}, +{kind: 1, offset: "breakInside", len: 0, typ: NTI1188015, name: "breakInside", sons: null}, +{kind: 1, offset: "captionSide", len: 0, typ: NTI1188015, name: "captionSide", sons: null}, +{kind: 1, offset: "caretColor", len: 0, typ: NTI1188015, name: "caretColor", sons: null}, +{kind: 1, offset: "clear", len: 0, typ: NTI1188015, name: "clear", sons: null}, +{kind: 1, offset: "clip", len: 0, typ: NTI1188015, name: "clip", sons: null}, +{kind: 1, offset: "clipPath", len: 0, typ: NTI1188015, name: "clipPath", sons: null}, +{kind: 1, offset: "color", len: 0, typ: NTI1188015, name: "color", sons: null}, +{kind: 1, offset: "colorAdjust", len: 0, typ: NTI1188015, name: "colorAdjust", sons: null}, +{kind: 1, offset: "columnCount", len: 0, typ: NTI1188015, name: "columnCount", sons: null}, +{kind: 1, offset: "columnFill", len: 0, typ: NTI1188015, name: "columnFill", sons: null}, +{kind: 1, offset: "columnGap", len: 0, typ: NTI1188015, name: "columnGap", sons: null}, +{kind: 1, offset: "columnRule", len: 0, typ: NTI1188015, name: "columnRule", sons: null}, +{kind: 1, offset: "columnRuleColor", len: 0, typ: NTI1188015, name: "columnRuleColor", sons: null}, +{kind: 1, offset: "columnRuleStyle", len: 0, typ: NTI1188015, name: "columnRuleStyle", sons: null}, +{kind: 1, offset: "columnRuleWidth", len: 0, typ: NTI1188015, name: "columnRuleWidth", sons: null}, +{kind: 1, offset: "columnSpan", len: 0, typ: NTI1188015, name: "columnSpan", sons: null}, +{kind: 1, offset: "columnWidth", len: 0, typ: NTI1188015, name: "columnWidth", sons: null}, +{kind: 1, offset: "columns", len: 0, typ: NTI1188015, name: "columns", sons: null}, +{kind: 1, offset: "contain", len: 0, typ: NTI1188015, name: "contain", sons: null}, +{kind: 1, offset: "content", len: 0, typ: NTI1188015, name: "content", sons: null}, +{kind: 1, offset: "counterIncrement", len: 0, typ: NTI1188015, name: "counterIncrement", sons: null}, +{kind: 1, offset: "counterReset", len: 0, typ: NTI1188015, name: "counterReset", sons: null}, +{kind: 1, offset: "counterSet", len: 0, typ: NTI1188015, name: "counterSet", sons: null}, +{kind: 1, offset: "cursor", len: 0, typ: NTI1188015, name: "cursor", sons: null}, +{kind: 1, offset: "direction", len: 0, typ: NTI1188015, name: "direction", sons: null}, +{kind: 1, offset: "display", len: 0, typ: NTI1188015, name: "display", sons: null}, +{kind: 1, offset: "emptyCells", len: 0, typ: NTI1188015, name: "emptyCells", sons: null}, +{kind: 1, offset: "filter", len: 0, typ: NTI1188015, name: "filter", sons: null}, +{kind: 1, offset: "flex", len: 0, typ: NTI1188015, name: "flex", sons: null}, +{kind: 1, offset: "flexBasis", len: 0, typ: NTI1188015, name: "flexBasis", sons: null}, +{kind: 1, offset: "flexDirection", len: 0, typ: NTI1188015, name: "flexDirection", sons: null}, +{kind: 1, offset: "flexFlow", len: 0, typ: NTI1188015, name: "flexFlow", sons: null}, +{kind: 1, offset: "flexGrow", len: 0, typ: NTI1188015, name: "flexGrow", sons: null}, +{kind: 1, offset: "flexShrink", len: 0, typ: NTI1188015, name: "flexShrink", sons: null}, +{kind: 1, offset: "flexWrap", len: 0, typ: NTI1188015, name: "flexWrap", sons: null}, +{kind: 1, offset: "cssFloat", len: 0, typ: NTI1188015, name: "cssFloat", sons: null}, +{kind: 1, offset: "font", len: 0, typ: NTI1188015, name: "font", sons: null}, +{kind: 1, offset: "fontFamily", len: 0, typ: NTI1188015, name: "fontFamily", sons: null}, +{kind: 1, offset: "fontFeatureSettings", len: 0, typ: NTI1188015, name: "fontFeatureSettings", sons: null}, +{kind: 1, offset: "fontKerning", len: 0, typ: NTI1188015, name: "fontKerning", sons: null}, +{kind: 1, offset: "fontLanguageOverride", len: 0, typ: NTI1188015, name: "fontLanguageOverride", sons: null}, +{kind: 1, offset: "fontOpticalSizing", len: 0, typ: NTI1188015, name: "fontOpticalSizing", sons: null}, +{kind: 1, offset: "fontSize", len: 0, typ: NTI1188015, name: "fontSize", sons: null}, +{kind: 1, offset: "fontSizeAdjust", len: 0, typ: NTI1188015, name: "fontSizeAdjust", sons: null}, +{kind: 1, offset: "fontStretch", len: 0, typ: NTI1188015, name: "fontStretch", sons: null}, +{kind: 1, offset: "fontStyle", len: 0, typ: NTI1188015, name: "fontStyle", sons: null}, +{kind: 1, offset: "fontSynthesis", len: 0, typ: NTI1188015, name: "fontSynthesis", sons: null}, +{kind: 1, offset: "fontVariant", len: 0, typ: NTI1188015, name: "fontVariant", sons: null}, +{kind: 1, offset: "fontVariantAlternates", len: 0, typ: NTI1188015, name: "fontVariantAlternates", sons: null}, +{kind: 1, offset: "fontVariantCaps", len: 0, typ: NTI1188015, name: "fontVariantCaps", sons: null}, +{kind: 1, offset: "fontVariantEastAsian", len: 0, typ: NTI1188015, name: "fontVariantEastAsian", sons: null}, +{kind: 1, offset: "fontVariantLigatures", len: 0, typ: NTI1188015, name: "fontVariantLigatures", sons: null}, +{kind: 1, offset: "fontVariantNumeric", len: 0, typ: NTI1188015, name: "fontVariantNumeric", sons: null}, +{kind: 1, offset: "fontVariantPosition", len: 0, typ: NTI1188015, name: "fontVariantPosition", sons: null}, +{kind: 1, offset: "fontVariationSettings", len: 0, typ: NTI1188015, name: "fontVariationSettings", sons: null}, +{kind: 1, offset: "fontWeight", len: 0, typ: NTI1188015, name: "fontWeight", sons: null}, +{kind: 1, offset: "gap", len: 0, typ: NTI1188015, name: "gap", sons: null}, +{kind: 1, offset: "grid", len: 0, typ: NTI1188015, name: "grid", sons: null}, +{kind: 1, offset: "gridArea", len: 0, typ: NTI1188015, name: "gridArea", sons: null}, +{kind: 1, offset: "gridAutoColumns", len: 0, typ: NTI1188015, name: "gridAutoColumns", sons: null}, +{kind: 1, offset: "gridAutoFlow", len: 0, typ: NTI1188015, name: "gridAutoFlow", sons: null}, +{kind: 1, offset: "gridAutoRows", len: 0, typ: NTI1188015, name: "gridAutoRows", sons: null}, +{kind: 1, offset: "gridColumn", len: 0, typ: NTI1188015, name: "gridColumn", sons: null}, +{kind: 1, offset: "gridColumnEnd", len: 0, typ: NTI1188015, name: "gridColumnEnd", sons: null}, +{kind: 1, offset: "gridColumnStart", len: 0, typ: NTI1188015, name: "gridColumnStart", sons: null}, +{kind: 1, offset: "gridRow", len: 0, typ: NTI1188015, name: "gridRow", sons: null}, +{kind: 1, offset: "gridRowEnd", len: 0, typ: NTI1188015, name: "gridRowEnd", sons: null}, +{kind: 1, offset: "gridRowStart", len: 0, typ: NTI1188015, name: "gridRowStart", sons: null}, +{kind: 1, offset: "gridTemplate", len: 0, typ: NTI1188015, name: "gridTemplate", sons: null}, +{kind: 1, offset: "gridTemplateAreas", len: 0, typ: NTI1188015, name: "gridTemplateAreas", sons: null}, +{kind: 1, offset: "gridTemplateColumns", len: 0, typ: NTI1188015, name: "gridTemplateColumns", sons: null}, +{kind: 1, offset: "gridTemplateRows", len: 0, typ: NTI1188015, name: "gridTemplateRows", sons: null}, +{kind: 1, offset: "hangingPunctuation", len: 0, typ: NTI1188015, name: "hangingPunctuation", sons: null}, +{kind: 1, offset: "height", len: 0, typ: NTI1188015, name: "height", sons: null}, +{kind: 1, offset: "hyphens", len: 0, typ: NTI1188015, name: "hyphens", sons: null}, +{kind: 1, offset: "imageOrientation", len: 0, typ: NTI1188015, name: "imageOrientation", sons: null}, +{kind: 1, offset: "imageRendering", len: 0, typ: NTI1188015, name: "imageRendering", sons: null}, +{kind: 1, offset: "inlineSize", len: 0, typ: NTI1188015, name: "inlineSize", sons: null}, +{kind: 1, offset: "inset", len: 0, typ: NTI1188015, name: "inset", sons: null}, +{kind: 1, offset: "insetBlock", len: 0, typ: NTI1188015, name: "insetBlock", sons: null}, +{kind: 1, offset: "insetBlockEnd", len: 0, typ: NTI1188015, name: "insetBlockEnd", sons: null}, +{kind: 1, offset: "insetBlockStart", len: 0, typ: NTI1188015, name: "insetBlockStart", sons: null}, +{kind: 1, offset: "insetInline", len: 0, typ: NTI1188015, name: "insetInline", sons: null}, +{kind: 1, offset: "insetInlineEnd", len: 0, typ: NTI1188015, name: "insetInlineEnd", sons: null}, +{kind: 1, offset: "insetInlineStart", len: 0, typ: NTI1188015, name: "insetInlineStart", sons: null}, +{kind: 1, offset: "isolation", len: 0, typ: NTI1188015, name: "isolation", sons: null}, +{kind: 1, offset: "justifyContent", len: 0, typ: NTI1188015, name: "justifyContent", sons: null}, +{kind: 1, offset: "justifyItems", len: 0, typ: NTI1188015, name: "justifyItems", sons: null}, +{kind: 1, offset: "justifySelf", len: 0, typ: NTI1188015, name: "justifySelf", sons: null}, +{kind: 1, offset: "left", len: 0, typ: NTI1188015, name: "left", sons: null}, +{kind: 1, offset: "letterSpacing", len: 0, typ: NTI1188015, name: "letterSpacing", sons: null}, +{kind: 1, offset: "lineBreak", len: 0, typ: NTI1188015, name: "lineBreak", sons: null}, +{kind: 1, offset: "lineHeight", len: 0, typ: NTI1188015, name: "lineHeight", sons: null}, +{kind: 1, offset: "listStyle", len: 0, typ: NTI1188015, name: "listStyle", sons: null}, +{kind: 1, offset: "listStyleImage", len: 0, typ: NTI1188015, name: "listStyleImage", sons: null}, +{kind: 1, offset: "listStylePosition", len: 0, typ: NTI1188015, name: "listStylePosition", sons: null}, +{kind: 1, offset: "listStyleType", len: 0, typ: NTI1188015, name: "listStyleType", sons: null}, +{kind: 1, offset: "margin", len: 0, typ: NTI1188015, name: "margin", sons: null}, +{kind: 1, offset: "marginBlock", len: 0, typ: NTI1188015, name: "marginBlock", sons: null}, +{kind: 1, offset: "marginBlockEnd", len: 0, typ: NTI1188015, name: "marginBlockEnd", sons: null}, +{kind: 1, offset: "marginBlockStart", len: 0, typ: NTI1188015, name: "marginBlockStart", sons: null}, +{kind: 1, offset: "marginBottom", len: 0, typ: NTI1188015, name: "marginBottom", sons: null}, +{kind: 1, offset: "marginInline", len: 0, typ: NTI1188015, name: "marginInline", sons: null}, +{kind: 1, offset: "marginInlineEnd", len: 0, typ: NTI1188015, name: "marginInlineEnd", sons: null}, +{kind: 1, offset: "marginInlineStart", len: 0, typ: NTI1188015, name: "marginInlineStart", sons: null}, +{kind: 1, offset: "marginLeft", len: 0, typ: NTI1188015, name: "marginLeft", sons: null}, +{kind: 1, offset: "marginRight", len: 0, typ: NTI1188015, name: "marginRight", sons: null}, +{kind: 1, offset: "marginTop", len: 0, typ: NTI1188015, name: "marginTop", sons: null}, +{kind: 1, offset: "mask", len: 0, typ: NTI1188015, name: "mask", sons: null}, +{kind: 1, offset: "maskBorder", len: 0, typ: NTI1188015, name: "maskBorder", sons: null}, +{kind: 1, offset: "maskBorderMode", len: 0, typ: NTI1188015, name: "maskBorderMode", sons: null}, +{kind: 1, offset: "maskBorderOutset", len: 0, typ: NTI1188015, name: "maskBorderOutset", sons: null}, +{kind: 1, offset: "maskBorderRepeat", len: 0, typ: NTI1188015, name: "maskBorderRepeat", sons: null}, +{kind: 1, offset: "maskBorderSlice", len: 0, typ: NTI1188015, name: "maskBorderSlice", sons: null}, +{kind: 1, offset: "maskBorderSource", len: 0, typ: NTI1188015, name: "maskBorderSource", sons: null}, +{kind: 1, offset: "maskBorderWidth", len: 0, typ: NTI1188015, name: "maskBorderWidth", sons: null}, +{kind: 1, offset: "maskClip", len: 0, typ: NTI1188015, name: "maskClip", sons: null}, +{kind: 1, offset: "maskComposite", len: 0, typ: NTI1188015, name: "maskComposite", sons: null}, +{kind: 1, offset: "maskImage", len: 0, typ: NTI1188015, name: "maskImage", sons: null}, +{kind: 1, offset: "maskMode", len: 0, typ: NTI1188015, name: "maskMode", sons: null}, +{kind: 1, offset: "maskOrigin", len: 0, typ: NTI1188015, name: "maskOrigin", sons: null}, +{kind: 1, offset: "maskPosition", len: 0, typ: NTI1188015, name: "maskPosition", sons: null}, +{kind: 1, offset: "maskRepeat", len: 0, typ: NTI1188015, name: "maskRepeat", sons: null}, +{kind: 1, offset: "maskSize", len: 0, typ: NTI1188015, name: "maskSize", sons: null}, +{kind: 1, offset: "maskType", len: 0, typ: NTI1188015, name: "maskType", sons: null}, +{kind: 1, offset: "maxBlockSize", len: 0, typ: NTI1188015, name: "maxBlockSize", sons: null}, +{kind: 1, offset: "maxHeight", len: 0, typ: NTI1188015, name: "maxHeight", sons: null}, +{kind: 1, offset: "maxInlineSize", len: 0, typ: NTI1188015, name: "maxInlineSize", sons: null}, +{kind: 1, offset: "maxWidth", len: 0, typ: NTI1188015, name: "maxWidth", sons: null}, +{kind: 1, offset: "minBlockSize", len: 0, typ: NTI1188015, name: "minBlockSize", sons: null}, +{kind: 1, offset: "minHeight", len: 0, typ: NTI1188015, name: "minHeight", sons: null}, +{kind: 1, offset: "minInlineSize", len: 0, typ: NTI1188015, name: "minInlineSize", sons: null}, +{kind: 1, offset: "minWidth", len: 0, typ: NTI1188015, name: "minWidth", sons: null}, +{kind: 1, offset: "mixBlendMode", len: 0, typ: NTI1188015, name: "mixBlendMode", sons: null}, +{kind: 1, offset: "objectFit", len: 0, typ: NTI1188015, name: "objectFit", sons: null}, +{kind: 1, offset: "objectPosition", len: 0, typ: NTI1188015, name: "objectPosition", sons: null}, +{kind: 1, offset: "offset", len: 0, typ: NTI1188015, name: "offset", sons: null}, +{kind: 1, offset: "offsetAnchor", len: 0, typ: NTI1188015, name: "offsetAnchor", sons: null}, +{kind: 1, offset: "offsetDistance", len: 0, typ: NTI1188015, name: "offsetDistance", sons: null}, +{kind: 1, offset: "offsetPath", len: 0, typ: NTI1188015, name: "offsetPath", sons: null}, +{kind: 1, offset: "offsetRotate", len: 0, typ: NTI1188015, name: "offsetRotate", sons: null}, +{kind: 1, offset: "opacity", len: 0, typ: NTI1188015, name: "opacity", sons: null}, +{kind: 1, offset: "order", len: 0, typ: NTI1188015, name: "order", sons: null}, +{kind: 1, offset: "orphans", len: 0, typ: NTI1188015, name: "orphans", sons: null}, +{kind: 1, offset: "outline", len: 0, typ: NTI1188015, name: "outline", sons: null}, +{kind: 1, offset: "outlineColor", len: 0, typ: NTI1188015, name: "outlineColor", sons: null}, +{kind: 1, offset: "outlineOffset", len: 0, typ: NTI1188015, name: "outlineOffset", sons: null}, +{kind: 1, offset: "outlineStyle", len: 0, typ: NTI1188015, name: "outlineStyle", sons: null}, +{kind: 1, offset: "outlineWidth", len: 0, typ: NTI1188015, name: "outlineWidth", sons: null}, +{kind: 1, offset: "overflow", len: 0, typ: NTI1188015, name: "overflow", sons: null}, +{kind: 1, offset: "overflowAnchor", len: 0, typ: NTI1188015, name: "overflowAnchor", sons: null}, +{kind: 1, offset: "overflowBlock", len: 0, typ: NTI1188015, name: "overflowBlock", sons: null}, +{kind: 1, offset: "overflowInline", len: 0, typ: NTI1188015, name: "overflowInline", sons: null}, +{kind: 1, offset: "overflowWrap", len: 0, typ: NTI1188015, name: "overflowWrap", sons: null}, +{kind: 1, offset: "overflowX", len: 0, typ: NTI1188015, name: "overflowX", sons: null}, +{kind: 1, offset: "overflowY", len: 0, typ: NTI1188015, name: "overflowY", sons: null}, +{kind: 1, offset: "overscrollBehavior", len: 0, typ: NTI1188015, name: "overscrollBehavior", sons: null}, +{kind: 1, offset: "overscrollBehaviorBlock", len: 0, typ: NTI1188015, name: "overscrollBehaviorBlock", sons: null}, +{kind: 1, offset: "overscrollBehaviorInline", len: 0, typ: NTI1188015, name: "overscrollBehaviorInline", sons: null}, +{kind: 1, offset: "overscrollBehaviorX", len: 0, typ: NTI1188015, name: "overscrollBehaviorX", sons: null}, +{kind: 1, offset: "overscrollBehaviorY", len: 0, typ: NTI1188015, name: "overscrollBehaviorY", sons: null}, +{kind: 1, offset: "padding", len: 0, typ: NTI1188015, name: "padding", sons: null}, +{kind: 1, offset: "paddingBlock", len: 0, typ: NTI1188015, name: "paddingBlock", sons: null}, +{kind: 1, offset: "paddingBlockEnd", len: 0, typ: NTI1188015, name: "paddingBlockEnd", sons: null}, +{kind: 1, offset: "paddingBlockStart", len: 0, typ: NTI1188015, name: "paddingBlockStart", sons: null}, +{kind: 1, offset: "paddingBottom", len: 0, typ: NTI1188015, name: "paddingBottom", sons: null}, +{kind: 1, offset: "paddingInline", len: 0, typ: NTI1188015, name: "paddingInline", sons: null}, +{kind: 1, offset: "paddingInlineEnd", len: 0, typ: NTI1188015, name: "paddingInlineEnd", sons: null}, +{kind: 1, offset: "paddingInlineStart", len: 0, typ: NTI1188015, name: "paddingInlineStart", sons: null}, +{kind: 1, offset: "paddingLeft", len: 0, typ: NTI1188015, name: "paddingLeft", sons: null}, +{kind: 1, offset: "paddingRight", len: 0, typ: NTI1188015, name: "paddingRight", sons: null}, +{kind: 1, offset: "paddingTop", len: 0, typ: NTI1188015, name: "paddingTop", sons: null}, +{kind: 1, offset: "pageBreakAfter", len: 0, typ: NTI1188015, name: "pageBreakAfter", sons: null}, +{kind: 1, offset: "pageBreakBefore", len: 0, typ: NTI1188015, name: "pageBreakBefore", sons: null}, +{kind: 1, offset: "pageBreakInside", len: 0, typ: NTI1188015, name: "pageBreakInside", sons: null}, +{kind: 1, offset: "paintOrder", len: 0, typ: NTI1188015, name: "paintOrder", sons: null}, +{kind: 1, offset: "perspective", len: 0, typ: NTI1188015, name: "perspective", sons: null}, +{kind: 1, offset: "perspectiveOrigin", len: 0, typ: NTI1188015, name: "perspectiveOrigin", sons: null}, +{kind: 1, offset: "placeContent", len: 0, typ: NTI1188015, name: "placeContent", sons: null}, +{kind: 1, offset: "placeItems", len: 0, typ: NTI1188015, name: "placeItems", sons: null}, +{kind: 1, offset: "placeSelf", len: 0, typ: NTI1188015, name: "placeSelf", sons: null}, +{kind: 1, offset: "pointerEvents", len: 0, typ: NTI1188015, name: "pointerEvents", sons: null}, +{kind: 1, offset: "position", len: 0, typ: NTI1188015, name: "position", sons: null}, +{kind: 1, offset: "quotes", len: 0, typ: NTI1188015, name: "quotes", sons: null}, +{kind: 1, offset: "resize", len: 0, typ: NTI1188015, name: "resize", sons: null}, +{kind: 1, offset: "right", len: 0, typ: NTI1188015, name: "right", sons: null}, +{kind: 1, offset: "rotate", len: 0, typ: NTI1188015, name: "rotate", sons: null}, +{kind: 1, offset: "rowGap", len: 0, typ: NTI1188015, name: "rowGap", sons: null}, +{kind: 1, offset: "scale", len: 0, typ: NTI1188015, name: "scale", sons: null}, +{kind: 1, offset: "scrollBehavior", len: 0, typ: NTI1188015, name: "scrollBehavior", sons: null}, +{kind: 1, offset: "scrollMargin", len: 0, typ: NTI1188015, name: "scrollMargin", sons: null}, +{kind: 1, offset: "scrollMarginBlock", len: 0, typ: NTI1188015, name: "scrollMarginBlock", sons: null}, +{kind: 1, offset: "scrollMarginBlockEnd", len: 0, typ: NTI1188015, name: "scrollMarginBlockEnd", sons: null}, +{kind: 1, offset: "scrollMarginBlockStart", len: 0, typ: NTI1188015, name: "scrollMarginBlockStart", sons: null}, +{kind: 1, offset: "scrollMarginBottom", len: 0, typ: NTI1188015, name: "scrollMarginBottom", sons: null}, +{kind: 1, offset: "scrollMarginInline", len: 0, typ: NTI1188015, name: "scrollMarginInline", sons: null}, +{kind: 1, offset: "scrollMarginInlineEnd", len: 0, typ: NTI1188015, name: "scrollMarginInlineEnd", sons: null}, +{kind: 1, offset: "scrollMarginInlineStart", len: 0, typ: NTI1188015, name: "scrollMarginInlineStart", sons: null}, +{kind: 1, offset: "scrollMarginLeft", len: 0, typ: NTI1188015, name: "scrollMarginLeft", sons: null}, +{kind: 1, offset: "scrollMarginRight", len: 0, typ: NTI1188015, name: "scrollMarginRight", sons: null}, +{kind: 1, offset: "scrollMarginTop", len: 0, typ: NTI1188015, name: "scrollMarginTop", sons: null}, +{kind: 1, offset: "scrollPadding", len: 0, typ: NTI1188015, name: "scrollPadding", sons: null}, +{kind: 1, offset: "scrollPaddingBlock", len: 0, typ: NTI1188015, name: "scrollPaddingBlock", sons: null}, +{kind: 1, offset: "scrollPaddingBlockEnd", len: 0, typ: NTI1188015, name: "scrollPaddingBlockEnd", sons: null}, +{kind: 1, offset: "scrollPaddingBlockStart", len: 0, typ: NTI1188015, name: "scrollPaddingBlockStart", sons: null}, +{kind: 1, offset: "scrollPaddingBottom", len: 0, typ: NTI1188015, name: "scrollPaddingBottom", sons: null}, +{kind: 1, offset: "scrollPaddingInline", len: 0, typ: NTI1188015, name: "scrollPaddingInline", sons: null}, +{kind: 1, offset: "scrollPaddingInlineEnd", len: 0, typ: NTI1188015, name: "scrollPaddingInlineEnd", sons: null}, +{kind: 1, offset: "scrollPaddingInlineStart", len: 0, typ: NTI1188015, name: "scrollPaddingInlineStart", sons: null}, +{kind: 1, offset: "scrollPaddingLeft", len: 0, typ: NTI1188015, name: "scrollPaddingLeft", sons: null}, +{kind: 1, offset: "scrollPaddingRight", len: 0, typ: NTI1188015, name: "scrollPaddingRight", sons: null}, +{kind: 1, offset: "scrollPaddingTop", len: 0, typ: NTI1188015, name: "scrollPaddingTop", sons: null}, +{kind: 1, offset: "scrollSnapAlign", len: 0, typ: NTI1188015, name: "scrollSnapAlign", sons: null}, +{kind: 1, offset: "scrollSnapStop", len: 0, typ: NTI1188015, name: "scrollSnapStop", sons: null}, +{kind: 1, offset: "scrollSnapType", len: 0, typ: NTI1188015, name: "scrollSnapType", sons: null}, +{kind: 1, offset: "scrollbar3dLightColor", len: 0, typ: NTI1188015, name: "scrollbar3dLightColor", sons: null}, +{kind: 1, offset: "scrollbarArrowColor", len: 0, typ: NTI1188015, name: "scrollbarArrowColor", sons: null}, +{kind: 1, offset: "scrollbarBaseColor", len: 0, typ: NTI1188015, name: "scrollbarBaseColor", sons: null}, +{kind: 1, offset: "scrollbarColor", len: 0, typ: NTI1188015, name: "scrollbarColor", sons: null}, +{kind: 1, offset: "scrollbarDarkshadowColor", len: 0, typ: NTI1188015, name: "scrollbarDarkshadowColor", sons: null}, +{kind: 1, offset: "scrollbarFaceColor", len: 0, typ: NTI1188015, name: "scrollbarFaceColor", sons: null}, +{kind: 1, offset: "scrollbarHighlightColor", len: 0, typ: NTI1188015, name: "scrollbarHighlightColor", sons: null}, +{kind: 1, offset: "scrollbarShadowColor", len: 0, typ: NTI1188015, name: "scrollbarShadowColor", sons: null}, +{kind: 1, offset: "scrollbarTrackColor", len: 0, typ: NTI1188015, name: "scrollbarTrackColor", sons: null}, +{kind: 1, offset: "scrollbarWidth", len: 0, typ: NTI1188015, name: "scrollbarWidth", sons: null}, +{kind: 1, offset: "shapeImageThreshold", len: 0, typ: NTI1188015, name: "shapeImageThreshold", sons: null}, +{kind: 1, offset: "shapeMargin", len: 0, typ: NTI1188015, name: "shapeMargin", sons: null}, +{kind: 1, offset: "shapeOutside", len: 0, typ: NTI1188015, name: "shapeOutside", sons: null}, +{kind: 1, offset: "tabSize", len: 0, typ: NTI1188015, name: "tabSize", sons: null}, +{kind: 1, offset: "tableLayout", len: 0, typ: NTI1188015, name: "tableLayout", sons: null}, +{kind: 1, offset: "textAlign", len: 0, typ: NTI1188015, name: "textAlign", sons: null}, +{kind: 1, offset: "textAlignLast", len: 0, typ: NTI1188015, name: "textAlignLast", sons: null}, +{kind: 1, offset: "textCombineUpright", len: 0, typ: NTI1188015, name: "textCombineUpright", sons: null}, +{kind: 1, offset: "textDecoration", len: 0, typ: NTI1188015, name: "textDecoration", sons: null}, +{kind: 1, offset: "textDecorationColor", len: 0, typ: NTI1188015, name: "textDecorationColor", sons: null}, +{kind: 1, offset: "textDecorationLine", len: 0, typ: NTI1188015, name: "textDecorationLine", sons: null}, +{kind: 1, offset: "textDecorationSkipInk", len: 0, typ: NTI1188015, name: "textDecorationSkipInk", sons: null}, +{kind: 1, offset: "textDecorationStyle", len: 0, typ: NTI1188015, name: "textDecorationStyle", sons: null}, +{kind: 1, offset: "textDecorationThickness", len: 0, typ: NTI1188015, name: "textDecorationThickness", sons: null}, +{kind: 1, offset: "textEmphasis", len: 0, typ: NTI1188015, name: "textEmphasis", sons: null}, +{kind: 1, offset: "textEmphasisColor", len: 0, typ: NTI1188015, name: "textEmphasisColor", sons: null}, +{kind: 1, offset: "textEmphasisPosition", len: 0, typ: NTI1188015, name: "textEmphasisPosition", sons: null}, +{kind: 1, offset: "textEmphasisStyle", len: 0, typ: NTI1188015, name: "textEmphasisStyle", sons: null}, +{kind: 1, offset: "textIndent", len: 0, typ: NTI1188015, name: "textIndent", sons: null}, +{kind: 1, offset: "textJustify", len: 0, typ: NTI1188015, name: "textJustify", sons: null}, +{kind: 1, offset: "textOrientation", len: 0, typ: NTI1188015, name: "textOrientation", sons: null}, +{kind: 1, offset: "textOverflow", len: 0, typ: NTI1188015, name: "textOverflow", sons: null}, +{kind: 1, offset: "textRendering", len: 0, typ: NTI1188015, name: "textRendering", sons: null}, +{kind: 1, offset: "textShadow", len: 0, typ: NTI1188015, name: "textShadow", sons: null}, +{kind: 1, offset: "textTransform", len: 0, typ: NTI1188015, name: "textTransform", sons: null}, +{kind: 1, offset: "textUnderlineOffset", len: 0, typ: NTI1188015, name: "textUnderlineOffset", sons: null}, +{kind: 1, offset: "textUnderlinePosition", len: 0, typ: NTI1188015, name: "textUnderlinePosition", sons: null}, +{kind: 1, offset: "top", len: 0, typ: NTI1188015, name: "top", sons: null}, +{kind: 1, offset: "touchAction", len: 0, typ: NTI1188015, name: "touchAction", sons: null}, +{kind: 1, offset: "transform", len: 0, typ: NTI1188015, name: "transform", sons: null}, +{kind: 1, offset: "transformBox", len: 0, typ: NTI1188015, name: "transformBox", sons: null}, +{kind: 1, offset: "transformOrigin", len: 0, typ: NTI1188015, name: "transformOrigin", sons: null}, +{kind: 1, offset: "transformStyle", len: 0, typ: NTI1188015, name: "transformStyle", sons: null}, +{kind: 1, offset: "transition", len: 0, typ: NTI1188015, name: "transition", sons: null}, +{kind: 1, offset: "transitionDelay", len: 0, typ: NTI1188015, name: "transitionDelay", sons: null}, +{kind: 1, offset: "transitionDuration", len: 0, typ: NTI1188015, name: "transitionDuration", sons: null}, +{kind: 1, offset: "transitionProperty", len: 0, typ: NTI1188015, name: "transitionProperty", sons: null}, +{kind: 1, offset: "transitionTimingFunction", len: 0, typ: NTI1188015, name: "transitionTimingFunction", sons: null}, +{kind: 1, offset: "translate", len: 0, typ: NTI1188015, name: "translate", sons: null}, +{kind: 1, offset: "unicodeBidi", len: 0, typ: NTI1188015, name: "unicodeBidi", sons: null}, +{kind: 1, offset: "verticalAlign", len: 0, typ: NTI1188015, name: "verticalAlign", sons: null}, +{kind: 1, offset: "visibility", len: 0, typ: NTI1188015, name: "visibility", sons: null}, +{kind: 1, offset: "whiteSpace", len: 0, typ: NTI1188015, name: "whiteSpace", sons: null}, +{kind: 1, offset: "widows", len: 0, typ: NTI1188015, name: "widows", sons: null}, +{kind: 1, offset: "width", len: 0, typ: NTI1188015, name: "width", sons: null}, +{kind: 1, offset: "willChange", len: 0, typ: NTI1188015, name: "willChange", sons: null}, +{kind: 1, offset: "wordBreak", len: 0, typ: NTI1188015, name: "wordBreak", sons: null}, +{kind: 1, offset: "wordSpacing", len: 0, typ: NTI1188015, name: "wordSpacing", sons: null}, +{kind: 1, offset: "writingMode", len: 0, typ: NTI1188015, name: "writingMode", sons: null}, +{kind: 1, offset: "zIndex", len: 0, typ: NTI1188015, name: "zIndex", sons: null}]}; +NTI1852293.node = NNI1852293; +NTI1852293.base = NTI1194408; +NTI1852291.base = NTI1852293; +var NNI1852237 = {kind: 2, len: 22, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "attributes", len: 0, typ: NTI1852609, name: "attributes", sons: null}, +{kind: 1, offset: "childNodes", len: 0, typ: NTI1852611, name: "childNodes", sons: null}, +{kind: 1, offset: "children", len: 0, typ: NTI1852613, name: "children", sons: null}, +{kind: 1, offset: "data", len: 0, typ: NTI1188015, name: "data", sons: null}, +{kind: 1, offset: "firstChild", len: 0, typ: NTI1852235, name: "firstChild", sons: null}, +{kind: 1, offset: "lastChild", len: 0, typ: NTI1852235, name: "lastChild", sons: null}, +{kind: 1, offset: "nextSibling", len: 0, typ: NTI1852235, name: "nextSibling", sons: null}, +{kind: 1, offset: "nodeName", len: 0, typ: NTI1188015, name: "nodeName", sons: null}, +{kind: 1, offset: "nodeType", len: 0, typ: NTI1852233, name: "nodeType", sons: null}, +{kind: 1, offset: "nodeValue", len: 0, typ: NTI1188015, name: "nodeValue", sons: null}, +{kind: 1, offset: "parentNode", len: 0, typ: NTI1852235, name: "parentNode", sons: null}, +{kind: 1, offset: "content", len: 0, typ: NTI1852235, name: "content", sons: null}, +{kind: 1, offset: "previousSibling", len: 0, typ: NTI1852235, name: "previousSibling", sons: null}, +{kind: 1, offset: "ownerDocument", len: 0, typ: NTI1852239, name: "ownerDocument", sons: null}, +{kind: 1, offset: "innerHTML", len: 0, typ: NTI1188015, name: "innerHTML", sons: null}, +{kind: 1, offset: "outerHTML", len: 0, typ: NTI1188015, name: "outerHTML", sons: null}, +{kind: 1, offset: "innerText", len: 0, typ: NTI1188015, name: "innerText", sons: null}, +{kind: 1, offset: "textContent", len: 0, typ: NTI1188015, name: "textContent", sons: null}, +{kind: 1, offset: "style", len: 0, typ: NTI1852291, name: "style", sons: null}, +{kind: 1, offset: "baseURI", len: 0, typ: NTI1188015, name: "baseURI", sons: null}, +{kind: 1, offset: "parentElement", len: 0, typ: NTI1852243, name: "parentElement", sons: null}, +{kind: 1, offset: "isConnected", len: 0, typ: NTI1188064, name: "isConnected", sons: null}]}; +NTI1852237.node = NNI1852237; +var NNI1852205 = {kind: 2, len: 23, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "onabort", len: 0, typ: NTI1852388, name: "onabort", sons: null}, +{kind: 1, offset: "onblur", len: 0, typ: NTI1852392, name: "onblur", sons: null}, +{kind: 1, offset: "onchange", len: 0, typ: NTI1852396, name: "onchange", sons: null}, +{kind: 1, offset: "onclick", len: 0, typ: NTI1852400, name: "onclick", sons: null}, +{kind: 1, offset: "ondblclick", len: 0, typ: NTI1852404, name: "ondblclick", sons: null}, +{kind: 1, offset: "onerror", len: 0, typ: NTI1852408, name: "onerror", sons: null}, +{kind: 1, offset: "onfocus", len: 0, typ: NTI1852412, name: "onfocus", sons: null}, +{kind: 1, offset: "onkeydown", len: 0, typ: NTI1852416, name: "onkeydown", sons: null}, +{kind: 1, offset: "onkeypress", len: 0, typ: NTI1852420, name: "onkeypress", sons: null}, +{kind: 1, offset: "onkeyup", len: 0, typ: NTI1852424, name: "onkeyup", sons: null}, +{kind: 1, offset: "onload", len: 0, typ: NTI1852428, name: "onload", sons: null}, +{kind: 1, offset: "onmousedown", len: 0, typ: NTI1852432, name: "onmousedown", sons: null}, +{kind: 1, offset: "onmousemove", len: 0, typ: NTI1852436, name: "onmousemove", sons: null}, +{kind: 1, offset: "onmouseout", len: 0, typ: NTI1852440, name: "onmouseout", sons: null}, +{kind: 1, offset: "onmouseover", len: 0, typ: NTI1852444, name: "onmouseover", sons: null}, +{kind: 1, offset: "onmouseup", len: 0, typ: NTI1852448, name: "onmouseup", sons: null}, +{kind: 1, offset: "onreset", len: 0, typ: NTI1852452, name: "onreset", sons: null}, +{kind: 1, offset: "onselect", len: 0, typ: NTI1852456, name: "onselect", sons: null}, +{kind: 1, offset: "onsubmit", len: 0, typ: NTI1852460, name: "onsubmit", sons: null}, +{kind: 1, offset: "onunload", len: 0, typ: NTI1852464, name: "onunload", sons: null}, +{kind: 1, offset: "onloadstart", len: 0, typ: NTI1852468, name: "onloadstart", sons: null}, +{kind: 1, offset: "onprogress", len: 0, typ: NTI1852472, name: "onprogress", sons: null}, +{kind: 1, offset: "onloadend", len: 0, typ: NTI1852476, name: "onloadend", sons: null}]}; +NTI1852205.node = NNI1852205; +NTI1852205.base = NTI1194408; +NTI1852237.base = NTI1852205; +NTI1852235.base = NTI1852237; +NTI1880505.base = NTI1852235; +NTI10575580.base = NTI1188015; +var NNI1194653 = {kind: 2, len: 0, offset: 0, typ: null, name: null, sons: []}; +NTI1194653.node = NNI1194653; +NTI1194653.base = NTI1194619; +var NNI10416058 = {kind: 2, len: 2, offset: 0, typ: null, name: null, sons: [{kind: 1, offset: "Field0", len: 0, typ: NTI1188044, name: "Field0", sons: null}, +{kind: 1, offset: "Field1", len: 0, typ: NTI1188064, name: "Field1", sons: null}]}; +NTI10416058.node = NNI10416058; +function makeNimstrLit(c_1455062) { + var ln = c_1455062.length; + var result = new Array(ln); + for (var i = 0; i < ln; ++i) { + result[i] = c_1455062.charCodeAt(i); + } + return result; + + + +} +function toJSStr(s_1455096) { + var Tmp5; + var Tmp7; + + var result_1455097 = null; + + var res_1455170 = newSeq_1455128((s_1455096).length); + var i_1455172 = 0; + var j_1455174 = 0; + L1: do { + L2: while (true) { + if (!(i_1455172 < (s_1455096).length)) break L2; + var c_1455175 = s_1455096[i_1455172]; + if ((c_1455175 < 128)) { + res_1455170[j_1455174] = String.fromCharCode(c_1455175); + i_1455172 += 1; + } + else { + var helper_1455198 = newSeq_1455128(0); + L3: do { + L4: while (true) { + if (!true) break L4; + var code_1455199 = c_1455175.toString(16); + if (((code_1455199).length == 1)) { + helper_1455198.push("%0");; + } + else { + helper_1455198.push("%");; + } + + helper_1455198.push(code_1455199);; + i_1455172 += 1; + if (((s_1455096).length <= i_1455172)) Tmp5 = true; else { Tmp5 = (s_1455096[i_1455172] < 128); } if (Tmp5) { + break L3; + } + + c_1455175 = s_1455096[i_1455172]; + } + } while(false); +++excHandler; + Tmp7 = framePtr; + try { + res_1455170[j_1455174] = decodeURIComponent(helper_1455198.join("")); +--excHandler; +} catch (EXC) { + var prevJSError = lastJSError; + lastJSError = EXC; + --excHandler; + framePtr = Tmp7; + res_1455170[j_1455174] = helper_1455198.join(""); + lastJSError = prevJSError; + } finally { + framePtr = Tmp7; + } + } + + j_1455174 += 1; + } + } while(false); + if (res_1455170.length < j_1455174) { for (var i=res_1455170.length;i> 6) | 192; + } + else { + if (ch < 55296 || ch >= 57344) { + result[r] = (ch >> 12) | 224; + } + else { + ++i; + ch = 65536 + (((ch & 1023) << 10) | (c_1455079.charCodeAt(i) & 1023)); + result[r] = (ch >> 18) | 240; + ++r; + result[r] = ((ch >> 12) & 63) | 128; + } + ++r; + result[r] = ((ch >> 6) & 63) | 128; + } + ++r; + result[r] = (ch & 63) | 128; + } + ++r; + } + return result; + + + +} +function setConstr() { + var result = {}; + for (var i = 0; i < arguments.length; ++i) { + var x = arguments[i]; + if (typeof(x) == "object") { + for (var j = x[0]; j <= x[1]; ++j) { + result[j] = true; + } + } else { + result[x] = true; + } + } + return result; + + + +} +var ConstSet1 = setConstr(17, 16, 4, 18, 27, 19, 23, 22, 21); +function nimCopy(dest_1470023, src_1470024, ti_1470025) { + var result_1475219 = null; + + switch (ti_1470025.kind) { + case 21: + case 22: + case 23: + case 5: + if (!(isFatPointer_1465401(ti_1470025))) { + result_1475219 = src_1470024; + } + else { + result_1475219 = [src_1470024[0], src_1470024[1]]; + } + + break; + case 19: + if (dest_1470023 === null || dest_1470023 === undefined) { + dest_1470023 = {}; + } + else { + for (var key in dest_1470023) { delete dest_1470023[key]; } + } + for (var key in src_1470024) { dest_1470023[key] = src_1470024[key]; } + result_1475219 = dest_1470023; + + break; + case 18: + case 17: + if (!((ti_1470025.base == null))) { + result_1475219 = nimCopy(dest_1470023, src_1470024, ti_1470025.base); + } + else { + if ((ti_1470025.kind == 17)) { + result_1475219 = (dest_1470023 === null || dest_1470023 === undefined) ? {m_type: ti_1470025} : dest_1470023; + } + else { + result_1475219 = (dest_1470023 === null || dest_1470023 === undefined) ? {} : dest_1470023; + } + } + nimCopyAux(result_1475219, src_1470024, ti_1470025.node); + break; + case 24: + case 4: + case 27: + case 16: + if (src_1470024 === null) { + result_1475219 = null; + } + else { + if (dest_1470023 === null || dest_1470023 === undefined) { + dest_1470023 = new Array(src_1470024.length); + } + else { + dest_1470023.length = src_1470024.length; + } + result_1475219 = dest_1470023; + for (var i = 0; i < src_1470024.length; ++i) { + result_1475219[i] = nimCopy(result_1475219[i], src_1470024[i], ti_1470025.base); + } + } + + break; + case 28: + if (src_1470024 !== null) { + result_1475219 = src_1470024.slice(0); + } + + break; + default: + result_1475219 = src_1470024; + break; + } + + return result_1475219; + +} +function chckIndx(i_1480086, a_1480087, b_1480088) { + var Tmp1; + + var result_1480089 = 0; + + BeforeRet: do { + if (!(a_1480087 <= i_1480086)) Tmp1 = false; else { Tmp1 = (i_1480086 <= b_1480088); } if (Tmp1) { + result_1480089 = i_1480086; + break BeforeRet; + } + else { + raiseIndexError(i_1480086, a_1480087, b_1480088); + } + + } while (false); + + return result_1480089; + +} +function subInt(a_1460437, b_1460438) { + var result = a_1460437 - b_1460438; + checkOverflowInt(result); + return result; + + + +} +var ConstSet2 = setConstr([65, 90]); +function chckRange(i_1485016, a_1485017, b_1485018) { + var Tmp1; + + var result_1485019 = 0; + + BeforeRet: do { + if (!(a_1485017 <= i_1485016)) Tmp1 = false; else { Tmp1 = (i_1485016 <= b_1485018); } if (Tmp1) { + result_1485019 = i_1485016; + break BeforeRet; + } + else { + raiseRangeError(); + } + + } while (false); + + return result_1485019; + +} +var ConstSet3 = setConstr(95, 32, 46); +var ConstSet4 = setConstr(95, 32, 46); +function mulInt(a_1460455, b_1460456) { + var result = a_1460455 * b_1460456; + checkOverflowInt(result); + return result; + + + +} +var ConstSet5 = setConstr([97, 122]); +var ConstSet6 = setConstr([65, 90], [97, 122]); +var ConstSet7 = setConstr([97, 122]); +var ConstSet8 = setConstr([65, 90]); +var ConstSet9 = setConstr([65, 90], [97, 122]); +function nimMax(a_1460821, b_1460822) { + var Tmp1; + + var result_1460823 = 0; + + BeforeRet: do { + if ((b_1460822 <= a_1460821)) { + Tmp1 = a_1460821; + } + else { + Tmp1 = b_1460822; + } + + result_1460823 = Tmp1; + break BeforeRet; + } while (false); + + return result_1460823; + +} +function nimMin(a_1460803, b_1460804) { + var Tmp1; + + var result_1460805 = 0; + + BeforeRet: do { + if ((a_1460803 <= b_1460804)) { + Tmp1 = a_1460803; + } + else { + Tmp1 = b_1460804; + } + + result_1460805 = Tmp1; + break BeforeRet; + } while (false); + + return result_1460805; + +} +function addChar(x_1505031, c_1505032) { + x_1505031.push(c_1505032); + + +} +var globalRaiseHook_1357018 = [null]; +var localRaiseHook_1357023 = [null]; +var outOfMemHook_1357026 = [null]; +var unhandledExceptionHook_1357031 = [null]; +if (!Math.trunc) { + Math.trunc = function(v) { + v = +v; + if (!isFinite(v)) return v; + return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0); + }; +} + +var alternative_10575322 = [null]; +function add_1357042(x_1357045, x_1357045_Idx, y_1357046) { + if (x_1357045[x_1357045_Idx] === null) { x_1357045[x_1357045_Idx] = []; } + var off = x_1357045[x_1357045_Idx].length; + x_1357045[x_1357045_Idx].length += y_1357046.length; + for (var i = 0; i < y_1357046.length; ++i) { + x_1357045[x_1357045_Idx][off+i] = y_1357046.charCodeAt(i); + } + + + +} +function newSeq_1455128(len_1455131) { + var result_1455133 = []; + + result_1455133 = new Array(len_1455131); for (var i=0;i 2147483647 || a_1460403 < -2147483648) raiseOverflow(); + + + +} +function isWhitespace_10550116(text_10550118) { + return !/[^\s]/.test(text_10550118); + + + +} +function isWhitespace_10550133(x_10550135) { + var Tmp1; + var Tmp2; + + var result_10550136 = false; + + if (!(x_10550135.nodeName == "#text")) Tmp2 = false; else { Tmp2 = isWhitespace_10550116(x_10550135.textContent); } if (Tmp2) Tmp1 = true; else { Tmp1 = (x_10550135.nodeName == "#comment"); } result_10550136 = Tmp1; + + return result_10550136; + +} +function isFatPointer_1465401(ti_1465403) { + var result_1465404 = false; + + BeforeRet: do { + result_1465404 = !((ConstSet1[ti_1465403.base.kind] != undefined)); + break BeforeRet; + } while (false); + + return result_1465404; + +} +function nimCopyAux(dest_1470028, src_1470029, n_1470031) { + switch (n_1470031.kind) { + case 0: + break; + case 1: + dest_1470028[n_1470031.offset] = nimCopy(dest_1470028[n_1470031.offset], src_1470029[n_1470031.offset], n_1470031.typ); + + break; + case 2: + for (var i = 0; i < n_1470031.sons.length; i++) { + nimCopyAux(dest_1470028, src_1470029, n_1470031.sons[i]); + } + + break; + case 3: + dest_1470028[n_1470031.offset] = nimCopy(dest_1470028[n_1470031.offset], src_1470029[n_1470031.offset], n_1470031.typ); + for (var i = 0; i < n_1470031.sons.length; ++i) { + nimCopyAux(dest_1470028, src_1470029, n_1470031.sons[i][1]); + } + + break; + } + + +} +function raiseIndexError(i_1440047, a_1440048, b_1440049) { + var Tmp1; + + if ((b_1440049 < a_1440048)) { + Tmp1 = makeNimstrLit("index out of bounds, the container is empty"); + } + else { + Tmp1 = (makeNimstrLit("index ") || []).concat(cstrToNimstr((i_1440047)+"") || [],makeNimstrLit(" not in ") || [],cstrToNimstr((a_1440048)+"") || [],makeNimstrLit(" .. ") || [],cstrToNimstr((b_1440049)+"") || []); + } + + raiseException({message: nimCopy(null, Tmp1, NTI1188013), parent: null, m_type: NTI1194649, name: null, trace: [], up: null}, "IndexDefect"); + + +} +function toToc_10550150(x_10550152, father_10550153) { + var Tmp5; + var Tmp6; + var Tmp7; + var Tmp8; + var Tmp15; + + if ((x_10550152.nodeName == "UL")) { + var f_10550174 = {heading: null, kids: [], sortId: (father_10550153.kids).length, doSort: false}; + var i_10550176 = 0; + L1: do { + L2: while (true) { + if (!(i_10550176 < x_10550152.childNodes.length)) break L2; + var nxt_10550177 = addInt(i_10550176, 1); + L3: do { + L4: while (true) { + if (!(nxt_10550177 < x_10550152.childNodes.length)) Tmp5 = false; else { Tmp5 = isWhitespace_10550133(x_10550152.childNodes[nxt_10550177]); } if (!Tmp5) break L4; + nxt_10550177 = addInt(nxt_10550177, 1); + } + } while(false); + if (!(nxt_10550177 < x_10550152.childNodes.length)) Tmp8 = false; else { Tmp8 = (x_10550152.childNodes[i_10550176].nodeName == "LI"); } if (!Tmp8) Tmp7 = false; else { Tmp7 = (x_10550152.childNodes[i_10550176].childNodes.length == 1); } if (!Tmp7) Tmp6 = false; else { Tmp6 = (x_10550152.childNodes[nxt_10550177].nodeName == "UL"); } if (Tmp6) { + var e_10550204 = {heading: x_10550152.childNodes[i_10550176].childNodes[0], kids: [], sortId: (f_10550174.kids).length, doSort: false}; + var it_10550205 = x_10550152.childNodes[nxt_10550177]; + L9: do { + var j_10550213 = 0; + var colontmp__10575445 = 0; + colontmp__10575445 = it_10550205.childNodes.length; + var i_10575446 = 0; + L10: do { + L11: while (true) { + if (!(i_10575446 < colontmp__10575445)) break L11; + j_10550213 = i_10575446; + toToc_10550150(it_10550205.childNodes[j_10550213], e_10550204); + i_10575446 = addInt(i_10575446, 1); + } + } while(false); + } while(false); + f_10550174.kids.push(e_10550204);; + i_10550176 = addInt(nxt_10550177, 1); + } + else { + toToc_10550150(x_10550152.childNodes[i_10550176], f_10550174); + i_10550176 = addInt(i_10550176, 1); + } + + } + } while(false); + father_10550153.kids.push(f_10550174);; + } + else { + if (isWhitespace_10550133(x_10550152)) { + } + else { + if ((x_10550152.nodeName == "LI")) { + var idx_10550252 = []; + L12: do { + var i_10550260 = 0; + var colontmp__10575449 = 0; + colontmp__10575449 = x_10550152.childNodes.length; + var i_10575450 = 0; + L13: do { + L14: while (true) { + if (!(i_10575450 < colontmp__10575449)) break L14; + i_10550260 = i_10575450; + if (!(isWhitespace_10550133(x_10550152.childNodes[i_10550260]))) { + idx_10550252.push(i_10550260);; + } + + i_10575450 = addInt(i_10575450, 1); + } + } while(false); + } while(false); + if (!((idx_10550252).length == 2)) Tmp15 = false; else { Tmp15 = (x_10550152.childNodes[idx_10550252[chckIndx(1, 0, (idx_10550252).length-1)]].nodeName == "UL"); } if (Tmp15) { + var e_10550294 = {heading: x_10550152.childNodes[idx_10550252[chckIndx(0, 0, (idx_10550252).length-1)]], kids: [], sortId: (father_10550153.kids).length, doSort: false}; + var it_10550295 = x_10550152.childNodes[idx_10550252[chckIndx(1, 0, (idx_10550252).length-1)]]; + L16: do { + var j_10550303 = 0; + var colontmp__10575454 = 0; + colontmp__10575454 = it_10550295.childNodes.length; + var i_10575455 = 0; + L17: do { + L18: while (true) { + if (!(i_10575455 < colontmp__10575454)) break L18; + j_10550303 = i_10575455; + toToc_10550150(it_10550295.childNodes[j_10550303], e_10550294); + i_10575455 = addInt(i_10575455, 1); + } + } while(false); + } while(false); + father_10550153.kids.push(e_10550294);; + } + else { + L19: do { + var i_10550319 = 0; + var colontmp__10575458 = 0; + colontmp__10575458 = x_10550152.childNodes.length; + var i_10575459 = 0; + L20: do { + L21: while (true) { + if (!(i_10575459 < colontmp__10575458)) break L21; + i_10550319 = i_10575459; + toToc_10550150(x_10550152.childNodes[i_10550319], father_10550153); + i_10575459 = addInt(i_10575459, 1); + } + } while(false); + } while(false); + } + + } + else { + father_10550153.kids.push({heading: x_10550152, kids: [], sortId: (father_10550153.kids).length, doSort: false});; + } + }} + + +} +function extractItems_10505075(x_10505077, heading_10505078, items_10505081, items_10505081_Idx) { + var Tmp1; + + BeforeRet: do { + if ((x_10505077 == null)) { + break BeforeRet; + } + + if (!!((x_10505077.heading == null))) Tmp1 = false; else { Tmp1 = (x_10505077.heading.textContent == heading_10505078); } if (Tmp1) { + L2: do { + var i_10510021 = 0; + var colontmp__10575475 = 0; + colontmp__10575475 = (x_10505077.kids).length; + var i_10575476 = 0; + L3: do { + L4: while (true) { + if (!(i_10575476 < colontmp__10575475)) break L4; + i_10510021 = i_10575476; + items_10505081[items_10505081_Idx].push(x_10505077.kids[chckIndx(i_10510021, 0, (x_10505077.kids).length-1)].heading);; + i_10575476 = addInt(i_10575476, 1); + } + } while(false); + } while(false); + } + else { + L5: do { + var i_10510042 = 0; + var colontmp__10575479 = 0; + colontmp__10575479 = (x_10505077.kids).length; + var i_10575480 = 0; + L6: do { + L7: while (true) { + if (!(i_10575480 < colontmp__10575479)) break L7; + i_10510042 = i_10575480; + var it_10510043 = x_10505077.kids[chckIndx(i_10510042, 0, (x_10505077.kids).length-1)]; + extractItems_10505075(it_10510043, heading_10505078, items_10505081, items_10505081_Idx); + i_10575480 = addInt(i_10575480, 1); + } + } while(false); + } while(false); + } + + } while (false); + + +} +function tree_10496020(tag_10496022, kids_10496024) { + var result_10496025 = null; + + result_10496025 = document.createElement(toJSStr(tag_10496022)); + L1: do { + var k_10496058 = null; + var k_10496058_Idx = 0; + var i_10575496 = 0; + L2: do { + L3: while (true) { + if (!(i_10575496 < (kids_10496024).length)) break L3; + k_10496058 = kids_10496024; k_10496058_Idx = chckIndx(i_10575496, 0, (kids_10496024).length-1); + result_10496025.appendChild(k_10496058[k_10496058_Idx]); + i_10575496 = addInt(i_10575496, 1); + } + } while(false); + } while(false); + + return result_10496025; + +} +function text_10496169(s_10496171) { + var result_10496172 = null; + + result_10496172 = document.createTextNode(s_10496171); + + return result_10496172; + +} +function sysFatal_1305418(message_1305422) { + raiseException({message: nimCopy(null, message_1305422, NTI1188013), m_type: NTI1194641, parent: null, name: null, trace: [], up: null}, "AssertionDefect"); + + +} +function raiseAssert_1305414(msg_1305416) { + sysFatal_1305418(msg_1305416); + + +} +function failedAssertImpl_1305480(msg_1305482) { + raiseAssert_1305414(msg_1305482); + + +} +function uncovered_10555022(x_10555024) { + var Tmp1; + var Tmp2; + + var result_10555025 = null; + + BeforeRet: do { + if (!((x_10555024.kids).length == 0)) Tmp1 = false; else { Tmp1 = !((x_10555024.heading == null)); } if (Tmp1) { + if (!(x_10555024.heading.hasOwnProperty('__karaxMarker__'))) { + Tmp2 = x_10555024; + } + else { + Tmp2 = null; + } + + result_10555025 = Tmp2; + break BeforeRet; + } + + result_10555025 = {heading: x_10555024.heading, kids: [], sortId: x_10555024.sortId, doSort: x_10555024.doSort}; + L3: do { + var i_10560036 = 0; + var colontmp__10575507 = 0; + colontmp__10575507 = (x_10555024.kids).length; + var i_10575508 = 0; + L4: do { + L5: while (true) { + if (!(i_10575508 < colontmp__10575507)) break L5; + i_10560036 = i_10575508; + var y_10560037 = uncovered_10555022(x_10555024.kids[chckIndx(i_10560036, 0, (x_10555024.kids).length-1)]); + if (!((y_10560037 == null))) { + result_10555025.kids.push(y_10560037);; + } + + i_10575508 = addInt(i_10575508, 1); + } + } while(false); + } while(false); + if (((result_10555025.kids).length == 0)) { + result_10555025 = null; + } + + } while (false); + + return result_10555025; + +} +function mergeTocs_10565035(orig_10565037, news_10565038) { + var result_10565039 = null; + + result_10565039 = uncovered_10555022(orig_10565037); + if ((result_10565039 == null)) { + result_10565039 = news_10565038; + } + else { + L1: do { + var i_10565060 = 0; + var colontmp__10575502 = 0; + colontmp__10575502 = (news_10565038.kids).length; + var i_10575503 = 0; + L2: do { + L3: while (true) { + if (!(i_10575503 < colontmp__10575502)) break L3; + i_10565060 = i_10575503; + result_10565039.kids.push(news_10565038.kids[chckIndx(i_10565060, 0, (news_10565038.kids).length-1)]);; + i_10575503 = addInt(i_10575503, 1); + } + } while(false); + } while(false); + } + + + return result_10565039; + +} +function buildToc_10565082(orig_10565084, types_10565086, procs_10565087) { + var Tmp7; + + var result_10565088 = null; + + var newStuff_10565104 = {heading: null, kids: [], doSort: true, sortId: 0}; + L1: do { + var t_10575214 = null; + var t_10575214_Idx = 0; + var i_10575491 = 0; + var L_10575492 = (types_10565086).length; + L2: do { + L3: while (true) { + if (!(i_10575491 < L_10575492)) break L3; + t_10575214 = types_10565086; t_10575214_Idx = chckIndx(i_10575491, 0, (types_10565086).length-1); + var c_10575230 = {heading: t_10575214[t_10575214_Idx].cloneNode(true), kids: [], doSort: true, sortId: 0}; + t_10575214[t_10575214_Idx].__karaxMarker__ = true; + L4: do { + var p_10575238 = null; + var p_10575238_Idx = 0; + var i_10575488 = 0; + var L_10575489 = (procs_10565087).length; + L5: do { + L6: while (true) { + if (!(i_10575488 < L_10575489)) break L6; + p_10575238 = procs_10565087; p_10575238_Idx = chckIndx(i_10575488, 0, (procs_10565087).length-1); + if (!(p_10575238[p_10575238_Idx].hasOwnProperty('__karaxMarker__'))) { + var xx_10575239 = p_10575238[p_10575238_Idx].parentNode.getElementsByClassName("attachedType"); + if (!((xx_10575239).length == 1)) Tmp7 = false; else { Tmp7 = (xx_10575239[chckIndx(0, 0, (xx_10575239).length-1)].textContent == t_10575214[t_10575214_Idx].textContent); } if (Tmp7) { + var q_10575247 = tree_10496020(makeNimstrLit("A"), [text_10496169(p_10575238[p_10575238_Idx].title)]); + q_10575247.setAttribute("href", p_10575238[p_10575238_Idx].getAttribute("href")); + c_10575230.kids.push({heading: q_10575247, kids: [], sortId: 0, doSort: false});; + p_10575238[p_10575238_Idx].__karaxMarker__ = true; + } + + } + + i_10575488 = addInt(i_10575488, 1); + if (!(((procs_10565087).length == L_10575489))) { + failedAssertImpl_1305480(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + newStuff_10565104.kids.push(c_10575230);; + i_10575491 = addInt(i_10575491, 1); + if (!(((types_10565086).length == L_10575492))) { + failedAssertImpl_1305480(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + result_10565088 = mergeTocs_10565035(orig_10565084, newStuff_10565104); + + return result_10565088; + +} +function add_10496117(parent_10496119, kid_10496120) { + var Tmp1; + var Tmp2; + + if (!(parent_10496119.nodeName == "TR")) Tmp1 = false; else { if ((kid_10496120.nodeName == "TD")) Tmp2 = true; else { Tmp2 = (kid_10496120.nodeName == "TH"); } Tmp1 = Tmp2; } if (Tmp1) { + var k_10496121 = document.createElement("TD"); + k_10496121.appendChild(kid_10496120); + parent_10496119.appendChild(k_10496121); + } + else { + parent_10496119.appendChild(kid_10496120); + } + + + +} +function setClass_10496135(e_10496137, value_10496138) { + e_10496137.setAttribute("class", toJSStr(value_10496138)); + + +} +function toHtml_10510072(x_10510074, isRoot_10510075) { + var Tmp1; + function HEX3Aanonymous_10515015(a_10515017, b_10515018) { + var Tmp1; + + var result_10515019 = 0; + + BeforeRet: do { + if (!!((a_10515017.heading == null))) Tmp1 = false; else { Tmp1 = !((b_10515018.heading == null)); } if (Tmp1) { + var x_10525009 = a_10515017.heading.textContent; + var y_10525010 = b_10515018.heading.textContent; + if ((x_10525009 < y_10525010)) { + result_10515019 = -1; + break BeforeRet; + } + + if ((y_10525010 < x_10525009)) { + result_10515019 = 1; + break BeforeRet; + } + + result_10515019 = 0; + break BeforeRet; + } + else { + result_10515019 = subInt(a_10515017.sortId, b_10515018.sortId); + break BeforeRet; + } + + } while (false); + + return result_10515019; + + } + + var result_10510076 = null; + + BeforeRet: do { + if ((x_10510074 == null)) { + result_10510076 = null; + break BeforeRet; + } + + if (((x_10510074.kids).length == 0)) { + if ((x_10510074.heading == null)) { + result_10510076 = null; + break BeforeRet; + } + + result_10510076 = x_10510074.heading.cloneNode(true); + break BeforeRet; + } + + result_10510076 = tree_10496020(makeNimstrLit("DIV"), []); + if (!!((x_10510074.heading == null))) Tmp1 = false; else { Tmp1 = !(x_10510074.heading.hasOwnProperty('__karaxMarker__')); } if (Tmp1) { + add_10496117(result_10510076, x_10510074.heading.cloneNode(true)); + } + + var ul_10515012 = tree_10496020(makeNimstrLit("UL"), []); + if (isRoot_10510075) { + setClass_10496135(ul_10515012, makeNimstrLit("simple simple-toc")); + } + else { + setClass_10496135(ul_10515012, makeNimstrLit("simple")); + } + + if (x_10510074.doSort) { + x_10510074.kids.sort(HEX3Aanonymous_10515015); + } + + L2: do { + var k_10540214 = null; + var k_10540214_Idx = 0; + var i_10575514 = 0; + var L_10575515 = (x_10510074.kids).length; + L3: do { + L4: while (true) { + if (!(i_10575514 < L_10575515)) break L4; + k_10540214 = x_10510074.kids; k_10540214_Idx = chckIndx(i_10575514, 0, (x_10510074.kids).length-1); + var y_10540215 = toHtml_10510072(k_10540214[k_10540214_Idx], false); + if (!((y_10540215 == null))) { + add_10496117(ul_10515012, tree_10496020(makeNimstrLit("LI"), [y_10540215])); + } + + i_10575514 = addInt(i_10575514, 1); + if (!(((x_10510074.kids).length == L_10575515))) { + failedAssertImpl_1305480(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + if (!((ul_10515012.childNodes.length == 0))) { + add_10496117(result_10510076, ul_10515012); + } + + if ((result_10510076.childNodes.length == 0)) { + result_10510076 = null; + } + + } while (false); + + return result_10510076; + +} +function replaceById_10496189(id_10496191, newTree_10496192) { + var x_10496193 = document.getElementById(id_10496191); + x_10496193.parentNode.replaceChild(newTree_10496192, x_10496193); + newTree_10496192.id = id_10496191; + + +} +function togglevis_10575336(d_10575338) { + if (d_10575338.style.display == 'none') + d_10575338.style.display = 'inline'; + else + d_10575338.style.display = 'none'; + + + +} +function groupBy(value_10575354) { + var toc_10575355 = document.getElementById("toc-list"); + if ((alternative_10575322[0] == null)) { + var tt_10575376 = {heading: null, kids: [], sortId: 0, doSort: false}; + toToc_10550150(toc_10575355, tt_10575376); + tt_10575376 = tt_10575376.kids[chckIndx(0, 0, (tt_10575376.kids).length-1)]; + var types_10575393 = [[]]; + var procs_10575410 = [[]]; + extractItems_10505075(tt_10575376, "Types", types_10575393, 0); + extractItems_10505075(tt_10575376, "Procs", procs_10575410, 0); + extractItems_10505075(tt_10575376, "Converters", procs_10575410, 0); + extractItems_10505075(tt_10575376, "Methods", procs_10575410, 0); + extractItems_10505075(tt_10575376, "Templates", procs_10575410, 0); + extractItems_10505075(tt_10575376, "Macros", procs_10575410, 0); + extractItems_10505075(tt_10575376, "Iterators", procs_10575410, 0); + var ntoc_10575418 = buildToc_10565082(tt_10575376, types_10575393[0], procs_10575410[0]); + var x_10575419 = toHtml_10510072(ntoc_10575418, true); + alternative_10575322[0] = tree_10496020(makeNimstrLit("DIV"), [x_10575419]); + } + + if ((value_10575354 == "type")) { + replaceById_10496189("tocRoot", alternative_10575322[0]); + } + else { + replaceById_10496189("tocRoot", tree_10496020(makeNimstrLit("DIV"), [])); + } + + togglevis_10575336(document.getElementById("toc-list")); + + +} +var db_10575518 = [[]]; +var contents_10575520 = [[]]; +var oldtoc_10585439 = [null]; +var timer_10585440 = [null]; +function raiseRangeError() { + raiseException({message: makeNimstrLit("value out of range"), parent: null, m_type: NTI1194653, name: null, trace: [], up: null}, "RangeDefect"); + + +} +function nsuToLowerAsciiChar(c_9410023) { + var result_9410024 = 0; + + if ((ConstSet2[c_9410023] != undefined)) { + result_9410024 = chckRange(addInt(c_9410023, 32), 0, 255); + } + else { + result_9410024 = c_9410023; + } + + + return result_9410024; + +} +function fuzzyMatch_10416054(pattern_10416056, str_10416057) { + var Tmp4; + var Tmp5; + var Tmp6; + var Tmp7; + var Tmp8; + + var result_10416061 = {Field0: 0, Field1: false}; + + var scoreState_10416062 = -100; + var headerMatched_10416063 = false; + var unmatchedLeadingCharCount_10416065 = 0; + var consecutiveMatchCount_10416067 = 0; + var strIndex_10416069 = 0; + var patIndex_10416071 = 0; + var score_10416073 = 0; + L1: do { + L2: while (true) { + if (!((strIndex_10416069 < (str_10416057).length) && (patIndex_10416071 < (pattern_10416056).length))) break L2; + L3: do { + var patternChar_10416079 = nsuToLowerAsciiChar(pattern_10416056.charCodeAt(chckIndx(patIndex_10416071, 0, (pattern_10416056).length-1))); + var strChar_10416080 = nsuToLowerAsciiChar(str_10416057.charCodeAt(chckIndx(strIndex_10416069, 0, (str_10416057).length-1))); + if ((ConstSet3[patternChar_10416079] != undefined)) { + patIndex_10416071 = addInt(patIndex_10416071, 1); + break L3; + } + + if ((ConstSet4[strChar_10416080] != undefined)) { + strIndex_10416069 = addInt(strIndex_10416069, 1); + break L3; + } + + if ((!(headerMatched_10416063) && (strChar_10416080 == 58))) { + headerMatched_10416063 = true; + scoreState_10416062 = -100; + score_10416073 = ((Math.floor((5.0000000000000000e-01 * score_10416073)))|0); + patIndex_10416071 = 0; + strIndex_10416069 = addInt(strIndex_10416069, 1); + break L3; + } + + if ((strChar_10416080 == patternChar_10416079)) { + switch (scoreState_10416062) { + case -100: + case 20: + scoreState_10416062 = 10; + break; + case 0: + scoreState_10416062 = 5; + score_10416073 = addInt(score_10416073, scoreState_10416062); + break; + case 10: + case 5: + consecutiveMatchCount_10416067 = addInt(consecutiveMatchCount_10416067, 1); + scoreState_10416062 = 5; + score_10416073 = addInt(score_10416073, mulInt(5, consecutiveMatchCount_10416067)); + if ((scoreState_10416062 == 10)) { + score_10416073 = addInt(score_10416073, 10); + } + + var onBoundary_10430042 = (patIndex_10416071 == ((pattern_10416056).length-1)); + if ((!(onBoundary_10430042) && (strIndex_10416069 < ((str_10416057).length-1)))) { + var nextPatternChar_10430043 = nsuToLowerAsciiChar(pattern_10416056.charCodeAt(chckIndx(addInt(patIndex_10416071, 1), 0, (pattern_10416056).length-1))); + var nextStrChar_10430044 = nsuToLowerAsciiChar(str_10416057.charCodeAt(chckIndx(addInt(strIndex_10416069, 1), 0, (str_10416057).length-1))); + if (!!((ConstSet5[nextStrChar_10430044] != undefined))) Tmp4 = false; else { Tmp4 = !((nextStrChar_10430044 == nextPatternChar_10430043)); } onBoundary_10430042 = Tmp4; + } + + if (onBoundary_10430042) { + scoreState_10416062 = 20; + score_10416073 = addInt(score_10416073, scoreState_10416062); + } + + break; + case -1: + case -3: + if (!((ConstSet6[str_10416057.charCodeAt(chckIndx(subInt(strIndex_10416069, 1), 0, (str_10416057).length-1))] != undefined))) Tmp5 = true; else { if (!(ConstSet7[str_10416057.charCodeAt(chckIndx(subInt(strIndex_10416069, 1), 0, (str_10416057).length-1))] != undefined)) Tmp6 = false; else { Tmp6 = (ConstSet8[str_10416057.charCodeAt(chckIndx(strIndex_10416069, 0, (str_10416057).length-1))] != undefined); } Tmp5 = Tmp6; } var isLeadingChar_10460008 = Tmp5; + if (isLeadingChar_10460008) { + scoreState_10416062 = 10; + } + else { + scoreState_10416062 = 0; + score_10416073 = addInt(score_10416073, scoreState_10416062); + } + + break; + } + patIndex_10416071 = addInt(patIndex_10416071, 1); + } + else { + switch (scoreState_10416062) { + case -100: + scoreState_10416062 = -3; + score_10416073 = addInt(score_10416073, scoreState_10416062); + break; + case 5: + scoreState_10416062 = -1; + score_10416073 = addInt(score_10416073, scoreState_10416062); + consecutiveMatchCount_10416067 = 0; + break; + case -3: + if ((unmatchedLeadingCharCount_10416065 < 3)) { + scoreState_10416062 = -3; + score_10416073 = addInt(score_10416073, scoreState_10416062); + } + + unmatchedLeadingCharCount_10416065 = addInt(unmatchedLeadingCharCount_10416065, 1); + break; + default: + scoreState_10416062 = -1; + score_10416073 = addInt(score_10416073, scoreState_10416062); + break; + } + } + + strIndex_10416069 = addInt(strIndex_10416069, 1); + } while(false); + } + } while(false); + if (!(patIndex_10416071 == (pattern_10416056).length)) Tmp7 = false; else { if ((strIndex_10416069 == (str_10416057).length)) Tmp8 = true; else { Tmp8 = !((ConstSet9[str_10416057.charCodeAt(chckIndx(strIndex_10416069, 0, (str_10416057).length-1))] != undefined)); } Tmp7 = Tmp8; } if (Tmp7) { + score_10416073 = addInt(score_10416073, 10); + } + + var colontmp__10595060 = nimMax(0, score_10416073); + var colontmp__10595061 = (0 < score_10416073); + nimCopy(result_10416061, {Field0: colontmp__10595060, Field1: colontmp__10595061}, NTI10416058); + + return result_10416061; + +} +function escapeCString_10575537(x_10575540, x_10575540_Idx) { + var s_10575541 = []; + L1: do { + var c_10575542 = 0; + var i_10595065 = 0; + var L_10595066 = (x_10575540[x_10575540_Idx]).length; + L2: do { + L3: while (true) { + if (!(i_10595065 < L_10595066)) break L3; + c_10575542 = x_10575540[x_10575540_Idx].charCodeAt(chckIndx(i_10595065, 0, (x_10575540[x_10575540_Idx]).length-1)); + switch (c_10575542) { + case 38: + s_10575541.push.apply(s_10575541, makeNimstrLit("&"));; + break; + case 60: + s_10575541.push.apply(s_10575541, makeNimstrLit("<"));; + break; + case 62: + s_10575541.push.apply(s_10575541, makeNimstrLit(">"));; + break; + case 34: + s_10575541.push.apply(s_10575541, makeNimstrLit("""));; + break; + case 39: + s_10575541.push.apply(s_10575541, makeNimstrLit("'"));; + break; + case 47: + s_10575541.push.apply(s_10575541, makeNimstrLit("/"));; + break; + default: + addChar(s_10575541, c_10575542);; + break; + } + i_10595065 = addInt(i_10595065, 1); + } + } while(false); + } while(false); + x_10575540[x_10575540_Idx] = toJSStr(s_10575541); + + +} +function text_10496152(s_10496154) { + var result_10496155 = null; + + result_10496155 = document.createTextNode(toJSStr(s_10496154)); + + return result_10496155; + +} +function dosearch_10575556(value_10575558) { + function HEX3Aanonymous_10585276(a_10585285, b_10585286) { + var result_10585292 = 0; + + result_10585292 = subInt(b_10585286["Field1"], a_10585285["Field1"]); + + return result_10585292; + + } + + var result_10575559 = null; + + if (((db_10575518[0]).length == 0)) { + var stuff_10575565 = null; + var request = new XMLHttpRequest(); + request.open("GET", "theindex.html", false); + request.send(null); + + var doc = document.implementation.createHTMLDocument("theindex"); + doc.documentElement.innerHTML = request.responseText; + + //parser=new DOMParser(); + //doc=parser.parseFromString("", "text/html"); + + stuff_10575565 = doc.documentElement; + + db_10575518[0] = nimCopy(null, stuff_10575565.getElementsByClassName("reference"), NTI1880505); + contents_10575520[0] = nimCopy(null, [], NTI10575580); + L1: do { + var ahref_10585214 = null; + var ahref_10585214_Idx = 0; + var i_10595040 = 0; + var L_10595041 = (db_10575518[0]).length; + L2: do { + L3: while (true) { + if (!(i_10595040 < L_10595041)) break L3; + ahref_10585214 = db_10575518[0]; ahref_10585214_Idx = chckIndx(i_10595040, 0, (db_10575518[0]).length-1); + contents_10575520[0].push(ahref_10585214[ahref_10585214_Idx].getAttribute("data-doc-search-tag"));; + i_10595040 = addInt(i_10595040, 1); + if (!(((db_10575518[0]).length == L_10595041))) { + failedAssertImpl_1305480(makeNimstrLit("iterators.nim(204, 11) `len(a) == L` the length of the seq changed while iterating over it")); + } + + } + } while(false); + } while(false); + } + + var ul_10585226 = tree_10496020(makeNimstrLit("UL"), []); + result_10575559 = tree_10496020(makeNimstrLit("DIV"), []); + setClass_10496135(result_10575559, makeNimstrLit("search_results")); + var matches_10585247 = []; + L4: do { + var i_10585260 = 0; + var colontmp__10595047 = 0; + colontmp__10595047 = (db_10575518[0]).length; + var i_10595048 = 0; + L5: do { + L6: while (true) { + if (!(i_10595048 < colontmp__10595047)) break L6; + i_10585260 = i_10595048; + L7: do { + var c_10585261 = contents_10575520[0][chckIndx(i_10585260, 0, (contents_10575520[0]).length-1)]; + if (((c_10585261 == "Examples") || (c_10585261 == "PEG construction"))) { + break L7; + } + + var colontmp__10595055 = fuzzyMatch_10416054(value_10575558, c_10585261); + var score_10585262 = colontmp__10595055["Field0"]; + var matched_10585263 = colontmp__10595055["Field1"]; + if (matched_10585263) { + matches_10585247.push({Field0: db_10575518[0][chckIndx(i_10585260, 0, (db_10575518[0]).length-1)], Field1: score_10585262});; + } + + } while(false); + i_10595048 = addInt(i_10595048, 1); + } + } while(false); + } while(false); + matches_10585247.sort(HEX3Aanonymous_10585276); + L8: do { + var i_10585331 = 0; + var colontmp__10595052 = 0; + colontmp__10595052 = nimMin((matches_10585247).length, 29); + var i_10595053 = 0; + L9: do { + L10: while (true) { + if (!(i_10595053 < colontmp__10595052)) break L10; + i_10585331 = i_10595053; + matches_10585247[chckIndx(i_10585331, 0, (matches_10585247).length-1)]["Field0"].innerHTML = matches_10585247[chckIndx(i_10585331, 0, (matches_10585247).length-1)]["Field0"].getAttribute("data-doc-search-tag"); + escapeCString_10575537(matches_10585247[chckIndx(i_10585331, 0, (matches_10585247).length-1)]["Field0"], "innerHTML"); + add_10496117(ul_10585226, tree_10496020(makeNimstrLit("LI"), [matches_10585247[chckIndx(i_10585331, 0, (matches_10585247).length-1)]["Field0"]])); + i_10595053 = addInt(i_10595053, 1); + } + } while(false); + } while(false); + if ((ul_10585226.childNodes.length == 0)) { + add_10496117(result_10575559, tree_10496020(makeNimstrLit("B"), [text_10496152(makeNimstrLit("no search results"))])); + } + else { + add_10496117(result_10575559, tree_10496020(makeNimstrLit("B"), [text_10496152(makeNimstrLit("search results"))])); + add_10496117(result_10575559, ul_10585226); + } + + + return result_10575559; + +} +function search() { + function wrapper_10585471() { + var elem_10585473 = document.getElementById("searchInput"); + var value_10585474 = elem_10585473.value; + if (!(((value_10585474).length == 0))) { + if ((oldtoc_10585439[0] == null)) { + oldtoc_10585439[0] = document.getElementById("tocRoot"); + } + + var results_10590006 = dosearch_10575556(value_10585474); + replaceById_10496189("tocRoot", results_10590006); + } + else { + if (!((oldtoc_10585439[0] == null))) { + replaceById_10496189("tocRoot", oldtoc_10585439[0]); + } + } + + + } + + if (!((timer_10585440[0] == null))) { + clearTimeout(timer_10585440[0]); + } + + timer_10585440[0] = setTimeout(wrapper_10585471, 400); + + +} diff --git a/src/htmldocs/fftw3.html b/src/htmldocs/fftw3.html index b5eb537..be488c9 100644 --- a/src/htmldocs/fftw3.html +++ b/src/htmldocs/fftw3.html @@ -93,49 +93,13 @@

fftw3