diff options
| author | Gabriel Schneider <[email protected]> | 2026-10-01 13:05:10 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 13:16:47 -0300 |
| commit | f700b2af8e874c586e6996b8311c3983203c6637 (patch) | |
| tree | 89c7de940f888a0917e5851c8a362c83de50b389 | |
| parent | f6a511c61d7ef2ff680f70077b236559a595be69 (diff) | |
| download | pardes-f700b2af8e874c586e6996b8311c3983203c6637.tar.gz pardes-f700b2af8e874c586e6996b8311c3983203c6637.zip | |
Builtins are chips that link to a glossary generated from the registry, and the virtual filesystem is drawn as a tree
#word draws a builtin as a chip on the tag's ground over a rule (Look and
Exec in acme's look green and exec red), a <code class="word"> in HTML,
and links it to its entry in a new Builtins chapter wherever that
chapter is in the same output (the book, the site). The chapter is
drawn from docs/typ/builtins-tty.json and builtins-gui.json, which
`zig build builtins-json -Dplatform=tty|gui` writes from the registry
and the Help rows (src/builtins_json.zig, tools/gen_builtins_json.zig;
summaryOf in ninep/ctl.zig is now pub); style.typ merges them, marking
the window-only words. The doc steps refresh their build's file first,
and each build's unit-test fails when its file is stale. Everyday words
first (`everyday` in style.typ), then groups by leader prefix as Help
has them, then settings, the words with no path, debugging and
internals, and last an A-Z index of every word. `zig build book` joins
the doc steps.
#fstree draws a directory tree with its connectors, a description
column and links to the sections that document each file; reference.typ
draws the served tree with it, each pane, pty and column file on its
own line, and a test in config.zig checks it against ninep/tree.zig's
files both ways. The cheatsheet has a two-level version. On the site
the tree reads as `tree` text in w3m and wraps descriptions under the
names on a phone.
The site's tutor draws its B1, B2, B3 and 1-2 chords as mouse glyphs;
the landing credits Plan 9 and acme, as does the book's title page;
install.typ no longer lists the mirrors (the footer does).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
| -rw-r--r-- | build.zig | 67 | ||||
| -rw-r--r-- | docs/site/site.css | 37 | ||||
| -rw-r--r-- | docs/site/site.typ | 22 | ||||
| -rw-r--r-- | docs/typ/README | 33 | ||||
| -rw-r--r-- | docs/typ/book.typ | 4 | ||||
| -rw-r--r-- | docs/typ/builtins-gui.json | 137 | ||||
| -rw-r--r-- | docs/typ/builtins-tty.json | 118 | ||||
| -rw-r--r-- | docs/typ/builtins.typ | 12 | ||||
| -rw-r--r-- | docs/typ/cheatsheet-a4.pdf | 1937 | ||||
| -rw-r--r-- | docs/typ/cheatsheet.typ | 23 | ||||
| -rw-r--r-- | docs/typ/install.typ | 1 | ||||
| -rw-r--r-- | docs/typ/reference.typ | 76 | ||||
| -rw-r--r-- | docs/typ/style.typ | 221 | ||||
| -rw-r--r-- | src/builtins_json.zig | 97 | ||||
| -rw-r--r-- | src/config.zig | 71 | ||||
| -rw-r--r-- | src/ninep/ctl.zig | 2 | ||||
| -rw-r--r-- | src/pardes.zig | 3 | ||||
| -rw-r--r-- | tools/gen_builtins_json.zig | 14 |
18 files changed, 1896 insertions, 979 deletions
@@ -122,26 +122,38 @@ pub fn build(b: *std.Build) void { const test_build = b.step("test-build", "compile unit-test programs without running them"); const doc_typ_opts = b.addOptions(); doc_typ_opts.addOption([]const u8, "dir", b.pathFromRoot("docs/typ")); + // The docs (docs/typ, docs/site): each output is one typst run, and each + // reads docs/typ/builtins-*.json; `builtins-json` refreshes this build's from the + // registry first (the tool is wired below, once the core module is). + const typst_bin: ?[]const u8 = b.findProgram(&.{"typst"}, &.{}) catch null; + var doc_renders: [3]?*std.Build.Step.Run = @splat(null); const cheatsheet_step = b.step("cheatsheet", "render docs/typ/cheatsheet-a4.typ to <prefix>/share/doc/pardes/cheatsheet.pdf (needs typst)"); - if (b.findProgram(&.{"typst"}, &.{})) |typst| { - const render = b.addSystemCommand(&.{ typst, "compile", "--ignore-system-fonts" }); - render.addFileArg(b.path("docs/typ/cheatsheet-a4.typ")); - const pdf = render.addOutputFileArg("cheatsheet.pdf"); - render.addFileInput(b.path("docs/typ/cheatsheet.typ")); - render.addFileInput(b.path("docs/typ/style.typ")); - cheatsheet_step.dependOn(&b.addInstallFile(pdf, "share/doc/pardes/cheatsheet.pdf").step); - } else |_| cheatsheet_step.dependOn(&b.addFail("zig build cheatsheet needs typst on PATH").step); + const book_step = b.step("book", "render docs/typ/book.typ to <prefix>/share/doc/pardes/pardes.pdf (needs typst)"); // The website: one Typst bundle run writes every page, the stylesheet, - // the fonts and the media (docs/site/site.typ). It reads all of docs/typ, - // docs/site and the tutor, so it always runs rather than track them. + // the fonts and the media (docs/site/site.typ). const site_step = b.step("site", "render the docs website to <prefix>/share/doc/pardes/site (needs typst)"); - if (b.findProgram(&.{"typst"}, &.{})) |typst| { - const render = b.addSystemCommand(&.{ typst, "compile", "--format", "bundle", "--features", "bundle,html", "--root", b.pathFromRoot(".") }); - render.addFileArg(b.path("docs/site/site.typ")); - const site = render.addOutputDirectoryArg("site"); - render.has_side_effects = true; - site_step.dependOn(&b.addInstallDirectory(.{ .source_dir = site, .install_dir = .prefix, .install_subdir = "share/doc/pardes/site" }).step); - } else |_| site_step.dependOn(&b.addFail("zig build site needs typst on PATH").step); + if (typst_bin) |typst| { + // They read all of docs/typ, docs/site and the tutor, so they always + // run rather than track every file. + const sheet = b.addSystemCommand(&.{ typst, "compile", "--ignore-system-fonts" }); + sheet.addFileArg(b.path("docs/typ/cheatsheet-a4.typ")); + sheet.has_side_effects = true; + cheatsheet_step.dependOn(&b.addInstallFile(sheet.addOutputFileArg("cheatsheet.pdf"), "share/doc/pardes/cheatsheet.pdf").step); + const book = b.addSystemCommand(&.{ typst, "compile", "--ignore-system-fonts", "--root", b.pathFromRoot(".") }); + book.addFileArg(b.path("docs/typ/book.typ")); + book.has_side_effects = true; + book_step.dependOn(&b.addInstallFile(book.addOutputFileArg("pardes.pdf"), "share/doc/pardes/pardes.pdf").step); + const site = b.addSystemCommand(&.{ typst, "compile", "--format", "bundle", "--features", "bundle,html", "--root", b.pathFromRoot(".") }); + site.addFileArg(b.path("docs/site/site.typ")); + const site_dir = site.addOutputDirectoryArg("site"); + site.has_side_effects = true; + site_step.dependOn(&b.addInstallDirectory(.{ .source_dir = site_dir, .install_dir = .prefix, .install_subdir = "share/doc/pardes/site" }).step); + doc_renders = .{ sheet, book, site }; + } else { + cheatsheet_step.dependOn(&b.addFail("zig build cheatsheet needs typst on PATH").step); + book_step.dependOn(&b.addFail("zig build book needs typst on PATH").step); + site_step.dependOn(&b.addFail("zig build site needs typst on PATH").step); + } const test_nonce: ?*std.Build.Module = if (b.option(bool, "test-rebuild", "force fresh Zig test compilation while retaining cached C dependencies") orelse false) blk: { const files = b.addTempFiles(); const source = files.add("test_nonce.zig", b.fmt("pub const nonce = {d};\n", .{std.Io.Clock.awake.now(b.graph.io).nanoseconds})); @@ -976,6 +988,27 @@ pub fn build(b: *std.Build) void { }); } + // docs/typ/builtins-<platform>.json: every builtin, from the registry and the Help + // rows (src/builtins_json.zig), rewritten in the source tree so a plain + // `typst compile` reads it too; a unit test fails when it is stale. + // A terminal build writes builtins-tty.json and a window build + // builtins-gui.json; style.typ merges the two into one glossary. + const builtins_json_step = b.step("builtins-json", "rewrite docs/typ/builtins-<tty|gui>.json from the builtin registry (-Dplatform=tty or gui)"); + if (requested_platform == .tty or requested_platform == .gui) { + const gen = b.addExecutable(.{ .name = "pardes-gen-builtins-json", .root_module = b.createModule(.{ + .target = target, + .optimize = optimize, + .root_source_file = b.path("tools/gen_builtins_json.zig"), + .imports = &.{.{ .name = "pardes", .module = core_module }}, + }) }); + const run_gen = b.addRunArtifact(gen); + const json = run_gen.addOutputFileArg("builtins.json"); + const update = b.addUpdateSourceFiles(); + update.addCopyFileToSource(json, b.fmt("docs/typ/builtins-{s}.json", .{@tagName(platform)})); + builtins_json_step.dependOn(&update.step); + for (doc_renders) |r| if (r) |run| run.step.dependOn(&update.step); + } else builtins_json_step.dependOn(&b.addFail("builtins-json writes one build's list: pass -Dplatform=tty or -Dplatform=gui").step); + const gui_shell_mod: ?*std.Build.Module = gui_mod orelse if (platform == .gui) root_mod else null; if (gui_shell_mod) |gm| { diff --git a/docs/site/site.css b/docs/site/site.css index bab762d0..ae59e79a 100644 --- a/docs/site/site.css +++ b/docs/site/site.css @@ -81,8 +81,13 @@ body { margin:0; min-height:100vh; background:var(--field) radial-gradient(color /* --- the semantic elements (docs/typ/style.typ) ------------------------------ */ .key { display:inline-block; padding:0 .3em; border-radius:4px; background:color-mix(in srgb, var(--leaf) 20%, transparent); color:var(--ink); font-size:.82em; white-space:nowrap; line-height:1.4; } .key .plus, .key .then { color:var(--leaf); opacity:.8; padding:0 .12em; } -.word { background:var(--tag); padding:0 .25em; color:var(--dim); } -.word code { font-size:.82em; color:var(--ink); } +/* a builtin or tag word: a chip to click, on the tag's ground over a rule + (Look and Exec in acme's look green and exec red) */ +:root { --look:#7fd07f; --exec:#ff8a7a; } +@media (prefers-color-scheme: light) { :root { --look:#006600; --exec:#aa0000; } } +.content code.word { font-size:.82em; color:var(--ink); background:var(--tag); padding:.05em .3em; border-radius:2px; border-bottom:2px solid var(--leaf); white-space:nowrap; } +.content code.word.look { border-bottom-color:var(--look); } +.content code.word.exec { border-bottom-color:var(--exec); } .addr code { color:var(--plum); } .file code { color:var(--leaf); } .btn, .chord { display:inline-flex; align-items:center; gap:2px; vertical-align:-.38em; margin-block:-.3em; } @@ -157,3 +162,31 @@ body { margin:0; min-height:100vh; background:var(--field) radial-gradient(color .shot figcaption { padding:3px 8px; font:16px var(--pixel); color:var(--dim); border-top:2px solid var(--leaf); } .shot.light figcaption::after { content:" · light"; color:var(--amber); } .shot .pending { aspect-ratio:960/700; display:flex; align-items:center; justify-content:center; font:15px var(--pixel); color:var(--dim); } + +/* a builtin's chip that links to its glossary entry */ +.content a:has(> code.word) { text-decoration:none; } +.content a:hover > code.word { text-decoration:underline; text-underline-offset:3px; } +.credit { font-size:18px; color:var(--dim); margin:0 0 .3em; } +/* the glossary: each entry's name is a small heading over its line */ +main[data-page="builtins"] .content h4 { font:600 18px var(--mono); color:var(--leaf); margin:1.1em 0 .1em; } +main[data-page="builtins"] .content h4 + p { margin-top:0; } +.content pre.tutor .btn, .content pre.tutor .chord { vertical-align:-.3em; } +.all-words { line-height:2.1; } + +/* the virtual filesystem as a tree: names and connectors, descriptions + in a quiet column; on a phone a description wraps under its name */ +.content pre.fstree { font-size:15px; line-height:1.35; overflow-x:visible; } +.fstree .row { display:grid; grid-template-columns:var(--name) 1fr; align-items:baseline; } +.fstree .nl { display:none; } +.fstree .branch { color:var(--rule); } +.fstree .dir, .fstree .dir a { color:var(--leaf); font-weight:700; } +.fstree a { color:var(--amber); text-decoration:none; } +.fstree a:hover { text-decoration:underline; } +.fstree .desc { color:var(--dim); font-family:var(--hand); font-size:17px; white-space:normal; line-height:1.3; } +@media (max-width:600px) { + .content pre.fstree { font-size:13px; } + .fstree .row { display:block; } + .fstree .name { display:block; } + /* under the name: its prefix is --cols cells of the 13px mono font */ + .fstree .desc { display:block; padding-left:calc(var(--cols) * 7.8px); font-size:15px; margin-bottom:.15em; } +} diff --git a/docs/site/site.typ b/docs/site/site.typ index afcd1041..52e19b01 100644 --- a/docs/site/site.typ +++ b/docs/site/site.typ @@ -4,7 +4,7 @@ // typst compile --root . --format bundle --features bundle,html docs/site/site.typ OUT // Every link is relative and every page sits at the top of OUT, so the site // works from file:// and from any static server. -#import "../typ/style.typ": chapters, tutor-path, doc-links, project +#import "../typ/style.typ": chapters, tutor-path, doc-links, project, btn, chord #let clips = toml("media/clips.toml").clip #let casts = toml("casts/casts.toml").cast @@ -23,6 +23,9 @@ or finds the word) and middle-click runs it (a builtin or a shell command). Read PDFs and source, edit code and use terminals with it, in a terminal or in its own window.], + credit: [It is built on ideas from #link("https://9p.io/plan9/")[Plan 9] from + Bell Labs: #link("https://9p.io/sys/doc/acme/acme.html")[acme]'s text as + the interface, and the 9P protocol.], status: [Linux; macOS in progress. Version #version.], terminal: [In a terminal], window: [In its own window], @@ -154,6 +157,7 @@ #document(href("index"), title: "pardes", shell("index", "pardes")[ #el("h1", (class: "masthead"))[pardes] #el("p", (class: "lead"))[#landing.lead] + #el("p", (class: "credit"))[#landing.credit] #el("p", (class: "runs"))[#landing.status] #el("div", (class: "start"))[ #for s in landing.start { @@ -197,8 +201,22 @@ ]) } +/// The tutor's text with its mouse buttons drawn: B1, B2, B3 and the +/// chords it writes 1-2 (hold 1, click 2) become the docs' mouse glyphs, +/// each with its hidden words, inside the preformatted block. +#let tutor-text(t) = { + let at = 0 + for m in t.matches(regex("\\bB([123])\\b|\\b([123])-([123])\\b")) { + t.slice(at, m.start) + if m.captures.at(0) != none { btn("B" + m.captures.at(0)) } + else { chord("B" + m.captures.at(1), "B" + m.captures.at(2)) } + at = m.end + } + t.slice(at) +} + #document(href("tutor"), title: "The tutor", shell("tutor", "The tutor")[ #heading(level: 1)[The tutor] <tutor> The tutor as the editor shows it (#raw("Tutor"), or #raw("SPC h t")). - #el("pre", (class: "tutor"))[#read(tutor-path)] + #el("pre", (class: "tutor"))[#tutor-text(read(tutor-path))] ]) diff --git a/docs/typ/README b/docs/typ/README index 522d99ff..5db2cf76 100644 --- a/docs/typ/README +++ b/docs/typ/README @@ -35,14 +35,16 @@ Build (from the repo root): The contract for content files ------------------------------ Start a content file with - #import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs + #import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs, fstree (a content file does not import page setup; the same file goes into the book, the HTML and, for the cheatsheet, the A4 page) and use plain markup (= headings, - lists, `raw`, *strong*) plus these. Never set page, fonts, colours or spacing in a content file; ask for a new function instead. - word(w) a builtin or tag word, drawn as it sits in a tag. + word(w) a builtin or tag word, drawn as a chip on the tag's + ground; a builtin links to its entry in the Builtins + chapter wherever that chapter is in the same output. #word("Save") #word("Tty+bash") key(k) one press, or a sequence of presses separated by spaces, drawn as one pill (Ctrl + w, g › g). @@ -68,12 +70,39 @@ new function instead. config keys detached, mapped in `topics`). A link in the book and the HTML; on the A4 sheet, its name. #doc("building", section: "listeners") + fstree(spec) a directory tree drawn as `tree` draws one, from a raw + block: two spaces of indent per level, the name (a + directory ends in /), two or more spaces, a one-line + description, an optional @label of the section that + documents it (a link where that section is in the + same output). reference.typ's tree is checked against + the files the session serves. + #fstree(``` + index a line per pane @rules + pane/ + new open: a new pane @panes + ```) + theme-gallery() every theme as a picture, on the site's Themes page; + nothing on paper. pairs(split:, ..cells) a two-column table, a thing and its meaning, rows on alternating tints; split: 2 sets it as two tables side by side on paper. Cells alternate left, right. #pairs(key("u"), [undo], keys("i", "a"), [insert]) +Builtins +-------- +builtins-tty.json and builtins-gui.json are every builtin of the terminal +and the window build (name, leader, Help's other shortcuts, arg, scope, +setting, choices, doc), written by `zig build builtins-json -Dplatform=tty` +and `-Dplatform=gui` from the registry and the Help rows +(src/builtins_json.zig). style.typ merges them, marking each word "both", +"tty" or "gui". The doc steps refresh their build's file first, and each +build's unit-test fails when its file is stale. #word takes a name from +either file. builtins.typ draws it as the +glossary; `everyday`, `internals` and `builtin-groups` in style.typ say +in what order. + The drift test -------------- The unit test "docs/typ names only words, keys and default tags that diff --git a/docs/typ/book.typ b/docs/typ/book.typ index 7223ea1d..b2245372 100644 --- a/docs/typ/book.typ +++ b/docs/typ/book.typ @@ -30,6 +30,10 @@ text(size: 34pt, weight: "bold", fill: palette.tag-name)[pardes] v(4mm) text(size: 13pt, style: "italic", fill: palette.tag-fg, tagline) + v(10mm) + text(size: 11pt, fill: palette.ink)[Built on ideas from #link("https://9p.io/plan9/")[Plan 9] from Bell + Labs: #link("https://9p.io/sys/doc/acme/acme.html")[acme]'s text as the interface, and the 9P + protocol.] v(2fr) }) diff --git a/docs/typ/builtins-gui.json b/docs/typ/builtins-gui.json new file mode 100644 index 00000000..ec214069 --- /dev/null +++ b/docs/typ/builtins-gui.json @@ -0,0 +1,137 @@ +[ + {"name": "Ascii", "leader": "SPC t a", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "add the printable ASCII bitmaps to the matcher's glyph set"}, + {"name": "Attach", "leader": "SPC s a", "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Attach this terminal to a detached pardes session by name."}, + {"name": "Back", "leader": "SPC j o", "also": ["C-o"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Ctrl-o: one step back into the history."}, + {"name": "Bloom", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off, 0-3", "doc": "The brightest ink glows a little: a level, 0 (off) through 3."}, + {"name": "BootShell", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "keep, replace", "doc": "A document dropped where a lone untouched shell stands: keep the shell, or replace it."}, + {"name": "Callees", "leader": "SPC l C", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the functions the function under the cursor calls."}, + {"name": "Callers", "leader": "SPC l c", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the callers of the function under the cursor."}, + {"name": "Changelog", "leader": "SPC h c", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "This build's version and what changed to reach it, printed into an output buffer the same way Config prints the live settings."}, + {"name": "ChipShadow", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "In a terminal, a notice chip casts a cell's shadow right and down, on or off."}, + {"name": "ClipPaste", "leader": "SPC p", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Paste the system clipboard after the selection."}, + {"name": "ClipPasteBefore", "leader": "SPC P", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Paste the system clipboard before the selection."}, + {"name": "ClipReplace", "leader": "SPC R", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Replace the selection with the system clipboard."}, + {"name": "ClipYank", "leader": "SPC y", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Copy the selection to the system clipboard."}, + {"name": "ClipYankMain", "leader": "SPC Y", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "helix `<space>Y`: the PRIMARY selection alone, where `SPC y` joins every cursor's."}, + {"name": "CodeAction", "leader": "SPC l a", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the language server's code actions for the cursor."}, + {"name": "Collapse", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Fold a pane to its tag, or restore its share of the column."}, + {"name": "Colors", "leader": "SPC t c", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Syntax colours in text panes, on or off."}, + {"name": "Config", "leader": "SPC f c", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the startup file, `init`, in a pane: its pane when it is open, else the file, else a pane of that name for Save to make it and its directory."}, + {"name": "Crt", "leader": "SPC t r", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off, 0-3", "doc": "The bundled CRT post pass over the window, on or off."}, + {"name": "CursorBlink", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "The cursor blinks, solid while typing, on or off."}, + {"name": "Debug", "leader": "SPC t d", "also": ["topbar"], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A small box of frame statistics at the top right, on or off."}, + {"name": "Del", "leader": "SPC d", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Close the pane."}, + {"name": "DelAbove", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Close the pane, giving its rows to the pane above it."}, + {"name": "DelBelow", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Close the pane, giving its rows to the pane below it."}, + {"name": "Delcol", "leader": "SPC c d", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Close this column and its panes, refusing once over unsaved text."}, + {"name": "Detach", "leader": "SPC s D", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Detach this pardes from its terminal, leaving the session running."}, + {"name": "Diagnostics", "leader": "SPC l d", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the file's diagnostics from the language server."}, + {"name": "Down", "leader": "SPC w j", "also": ["C-w j", "C-w down"], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Move the keyboard to the pane below, off a tag onto the pane under it."}, + {"name": "Dump", "leader": "SPC s d", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Write the session's panes and layout to a dump file, for Restore."}, + {"name": "DumpConfig", "leader": null, "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the settings in effect, each a word to click, and the startup file's path."}, + {"name": "DumpDir", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "The directory Dump writes to and a relative Restore reads from; bare, the default."}, + {"name": "DumpThemes", "leader": null, "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Write the bundled themes into the config directory's themes, to edit."}, + {"name": "Edit", "leader": null, "also": [], "arg": true, "scope": "both", "setting": false, "choices": null, "doc": "acme's Edit: sam's command language over the pane's body, from a tag, a pane ctl or exec."}, + {"name": "EffectCode", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Open the source of a panel transition or post shader, by name."}, + {"name": "Exec", "leader": null, "also": ["tab", "middle-click"], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Execute its argument as a middle click on it would, a builtin or a shell command."}, + {"name": "Exit", "leader": "SPC q", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Quit the editor, refusing once while a pane holds unsaved text: an Exit with nothing edited since discards it."}, + {"name": "Filter", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Recolour a terminal's program colours to the theme, or show them as sent, flipping between them."}, + {"name": "Find", "leader": "SPC f f", "also": ["topbar"], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "List the files below this pane's directory whose names hold its argument, in a +Search."}, + {"name": "FocusTint", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "The focused pane's and column's tags are tinted, on or off."}, + {"name": "Font", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "The body font, by name or path, and its size."}, + {"name": "Fonts", "leader": "SPC t f", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "List the fonts in a pane, each a word to click."}, + {"name": "Forward", "leader": "SPC j i", "also": ["C-i"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Ctrl-i: one step forward again, up to wherever Back started."}, + {"name": "Grain", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off, 0-3", "doc": "The page takes a fine, still grain, like paper: a level, 0 (off) through 3."}, + {"name": "Grep", "leader": "SPC f g", "also": ["topbar"], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Find's sibling: Find matches file NAMES under this pane's directory, Grep matches file CONTENTS under every pane's directory at once."}, + {"name": "GripWidth", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "The grip and scrollbar width, as a percent of the theme's rail."}, + {"name": "Help", "leader": "SPC ?", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the help: every key and every builtin."}, + {"name": "Hover", "leader": "SPC l k", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Ask the language server about the symbol under the cursor."}, + {"name": "HoverGlow", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A soft underline of light under the word a look-hover would open, on or off."}, + {"name": "InactiveDim", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "Fade the unfocused panes' text by a percentage, 0 through 100, 0 off."}, + {"name": "Joincol", "leader": "SPC c j", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Fold the active pane's column into the one on its right, keeping its panes."}, + {"name": "JumpTrail", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "In a terminal, a jump of the cursor leaves a short trail that fades, on or off."}, + {"name": "Jumplist", "leader": "SPC j l", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "List the places jumped from, each a place to go."}, + {"name": "Kill", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "acme's Kill: stop the commands pardes started -- the lines it typed into a terminal, from an exec, a middle click or a pty/run, while their shell says they run (C mark to D)."}, + {"name": "Last", "leader": "SPC j j", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Go back to the last place jumped from in another pane."}, + {"name": "Left", "leader": "SPC w h", "also": ["C-w h", "C-w left"], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Move the keyboard to the pane, or column tag, to the left."}, + {"name": "Lift", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off, shadow, rim, auto", "doc": "How the focused pane stands off the page: off, shadow, rim or auto."}, + {"name": "Ligatures", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A font's programming ligatures draw across their cells, on or off."}, + {"name": "LocationsConfig", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Set how location rows are drawn, or show how they are when bare."}, + {"name": "Look", "leader": null, "also": ["enter", "right-click"], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Look at its argument: open the file or address it names, else find the word, as a right click does."}, + {"name": "LookWord", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "search, list", "doc": "A plain word looked at: search selects its next place in the pane, list lists every place in a +Search."}, + {"name": "Lspinfo", "leader": "SPC l i", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Show which language servers serve this file and their state."}, + {"name": "Lspwhy", "leader": "SPC l w", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Explain how the last language server request was answered, step by step."}, + {"name": "MessageAnimation", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A message falls into its row and dissolves out of it, on or off."}, + {"name": "MessageDissolve", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "How long, in milliseconds, a message takes to dissolve."}, + {"name": "MessageFall", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "How long, in milliseconds, a message takes to fall into its row."}, + {"name": "MessageLinger", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "How long, in milliseconds, a message stays after what dismisses it."}, + {"name": "Messages", "leader": "SPC h m", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the messages shown so far."}, + {"name": "Mini", "leader": null, "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Open a minimap of the file in braille dots."}, + {"name": "Mode", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Cycle the pane's input modes: terminals add raw tty mode to normal/insert."}, + {"name": "Motion", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "off, crisp, smooth, bouncy, playful", "doc": "How animations move: off, crisp, smooth, bouncy or playful."}, + {"name": "Mount", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Mount another pardes's 9P tree under /n/<name>, given its dial address."}, + {"name": "Msg", "leader": null, "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Show its argument on this pane's message row."}, + {"name": "New", "leader": "SPC f n", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Open an empty scratch pane, <dir>/+New, in this pane's directory."}, + {"name": "Newcol", "leader": "SPC c n", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "An empty column right of the keyboard's, its tag taking the keyboard."}, + {"name": "NextColor", "leader": "SPC t n", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Switch to the next bundled theme."}, + {"name": "Occlusion", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Pane bodies darken faintly toward their edges, on or off."}, + {"name": "Pager", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "pardes, off", "doc": "What a terminal's commands page through: pardes, a +Pager pane (pardes -), or off, the environment's own; for terminals started after it."}, + {"name": "PagerColor", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A +Pager keeps its program's colours, on or off; for the next text paged."}, + {"name": "Palette", "leader": "SPC t l", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "the C64 palette or the terminal's own 16"}, + {"name": "PanelAscii", "leader": "SPC a a", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close through a scatter of ASCII, on or off."}, + {"name": "PanelCurtain", "leader": "SPC a c", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close like a curtain, on or off."}, + {"name": "PanelDissolve", "leader": "SPC a d", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes dissolve in and out as they open and close, on or off."}, + {"name": "PanelEdges", "leader": "SPC a e", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close from their edges, on or off."}, + {"name": "PanelFall", "leader": "SPC a f", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes fall into place as they open, on or off."}, + {"name": "PanelScramble", "leader": "SPC a r", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close through scrambled text, on or off."}, + {"name": "PanelSlide", "leader": "SPC a s", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes slide in and out as they open and close, on or off."}, + {"name": "PanelType", "leader": "SPC a t", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes type themselves in as they open, on or off."}, + {"name": "PanelVertical", "leader": "SPC a v", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close with a vertical wipe, on or off."}, + {"name": "PanelWave", "leader": "SPC a w", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close in a wave, on or off."}, + {"name": "PanelZoom", "leader": "SPC a z", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes zoom in and out as they open and close, on or off."}, + {"name": "Parallax", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A theme's page pattern moves with the text at a quarter of its speed, on or off."}, + {"name": "PdfFit", "leader": "SPC t z", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Fit the PDF page to the pane by width or by height, flipping between them (or to the one named, `width|height`)."}, + {"name": "PdfSections", "leader": "SPC t s", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the PDF's sections in a pane, each a place to go."}, + {"name": "PdfTint", "leader": "SPC t i", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Tint the PDF page to the theme, or show it as printed, stepping through them (or to the one named, `disabled|filtered|full`)."}, + {"name": "Pet", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "An optional SDL workspace-tag companion; never consumes input or text cells."}, + {"name": "Petscii", "leader": "SPC t p", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "glyph art over the host's pixels: an image pane's picture, or the kitty graphics a terminal's program placed (yazi's previews)"}, + {"name": "Placement", "leader": "SPC c p", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "acme, pardes", "doc": "Where a new pane goes: acme, as makenewwindow does, or pardes, the older rules."}, + {"name": "Recent", "leader": "SPC f r", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "List the files opened lately, closed ones too, each a place to open again."}, + {"name": "Redo", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Redo the last undone edit."}, + {"name": "Rename", "leader": "SPC l r", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Rename the symbol under the cursor everywhere, to its argument."}, + {"name": "Repl", "leader": null, "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Binds this terminal as a language's REPL, so an exec on that language's files is typed into it instead of run."}, + {"name": "Restore", "leader": "SPC s r", "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Replace every pane with those of a dump file, the last one Dump wrote when bare."}, + {"name": "Right", "leader": "SPC w l", "also": ["C-w l", "C-w right"], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Move the keyboard to the pane, or column tag, to the right."}, + {"name": "Save", "leader": "SPC f s", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Write the pane's text to its file, or to the file its argument names."}, + {"name": "SelectRefs", "leader": "SPC l h", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Select every reference to the symbol under the cursor."}, + {"name": "SelectionGlow", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A soft halo of the selection's colour round it in the body, on or off."}, + {"name": "Shader", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "A Shadertoy file into the post chain, or out of it, compiled again when saved; off empties the chain."}, + {"name": "ShaderAnimation", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "off, on, always", "doc": "When the post chain animates on its own: off, on (while focused) or always."}, + {"name": "Shell", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "The shell new terminals run; bare, $SHELL if it is executable, else /bin/sh."}, + {"name": "Subtypes", "leader": "SPC l T", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the subtypes of the type under the cursor."}, + {"name": "Supertypes", "leader": "SPC l t", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the supertypes of the type under the cursor."}, + {"name": "Symbols", "leader": "SPC l s", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the file's symbols from the language server."}, + {"name": "SyntaxBold", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Keywords and the like are drawn bold, on or off."}, + {"name": "Tagbottom", "leader": "SPC t b", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Each pane's tag goes at its foot rather than its head, on or off."}, + {"name": "TaglineSize", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "Scale the tag font, a percentage."}, + {"name": "TermImages", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "real, petscii", "doc": "How a new terminal draws its program's kitty graphics: real, as pixels where it can, or petscii, as glyph art."}, + {"name": "Theme", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "Switch to the named theme."}, + {"name": "ThemeFile", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Load a theme from a file."}, + {"name": "Themes", "leader": "SPC t t", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "List the themes in a pane, each a word to click."}, + {"name": "ThumbFlash", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "In a terminal, a pane's scroll thumb brightens as it scrolls and fades back, on or off."}, + {"name": "Togglettymode", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Switch this terminal between raw program input and normal editor mode."}, + {"name": "TreeContext", "leader": null, "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Show the declarations enclosing the top row at the pane's head, on or off."}, + {"name": "TreeContextTagStyle", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A pane's TreeContext rows draw in the tag's style, on or off."}, + {"name": "Tty", "leader": "SPC n t", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "A shell in the calling pane's directory, raw from the first frame."}, + {"name": "Tty9p", "leader": "SPC n 9", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "A Linux terminal with the current session mounted through kernel v9fs."}, + {"name": "Tutor", "leader": "SPC h t", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the tutor, a document to work through."}, + {"name": "Undo", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "acme's Undo and Redo: step the pane's body back or forward through its edits, from a tag, a pane ctl or exec."}, + {"name": "Unmount", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Unmount the 9P tree mounted under /n/<name>."}, + {"name": "Up", "leader": "SPC w k", "also": ["C-w k", "C-w up"], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Move the keyboard to the pane above, and from a column's top pane to its tag."}, + {"name": "Verbose", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A builtin says its own name on the message row as it runs, on or off."}, + {"name": "Vignette", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off, 0-3", "doc": "The window's corners fall into shade: a level, 0 (off) through 3."}, + {"name": "WindowOpacity", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "The window's opacity, a percentage."}, + {"name": "Wrap", "leader": "SPC t w", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Long lines wrap onto the next row, on or off."}, + {"name": "WsDiagnostics", "leader": "SPC l D", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the workspace's diagnostics from the language server."}, + {"name": "WsSymbols", "leader": "SPC l S", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Search the workspace's symbols for its argument."} +] diff --git a/docs/typ/builtins-tty.json b/docs/typ/builtins-tty.json new file mode 100644 index 00000000..6dd09882 --- /dev/null +++ b/docs/typ/builtins-tty.json @@ -0,0 +1,118 @@ +[ + {"name": "Ascii", "leader": "SPC t a", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "add the printable ASCII bitmaps to the matcher's glyph set"}, + {"name": "Attach", "leader": "SPC s a", "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Attach this terminal to a detached pardes session by name."}, + {"name": "Back", "leader": "SPC j o", "also": ["C-o"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Ctrl-o: one step back into the history."}, + {"name": "BootShell", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "keep, replace", "doc": "A document dropped where a lone untouched shell stands: keep the shell, or replace it."}, + {"name": "Callees", "leader": "SPC l C", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the functions the function under the cursor calls."}, + {"name": "Callers", "leader": "SPC l c", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the callers of the function under the cursor."}, + {"name": "Changelog", "leader": "SPC h c", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "This build's version and what changed to reach it, printed into an output buffer the same way Config prints the live settings."}, + {"name": "ChipShadow", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "In a terminal, a notice chip casts a cell's shadow right and down, on or off."}, + {"name": "ClipPaste", "leader": "SPC p", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Paste the system clipboard after the selection."}, + {"name": "ClipPasteBefore", "leader": "SPC P", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Paste the system clipboard before the selection."}, + {"name": "ClipReplace", "leader": "SPC R", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Replace the selection with the system clipboard."}, + {"name": "ClipYank", "leader": "SPC y", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Copy the selection to the system clipboard."}, + {"name": "ClipYankMain", "leader": "SPC Y", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "helix `<space>Y`: the PRIMARY selection alone, where `SPC y` joins every cursor's."}, + {"name": "CodeAction", "leader": "SPC l a", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the language server's code actions for the cursor."}, + {"name": "Collapse", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Fold a pane to its tag, or restore its share of the column."}, + {"name": "Colors", "leader": "SPC t c", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Syntax colours in text panes, on or off."}, + {"name": "Config", "leader": "SPC f c", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the startup file, `init`, in a pane: its pane when it is open, else the file, else a pane of that name for Save to make it and its directory."}, + {"name": "Debug", "leader": "SPC t d", "also": ["topbar"], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A small box of frame statistics at the top right, on or off."}, + {"name": "Del", "leader": "SPC d", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Close the pane."}, + {"name": "DelAbove", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Close the pane, giving its rows to the pane above it."}, + {"name": "DelBelow", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Close the pane, giving its rows to the pane below it."}, + {"name": "Delcol", "leader": "SPC c d", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Close this column and its panes, refusing once over unsaved text."}, + {"name": "Detach", "leader": "SPC s D", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Detach this pardes from its terminal, leaving the session running."}, + {"name": "Diagnostics", "leader": "SPC l d", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the file's diagnostics from the language server."}, + {"name": "Down", "leader": "SPC w j", "also": ["C-w j", "C-w down"], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Move the keyboard to the pane below, off a tag onto the pane under it."}, + {"name": "Dump", "leader": "SPC s d", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Write the session's panes and layout to a dump file, for Restore."}, + {"name": "DumpConfig", "leader": null, "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the settings in effect, each a word to click, and the startup file's path."}, + {"name": "DumpDir", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "The directory Dump writes to and a relative Restore reads from; bare, the default."}, + {"name": "DumpThemes", "leader": null, "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Write the bundled themes into the config directory's themes, to edit."}, + {"name": "Edit", "leader": null, "also": [], "arg": true, "scope": "both", "setting": false, "choices": null, "doc": "acme's Edit: sam's command language over the pane's body, from a tag, a pane ctl or exec."}, + {"name": "EffectCode", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Open the source of a panel transition or post shader, by name."}, + {"name": "Exec", "leader": null, "also": ["tab", "middle-click"], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Execute its argument as a middle click on it would, a builtin or a shell command."}, + {"name": "Exit", "leader": "SPC q", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Quit the editor, refusing once while a pane holds unsaved text: an Exit with nothing edited since discards it."}, + {"name": "Filter", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Recolour a terminal's program colours to the theme, or show them as sent, flipping between them."}, + {"name": "Find", "leader": "SPC f f", "also": ["topbar"], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "List the files below this pane's directory whose names hold its argument, in a +Search."}, + {"name": "FocusTint", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "The focused pane's and column's tags are tinted, on or off."}, + {"name": "Forward", "leader": "SPC j i", "also": ["C-i"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Ctrl-i: one step forward again, up to wherever Back started."}, + {"name": "Grep", "leader": "SPC f g", "also": ["topbar"], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Find's sibling: Find matches file NAMES under this pane's directory, Grep matches file CONTENTS under every pane's directory at once."}, + {"name": "Help", "leader": "SPC ?", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the help: every key and every builtin."}, + {"name": "Hover", "leader": "SPC l k", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Ask the language server about the symbol under the cursor."}, + {"name": "InactiveDim", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "Fade the unfocused panes' text by a percentage, 0 through 100, 0 off."}, + {"name": "Joincol", "leader": "SPC c j", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Fold the active pane's column into the one on its right, keeping its panes."}, + {"name": "JumpTrail", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "In a terminal, a jump of the cursor leaves a short trail that fades, on or off."}, + {"name": "Jumplist", "leader": "SPC j l", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "List the places jumped from, each a place to go."}, + {"name": "Kill", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "acme's Kill: stop the commands pardes started -- the lines it typed into a terminal, from an exec, a middle click or a pty/run, while their shell says they run (C mark to D)."}, + {"name": "Last", "leader": "SPC j j", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Go back to the last place jumped from in another pane."}, + {"name": "Left", "leader": "SPC w h", "also": ["C-w h", "C-w left"], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Move the keyboard to the pane, or column tag, to the left."}, + {"name": "LocationsConfig", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Set how location rows are drawn, or show how they are when bare."}, + {"name": "Look", "leader": null, "also": ["enter", "right-click"], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Look at its argument: open the file or address it names, else find the word, as a right click does."}, + {"name": "LookWord", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "search, list", "doc": "A plain word looked at: search selects its next place in the pane, list lists every place in a +Search."}, + {"name": "Lspinfo", "leader": "SPC l i", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Show which language servers serve this file and their state."}, + {"name": "Lspwhy", "leader": "SPC l w", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Explain how the last language server request was answered, step by step."}, + {"name": "MessageAnimation", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A message falls into its row and dissolves out of it, on or off."}, + {"name": "MessageDissolve", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "How long, in milliseconds, a message takes to dissolve."}, + {"name": "MessageFall", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "How long, in milliseconds, a message takes to fall into its row."}, + {"name": "MessageLinger", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "How long, in milliseconds, a message stays after what dismisses it."}, + {"name": "Messages", "leader": "SPC h m", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the messages shown so far."}, + {"name": "Mini", "leader": null, "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Open a minimap of the file in braille dots."}, + {"name": "Mode", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Cycle the pane's input modes: terminals add raw tty mode to normal/insert."}, + {"name": "Motion", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "off, crisp, smooth, bouncy, playful", "doc": "How animations move: off, crisp, smooth, bouncy or playful."}, + {"name": "Mount", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Mount another pardes's 9P tree under /n/<name>, given its dial address."}, + {"name": "Msg", "leader": null, "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Show its argument on this pane's message row."}, + {"name": "New", "leader": "SPC f n", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Open an empty scratch pane, <dir>/+New, in this pane's directory."}, + {"name": "Newcol", "leader": "SPC c n", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "An empty column right of the keyboard's, its tag taking the keyboard."}, + {"name": "NextColor", "leader": "SPC t n", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Switch to the next bundled theme."}, + {"name": "Pager", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "pardes, off", "doc": "What a terminal's commands page through: pardes, a +Pager pane (pardes -), or off, the environment's own; for terminals started after it."}, + {"name": "PagerColor", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A +Pager keeps its program's colours, on or off; for the next text paged."}, + {"name": "Palette", "leader": "SPC t l", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "the C64 palette or the terminal's own 16"}, + {"name": "PanelAscii", "leader": "SPC a a", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close through a scatter of ASCII, on or off."}, + {"name": "PanelCurtain", "leader": "SPC a c", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close like a curtain, on or off."}, + {"name": "PanelDissolve", "leader": "SPC a d", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes dissolve in and out as they open and close, on or off."}, + {"name": "PanelEdges", "leader": "SPC a e", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close from their edges, on or off."}, + {"name": "PanelFall", "leader": "SPC a f", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes fall into place as they open, on or off."}, + {"name": "PanelScramble", "leader": "SPC a r", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close through scrambled text, on or off."}, + {"name": "PanelSlide", "leader": "SPC a s", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes slide in and out as they open and close, on or off."}, + {"name": "PanelType", "leader": "SPC a t", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes type themselves in as they open, on or off."}, + {"name": "PanelVertical", "leader": "SPC a v", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close with a vertical wipe, on or off."}, + {"name": "PanelWave", "leader": "SPC a w", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes open and close in a wave, on or off."}, + {"name": "PanelZoom", "leader": "SPC a z", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Panes zoom in and out as they open and close, on or off."}, + {"name": "PdfFit", "leader": "SPC t z", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Fit the PDF page to the pane by width or by height, flipping between them (or to the one named, `width|height`)."}, + {"name": "PdfSections", "leader": "SPC t s", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the PDF's sections in a pane, each a place to go."}, + {"name": "PdfTint", "leader": "SPC t i", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Tint the PDF page to the theme, or show it as printed, stepping through them (or to the one named, `disabled|filtered|full`)."}, + {"name": "Petscii", "leader": "SPC t p", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "glyph art over the host's pixels: an image pane's picture, or the kitty graphics a terminal's program placed (yazi's previews)"}, + {"name": "Placement", "leader": "SPC c p", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "acme, pardes", "doc": "Where a new pane goes: acme, as makenewwindow does, or pardes, the older rules."}, + {"name": "Recent", "leader": "SPC f r", "also": [], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "List the files opened lately, closed ones too, each a place to open again."}, + {"name": "Redo", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Redo the last undone edit."}, + {"name": "Rename", "leader": "SPC l r", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Rename the symbol under the cursor everywhere, to its argument."}, + {"name": "Repl", "leader": null, "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Binds this terminal as a language's REPL, so an exec on that language's files is typed into it instead of run."}, + {"name": "Restore", "leader": "SPC s r", "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Replace every pane with those of a dump file, the last one Dump wrote when bare."}, + {"name": "Right", "leader": "SPC w l", "also": ["C-w l", "C-w right"], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Move the keyboard to the pane, or column tag, to the right."}, + {"name": "Save", "leader": "SPC f s", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Write the pane's text to its file, or to the file its argument names."}, + {"name": "SelectRefs", "leader": "SPC l h", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Select every reference to the symbol under the cursor."}, + {"name": "Shell", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "The shell new terminals run; bare, $SHELL if it is executable, else /bin/sh."}, + {"name": "Subtypes", "leader": "SPC l T", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the subtypes of the type under the cursor."}, + {"name": "Supertypes", "leader": "SPC l t", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the supertypes of the type under the cursor."}, + {"name": "Symbols", "leader": "SPC l s", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the file's symbols from the language server."}, + {"name": "SyntaxBold", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Keywords and the like are drawn bold, on or off."}, + {"name": "Tagbottom", "leader": "SPC t b", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Each pane's tag goes at its foot rather than its head, on or off."}, + {"name": "TermImages", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "real, petscii", "doc": "How a new terminal draws its program's kitty graphics: real, as pixels where it can, or petscii, as glyph art."}, + {"name": "Theme", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": null, "doc": "Switch to the named theme."}, + {"name": "ThemeFile", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Load a theme from a file."}, + {"name": "Themes", "leader": "SPC t t", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "List the themes in a pane, each a word to click."}, + {"name": "ThumbFlash", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "In a terminal, a pane's scroll thumb brightens as it scrolls and fades back, on or off."}, + {"name": "Togglettymode", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Switch this terminal between raw program input and normal editor mode."}, + {"name": "TreeContext", "leader": null, "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Show the declarations enclosing the top row at the pane's head, on or off."}, + {"name": "TreeContextTagStyle", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A pane's TreeContext rows draw in the tag's style, on or off."}, + {"name": "Tty", "leader": "SPC n t", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "A shell in the calling pane's directory, raw from the first frame."}, + {"name": "Tty9p", "leader": "SPC n 9", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "A Linux terminal with the current session mounted through kernel v9fs."}, + {"name": "Tutor", "leader": "SPC h t", "also": ["topbar"], "arg": false, "scope": "root", "setting": false, "choices": null, "doc": "Open the tutor, a document to work through."}, + {"name": "Undo", "leader": null, "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "acme's Undo and Redo: step the pane's body back or forward through its edits, from a tag, a pane ctl or exec."}, + {"name": "Unmount", "leader": null, "also": [], "arg": true, "scope": "root", "setting": false, "choices": null, "doc": "Unmount the 9P tree mounted under /n/<name>."}, + {"name": "Up", "leader": "SPC w k", "also": ["C-w k", "C-w up"], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "Move the keyboard to the pane above, and from a column's top pane to its tag."}, + {"name": "Verbose", "leader": null, "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "A builtin says its own name on the message row as it runs, on or off."}, + {"name": "Wrap", "leader": "SPC t w", "also": [], "arg": true, "scope": "root", "setting": true, "choices": "on, off", "doc": "Long lines wrap onto the next row, on or off."}, + {"name": "WsDiagnostics", "leader": "SPC l D", "also": [], "arg": false, "scope": "pane", "setting": false, "choices": null, "doc": "List the workspace's diagnostics from the language server."}, + {"name": "WsSymbols", "leader": "SPC l S", "also": [], "arg": true, "scope": "pane", "setting": false, "choices": null, "doc": "Search the workspace's symbols for its argument."} +] diff --git a/docs/typ/builtins.typ b/docs/typ/builtins.typ new file mode 100644 index 00000000..8375d5de --- /dev/null +++ b/docs/typ/builtins.typ @@ -0,0 +1,12 @@ +// Every builtin: the words you click in a tag (Exec runs them) or type as +// commands. The entries come from docs/typ/builtins-tty.json and +// builtins-gui.json, which +// `zig build builtins-json` writes from the registry and the Help rows, +// so this chapter and Help cannot drift. +#import "style.typ": builtin-glossary, word + +These are the words you click in a tag (#word("Exec") runs them) or type +as a command, a line at a time. The everyday ones come first; the rest by +what they are for. + +#builtin-glossary() diff --git a/docs/typ/cheatsheet-a4.pdf b/docs/typ/cheatsheet-a4.pdf index b8cebf62..c9b413f5 100644 --- a/docs/typ/cheatsheet-a4.pdf +++ b/docs/typ/cheatsheet-a4.pdf @@ -2,70 +2,70 @@ %���� 1 0 obj -<</Type/Pages/Count 1/Kids[387 0 R]>> +<</Type/Pages/Count 1/Kids[403 0 R]>> endobj 2 0 obj -<</Parent 3 0 R/Title(Chords: hold the first, click the next)/Dest 351 0 R>> +<</Parent 3 0 R/Title(Chords: hold the first, click the next)/Dest 367 0 R>> endobj 3 0 obj -<</Parent 16 0 R/Next 4 0 R/First 2 0 R/Last 2 0 R/Count -1/Title(The mouse)/Dest 352 0 R>> +<</Parent 16 0 R/Next 4 0 R/First 2 0 R/Last 2 0 R/Count -1/Title(The mouse)/Dest 368 0 R>> endobj 4 0 obj -<</Parent 16 0 R/Next 5 0 R/Prev 3 0 R/Title(Tags)/Dest 353 0 R>> +<</Parent 16 0 R/Next 5 0 R/Prev 3 0 R/Title(Tags)/Dest 369 0 R>> endobj 5 0 obj -<</Parent 16 0 R/Next 6 0 R/Prev 4 0 R/Title( addresses)/Dest 354 0 R>> +<</Parent 16 0 R/Next 6 0 R/Prev 4 0 R/Title( addresses)/Dest 370 0 R>> endobj 6 0 obj -<</Parent 16 0 R/Next 7 0 R/Prev 5 0 R/Title(Keys: normal mode)/Dest 355 0 R>> +<</Parent 16 0 R/Next 7 0 R/Prev 5 0 R/Title(Keys: normal mode)/Dest 371 0 R>> endobj 7 0 obj -<</Parent 16 0 R/Next 8 0 R/Prev 6 0 R/Title(Keys: panes)/Dest 356 0 R>> +<</Parent 16 0 R/Next 8 0 R/Prev 6 0 R/Title(Keys: panes)/Dest 372 0 R>> endobj 8 0 obj -<</Parent 16 0 R/Next 9 0 R/Prev 7 0 R/Title(The leader: in normal mode)/Dest 357 0 R>> +<</Parent 16 0 R/Next 9 0 R/Prev 7 0 R/Title(The leader: in normal mode)/Dest 373 0 R>> endobj 9 0 obj -<</Parent 16 0 R/Next 10 0 R/Prev 8 0 R/Title(Terminals and commands)/Dest 358 0 R>> +<</Parent 16 0 R/Next 10 0 R/Prev 8 0 R/Title(Terminals and commands)/Dest 374 0 R>> endobj 10 0 obj -<</Parent 16 0 R/Next 11 0 R/Prev 9 0 R/Title(Reviewing diffs)/Dest 359 0 R>> +<</Parent 16 0 R/Next 11 0 R/Prev 9 0 R/Title(Reviewing diffs)/Dest 375 0 R>> endobj 11 0 obj -<</Parent 16 0 R/Next 12 0 R/Prev 10 0 R/Title(Finding things)/Dest 360 0 R>> +<</Parent 16 0 R/Next 12 0 R/Prev 10 0 R/Title(Finding things)/Dest 376 0 R>> endobj 12 0 obj -<</Parent 16 0 R/Next 13 0 R/Prev 11 0 R/Title(Sessions)/Dest 361 0 R>> +<</Parent 16 0 R/Next 13 0 R/Prev 11 0 R/Title(Sessions)/Dest 377 0 R>> endobj 13 0 obj -<</Parent 16 0 R/Next 14 0 R/Prev 12 0 R/Title(Config)/Dest 362 0 R>> +<</Parent 16 0 R/Next 14 0 R/Prev 12 0 R/Title(Config)/Dest 378 0 R>> endobj 14 0 obj -<</Parent 16 0 R/Next 15 0 R/Prev 13 0 R/Title(Themes)/Dest 363 0 R>> +<</Parent 16 0 R/Next 15 0 R/Prev 13 0 R/Title(Themes)/Dest 379 0 R>> endobj 15 0 obj -<</Parent 16 0 R/Prev 14 0 R/Title(The virtual filesystem (9P))/Dest 364 0 R>> +<</Parent 16 0 R/Prev 14 0 R/Title(The virtual filesystem (9P))/Dest 380 0 R>> endobj 16 0 obj <</Type/Outlines/First 3 0 R/Last 15 0 R/Count 13>> endobj 17 0 obj -<</Type/StructTreeRoot/RoleMap<</Datetime/Span/Terms/Part/Title/P/Strong/Span/Em/Span>>/K[349 0 R]/ParentTree<</Nums[0 18 0 R]>>/ParentTreeNextKey 1>> +<</Type/StructTreeRoot/RoleMap<</Datetime/Span/Terms/Part/Title/P/Strong/Span/Em/Span>>/K[365 0 R]/ParentTree<</Nums[0 18 0 R]>>/ParentTreeNextKey 1>> endobj 18 0 obj -[19 0 R 19 0 R 20 0 R 22 0 R 22 0 R 25 0 R 25 0 R 25 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 30 0 R 31 0 R 31 0 R 31 0 R 31 0 R 31 0 R 31 0 R 31 0 R 31 0 R 33 0 R 34 0 R 34 0 R 34 0 R 34 0 R 37 0 R 38 0 R 39 0 R 39 0 R 41 0 R 42 0 R 44 0 R 44 0 R 45 0 R 45 0 R 45 0 R 47 0 R 48 0 R 48 0 R 48 0 R 48 0 R 48 0 R 48 0 R 48 0 R 50 0 R 51 0 R 51 0 R 51 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 55 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 57 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 58 0 R 59 0 R 61 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 65 0 R 65 0 R 66 0 R 66 0 R 66 0 R 66 0 R 67 0 R 68 0 R 70 0 R 71 0 R 73 0 R 75 0 R 75 0 R 74 0 R 75 0 R 77 0 R 80 0 R 80 0 R 78 0 R 80 0 R 79 0 R 80 0 R 82 0 R 84 0 R 84 0 R 84 0 R 84 0 R 84 0 R 83 0 R 86 0 R 87 0 R 87 0 R 89 0 R 91 0 R 90 0 R 91 0 R 91 0 R 99 0 R 94 0 R 99 0 R 95 0 R 99 0 R 96 0 R 99 0 R 97 0 R 99 0 R 98 0 R 99 0 R 99 0 R 99 0 R 100 0 R 104 0 R 101 0 R 104 0 R 104 0 R 102 0 R 104 0 R 103 0 R 104 0 R 104 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 106 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 109 0 R 111 0 R 111 0 R 111 0 R 111 0 R 111 0 R 111 0 R 111 0 R 112 0 R 112 0 R 114 0 R 114 0 R 114 0 R 115 0 R 117 0 R 118 0 R 120 0 R 120 0 R 120 0 R 121 0 R 123 0 R 123 0 R 123 0 R 124 0 R 126 0 R 126 0 R 127 0 R 129 0 R 129 0 R 129 0 R 129 0 R 129 0 R 129 0 R 130 0 R 130 0 R 130 0 R 132 0 R 132 0 R 133 0 R 133 0 R 135 0 R 135 0 R 136 0 R 136 0 R 138 0 R 138 0 R 138 0 R 139 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 142 0 R 142 0 R 144 0 R 145 0 R 145 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 148 0 R 148 0 R 150 0 R 150 0 R 150 0 R 150 0 R 150 0 R 150 0 R 151 0 R 153 0 R 153 0 R 154 0 R 154 0 R 154 0 R 154 0 R 154 0 R 154 0 R 154 0 R 156 0 R 157 0 R 160 0 R 161 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 164 0 R 164 0 R 164 0 R 163 0 R 164 0 R 166 0 R 167 0 R 167 0 R 167 0 R 167 0 R 169 0 R 169 0 R 169 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 173 0 R 173 0 R 175 0 R 175 0 R 175 0 R 176 0 R 178 0 R 178 0 R 178 0 R 179 0 R 179 0 R 182 0 R 182 0 R 182 0 R 183 0 R 183 0 R 183 0 R 184 0 R 186 0 R 186 0 R 186 0 R 186 0 R 186 0 R 187 0 R 189 0 R 189 0 R 189 0 R 189 0 R 189 0 R 190 0 R 192 0 R 192 0 R 192 0 R 192 0 R 192 0 R 193 0 R 195 0 R 195 0 R 195 0 R 195 0 R 195 0 R 196 0 R 198 0 R 198 0 R 198 0 R 198 0 R 198 0 R 199 0 R 201 0 R 201 0 R 201 0 R 201 0 R 201 0 R 202 0 R 204 0 R 204 0 R 204 0 R 205 0 R 207 0 R 207 0 R 207 0 R 207 0 R 207 0 R 208 0 R 210 0 R 210 0 R 210 0 R 210 0 R 210 0 R 211 0 R 213 0 R 213 0 R 213 0 R 213 0 R 213 0 R 214 0 R 216 0 R 216 0 R 216 0 R 216 0 R 216 0 R 217 0 R 219 0 R 219 0 R 219 0 R 219 0 R 219 0 R 220 0 R 222 0 R 222 0 R 222 0 R 223 0 R 227 0 R 227 0 R 227 0 R 228 0 R 230 0 R 230 0 R 230 0 R 230 0 R 230 0 R 231 0 R 233 0 R 233 0 R 233 0 R 233 0 R 233 0 R 234 0 R 236 0 R 236 0 R 236 0 R 236 0 R 236 0 R 237 0 R 239 0 R 239 0 R 239 0 R 239 0 R 239 0 R 240 0 R 242 0 R 242 0 R 242 0 R 242 0 R 242 0 R 243 0 R 245 0 R 245 0 R 245 0 R 245 0 R 245 0 R 246 0 R 248 0 R 248 0 R 248 0 R 248 0 R 248 0 R 249 0 R 251 0 R 251 0 R 251 0 R 251 0 R 251 0 R 252 0 R 254 0 R 254 0 R 254 0 R 254 0 R 254 0 R 255 0 R 257 0 R 257 0 R 257 0 R 257 0 R 257 0 R 258 0 R 260 0 R 260 0 R 260 0 R 260 0 R 260 0 R 261 0 R 263 0 R 263 0 R 263 0 R 264 0 R 269 0 R 270 0 R 272 0 R 272 0 R 272 0 R 272 0 R 271 0 R 272 0 R 272 0 R 272 0 R 272 0 R 272 0 R 272 0 R 272 0 R 272 0 R 274 0 R 276 0 R 275 0 R 275 0 R 276 0 R 277 0 R 277 0 R 277 0 R 279 0 R 283 0 R 283 0 R 280 0 R 283 0 R 283 0 R 283 0 R 283 0 R 283 0 R 281 0 R 283 0 R 282 0 R 283 0 R 286 0 R 287 0 R 291 0 R 291 0 R 288 0 R 291 0 R 291 0 R 289 0 R 291 0 R 290 0 R 291 0 R 291 0 R 291 0 R 292 0 R 293 0 R 297 0 R 297 0 R 294 0 R 297 0 R 297 0 R 297 0 R 295 0 R 297 0 R 296 0 R 297 0 R 297 0 R 297 0 R 297 0 R 297 0 R 297 0 R 297 0 R 297 0 R 300 0 R 301 0 R 304 0 R 302 0 R 304 0 R 304 0 R 304 0 R 303 0 R 304 0 R 304 0 R 304 0 R 304 0 R 304 0 R 305 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 306 0 R 308 0 R 308 0 R 308 0 R 308 0 R 307 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 309 0 R 312 0 R 312 0 R 312 0 R 312 0 R 310 0 R 312 0 R 312 0 R 312 0 R 312 0 R 312 0 R 311 0 R 312 0 R 312 0 R 313 0 R 317 0 R 314 0 R 317 0 R 315 0 R 317 0 R 317 0 R 316 0 R 317 0 R 317 0 R 318 0 R 318 0 R 318 0 R 319 0 R 320 0 R 320 0 R 322 0 R 323 0 R 323 0 R 325 0 R 327 0 R 326 0 R 327 0 R 327 0 R 329 0 R 330 0 R 332 0 R 334 0 R 333 0 R 334 0 R 334 0 R 336 0 R 338 0 R 338 0 R 338 0 R 338 0 R 338 0 R 337 0 R 340 0 R 342 0 R 341 0 R 342 0 R 345 0 R 345 0 R 345 0 R 345 0 R 345 0 R 345 0 R 345 0 R 346 0 R 348 0 R 347 0 R 347 0 R 348 0 R 348 0 R] +[19 0 R 19 0 R 20 0 R 22 0 R 22 0 R 25 0 R 25 0 R 25 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 28 0 R 30 0 R 31 0 R 31 0 R 31 0 R 31 0 R 31 0 R 31 0 R 31 0 R 31 0 R 33 0 R 34 0 R 34 0 R 34 0 R 34 0 R 37 0 R 38 0 R 39 0 R 39 0 R 41 0 R 42 0 R 44 0 R 44 0 R 45 0 R 45 0 R 45 0 R 47 0 R 48 0 R 48 0 R 48 0 R 48 0 R 48 0 R 48 0 R 48 0 R 50 0 R 51 0 R 51 0 R 51 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 54 0 R 55 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 57 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 58 0 R 59 0 R 61 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 62 0 R 65 0 R 65 0 R 66 0 R 66 0 R 66 0 R 66 0 R 67 0 R 68 0 R 70 0 R 71 0 R 73 0 R 75 0 R 75 0 R 74 0 R 75 0 R 77 0 R 80 0 R 80 0 R 78 0 R 80 0 R 79 0 R 80 0 R 82 0 R 84 0 R 84 0 R 84 0 R 84 0 R 84 0 R 83 0 R 86 0 R 87 0 R 87 0 R 89 0 R 91 0 R 90 0 R 91 0 R 91 0 R 99 0 R 94 0 R 99 0 R 95 0 R 99 0 R 96 0 R 99 0 R 97 0 R 99 0 R 98 0 R 99 0 R 99 0 R 99 0 R 100 0 R 104 0 R 101 0 R 104 0 R 104 0 R 102 0 R 104 0 R 103 0 R 104 0 R 104 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 105 0 R 106 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 109 0 R 111 0 R 111 0 R 111 0 R 111 0 R 111 0 R 111 0 R 111 0 R 112 0 R 112 0 R 114 0 R 114 0 R 114 0 R 115 0 R 117 0 R 118 0 R 120 0 R 120 0 R 120 0 R 121 0 R 123 0 R 123 0 R 123 0 R 124 0 R 126 0 R 126 0 R 127 0 R 129 0 R 129 0 R 129 0 R 129 0 R 129 0 R 129 0 R 130 0 R 130 0 R 130 0 R 132 0 R 132 0 R 133 0 R 133 0 R 135 0 R 135 0 R 136 0 R 136 0 R 138 0 R 138 0 R 138 0 R 139 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 141 0 R 142 0 R 142 0 R 144 0 R 145 0 R 145 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 147 0 R 148 0 R 148 0 R 150 0 R 150 0 R 150 0 R 150 0 R 150 0 R 150 0 R 151 0 R 153 0 R 153 0 R 154 0 R 154 0 R 154 0 R 154 0 R 154 0 R 154 0 R 154 0 R 156 0 R 157 0 R 160 0 R 161 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 162 0 R 164 0 R 164 0 R 164 0 R 163 0 R 164 0 R 166 0 R 167 0 R 167 0 R 167 0 R 167 0 R 169 0 R 169 0 R 169 0 R 170 0 R 170 0 R 170 0 R 170 0 R 170 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 172 0 R 173 0 R 173 0 R 175 0 R 175 0 R 175 0 R 176 0 R 178 0 R 178 0 R 178 0 R 179 0 R 179 0 R 182 0 R 182 0 R 182 0 R 183 0 R 183 0 R 183 0 R 184 0 R 186 0 R 186 0 R 186 0 R 186 0 R 186 0 R 187 0 R 189 0 R 189 0 R 189 0 R 189 0 R 189 0 R 190 0 R 192 0 R 192 0 R 192 0 R 192 0 R 192 0 R 193 0 R 195 0 R 195 0 R 195 0 R 195 0 R 195 0 R 196 0 R 198 0 R 198 0 R 198 0 R 198 0 R 198 0 R 199 0 R 201 0 R 201 0 R 201 0 R 201 0 R 201 0 R 202 0 R 204 0 R 204 0 R 204 0 R 205 0 R 207 0 R 207 0 R 207 0 R 207 0 R 207 0 R 208 0 R 210 0 R 210 0 R 210 0 R 210 0 R 210 0 R 211 0 R 213 0 R 213 0 R 213 0 R 213 0 R 213 0 R 214 0 R 216 0 R 216 0 R 216 0 R 216 0 R 216 0 R 217 0 R 219 0 R 219 0 R 219 0 R 219 0 R 219 0 R 220 0 R 222 0 R 222 0 R 222 0 R 223 0 R 227 0 R 227 0 R 227 0 R 228 0 R 230 0 R 230 0 R 230 0 R 230 0 R 230 0 R 231 0 R 233 0 R 233 0 R 233 0 R 233 0 R 233 0 R 234 0 R 236 0 R 236 0 R 236 0 R 236 0 R 236 0 R 237 0 R 239 0 R 239 0 R 239 0 R 239 0 R 239 0 R 240 0 R 242 0 R 242 0 R 242 0 R 242 0 R 242 0 R 243 0 R 245 0 R 245 0 R 245 0 R 245 0 R 245 0 R 246 0 R 248 0 R 248 0 R 248 0 R 248 0 R 248 0 R 249 0 R 251 0 R 251 0 R 251 0 R 251 0 R 251 0 R 252 0 R 254 0 R 254 0 R 254 0 R 254 0 R 254 0 R 255 0 R 257 0 R 257 0 R 257 0 R 257 0 R 257 0 R 258 0 R 260 0 R 260 0 R 260 0 R 260 0 R 260 0 R 261 0 R 263 0 R 263 0 R 263 0 R 264 0 R 269 0 R 270 0 R 272 0 R 272 0 R 272 0 R 272 0 R 271 0 R 272 0 R 272 0 R 272 0 R 272 0 R 272 0 R 272 0 R 272 0 R 272 0 R 274 0 R 276 0 R 275 0 R 275 0 R 276 0 R 277 0 R 277 0 R 277 0 R 279 0 R 283 0 R 283 0 R 280 0 R 283 0 R 283 0 R 283 0 R 283 0 R 283 0 R 281 0 R 283 0 R 282 0 R 283 0 R 286 0 R 287 0 R 291 0 R 291 0 R 288 0 R 291 0 R 291 0 R 289 0 R 291 0 R 290 0 R 291 0 R 291 0 R 291 0 R 292 0 R 293 0 R 297 0 R 297 0 R 294 0 R 297 0 R 297 0 R 297 0 R 295 0 R 297 0 R 296 0 R 297 0 R 297 0 R 297 0 R 297 0 R 297 0 R 297 0 R 297 0 R 297 0 R 300 0 R 301 0 R 304 0 R 302 0 R 304 0 R 304 0 R 304 0 R 303 0 R 304 0 R 304 0 R 304 0 R 304 0 R 304 0 R 305 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 306 0 R 308 0 R 308 0 R 308 0 R 308 0 R 307 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 308 0 R 309 0 R 312 0 R 312 0 R 312 0 R 312 0 R 310 0 R 312 0 R 312 0 R 312 0 R 312 0 R 312 0 R 311 0 R 312 0 R 312 0 R 313 0 R 317 0 R 314 0 R 317 0 R 315 0 R 317 0 R 317 0 R 316 0 R 317 0 R 317 0 R 318 0 R 318 0 R 318 0 R 319 0 R 322 0 R 322 0 R 324 0 R 326 0 R 326 0 R 328 0 R 330 0 R 330 0 R 332 0 R 334 0 R 334 0 R 336 0 R 338 0 R 338 0 R 341 0 R 341 0 R 343 0 R 345 0 R 345 0 R 348 0 R 348 0 R 350 0 R 352 0 R 352 0 R 354 0 R 354 0 R 354 0 R 354 0 R 356 0 R 356 0 R 358 0 R 361 0 R 361 0 R 361 0 R 361 0 R 361 0 R 361 0 R 361 0 R 362 0 R 364 0 R 363 0 R 363 0 R 364 0 R 364 0 R] endobj 19 0 obj -<</Type/StructElem/S/Span/P 349 0 R/A[<</O/Layout/Placement/Block>>]/K[0 1]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 365 0 R/A[<</O/Layout/Placement/Block>>]/K[0 1]/Pg 403 0 R>> endobj 20 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(The mouse)/K[2]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(The mouse)/K[2]/Pg 403 0 R>> endobj 21 0 obj <</Type/StructElem/S/TD/P 23 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[]>> endobj 22 0 obj -<</Type/StructElem/S/TD/P 23 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[3 4]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 23 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[3 4]/Pg 403 0 R>> endobj 23 0 obj <</Type/StructElem/S/TR/P 36 0 R/K[21 0 R 22 0 R]>> @@ -74,7 +74,7 @@ endobj <</Type/StructElem/S/TD/P 26 0 R/A[<</O/Table/Headers[]>>]/K[]>> endobj 25 0 obj -<</Type/StructElem/S/TD/P 26 0 R/A[<</O/Table/Headers[]>>]/K[5 6 7]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 26 0 R/A[<</O/Table/Headers[]>>]/K[5 6 7]/Pg 403 0 R>> endobj 26 0 obj <</Type/StructElem/S/TR/P 36 0 R/K[24 0 R 25 0 R]>> @@ -83,592 +83,592 @@ endobj <</Type/StructElem/S/TD/P 29 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[]>> endobj 28 0 obj -<</Type/StructElem/S/TD/P 29 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[8 9 10 11 12 13]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 29 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[8 9 10 11 12 13]/Pg 403 0 R>> endobj 29 0 obj <</Type/StructElem/S/TR/P 36 0 R/K[27 0 R 28 0 R]>> endobj 30 0 obj -<</Type/StructElem/S/TD/P 32 0 R/A[<</O/Table/Headers[]>>]/K[14]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 32 0 R/A[<</O/Table/Headers[]>>]/K[14]/Pg 403 0 R>> endobj 31 0 obj -<</Type/StructElem/S/TD/P 32 0 R/A[<</O/Table/Headers[]>>]/K[15 16 17 18 19 20 21 22]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 32 0 R/A[<</O/Table/Headers[]>>]/K[15 16 17 18 19 20 21 22]/Pg 403 0 R>> endobj 32 0 obj <</Type/StructElem/S/TR/P 36 0 R/K[30 0 R 31 0 R]>> endobj 33 0 obj -<</Type/StructElem/S/TD/P 35 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[23]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 35 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[23]/Pg 403 0 R>> endobj 34 0 obj -<</Type/StructElem/S/TD/P 35 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[24 25 26 27]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 35 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[24 25 26 27]/Pg 403 0 R>> endobj 35 0 obj <</Type/StructElem/S/TR/P 36 0 R/K[33 0 R 34 0 R]>> endobj 36 0 obj -<</Type/StructElem/S/Table/P 349 0 R/K[23 0 R 26 0 R 29 0 R 32 0 R 35 0 R]>> +<</Type/StructElem/S/Table/P 365 0 R/K[23 0 R 26 0 R 29 0 R 32 0 R 35 0 R]>> endobj 37 0 obj -<</Type/StructElem/S/H3/P 349 0 R/T(Chords: hold the first, click the next)/K[28]/Pg 387 0 R>> +<</Type/StructElem/S/H3/P 365 0 R/T(Chords: hold the first, click the next)/K[28]/Pg 403 0 R>> endobj 38 0 obj -<</Type/StructElem/S/TD/P 40 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[29]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 40 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[29]/Pg 403 0 R>> endobj 39 0 obj -<</Type/StructElem/S/TD/P 40 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[30 31]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 40 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[30 31]/Pg 403 0 R>> endobj 40 0 obj <</Type/StructElem/S/TR/P 53 0 R/K[38 0 R 39 0 R]>> endobj 41 0 obj -<</Type/StructElem/S/TD/P 43 0 R/A[<</O/Table/Headers[]>>]/K[32]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 43 0 R/A[<</O/Table/Headers[]>>]/K[32]/Pg 403 0 R>> endobj 42 0 obj -<</Type/StructElem/S/TD/P 43 0 R/A[<</O/Table/Headers[]>>]/K[33]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 43 0 R/A[<</O/Table/Headers[]>>]/K[33]/Pg 403 0 R>> endobj 43 0 obj <</Type/StructElem/S/TR/P 53 0 R/K[41 0 R 42 0 R]>> endobj 44 0 obj -<</Type/StructElem/S/TD/P 46 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[34 35]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 46 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[34 35]/Pg 403 0 R>> endobj 45 0 obj -<</Type/StructElem/S/TD/P 46 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[36 37 38]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 46 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[36 37 38]/Pg 403 0 R>> endobj 46 0 obj <</Type/StructElem/S/TR/P 53 0 R/K[44 0 R 45 0 R]>> endobj 47 0 obj -<</Type/StructElem/S/TD/P 49 0 R/A[<</O/Table/Headers[]>>]/K[39]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 49 0 R/A[<</O/Table/Headers[]>>]/K[39]/Pg 403 0 R>> endobj 48 0 obj -<</Type/StructElem/S/TD/P 49 0 R/A[<</O/Table/Headers[]>>]/K[40 41 42 43 44 45 46]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 49 0 R/A[<</O/Table/Headers[]>>]/K[40 41 42 43 44 45 46]/Pg 403 0 R>> endobj 49 0 obj <</Type/StructElem/S/TR/P 53 0 R/K[47 0 R 48 0 R]>> endobj 50 0 obj -<</Type/StructElem/S/TD/P 52 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[47]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 52 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[47]/Pg 403 0 R>> endobj 51 0 obj -<</Type/StructElem/S/TD/P 52 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[48 49 50]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 52 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[48 49 50]/Pg 403 0 R>> endobj 52 0 obj <</Type/StructElem/S/TR/P 53 0 R/K[50 0 R 51 0 R]>> endobj 53 0 obj -<</Type/StructElem/S/Table/P 349 0 R/K[40 0 R 43 0 R 46 0 R 49 0 R 52 0 R]>> +<</Type/StructElem/S/Table/P 365 0 R/K[40 0 R 43 0 R 46 0 R 49 0 R 52 0 R]>> endobj 54 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[51 52 53 54 55 56 57 58 59 60 61]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[51 52 53 54 55 56 57 58 59 60 61]/Pg 403 0 R>> endobj 55 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Tags)/K[62]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Tags)/K[62]/Pg 403 0 R>> endobj 56 0 obj -<</Type/StructElem/S/Span/P 349 0 R/A[<</O/Layout/Placement/Block>>]/K[63 64 65 66 67 68 69 70 71 72 73 74 75]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 365 0 R/A[<</O/Layout/Placement/Block>>]/K[63 64 65 66 67 68 69 70 71 72 73 74 75]/Pg 403 0 R>> endobj 57 0 obj -<</Type/StructElem/S/Lbl/P 60 0 R/K[76]/Pg 387 0 R>> +<</Type/StructElem/S/Lbl/P 60 0 R/K[76]/Pg 403 0 R>> endobj 58 0 obj -<</Type/StructElem/S/Code/P 59 0 R/K[82]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 59 0 R/K[82]/Pg 403 0 R>> endobj 59 0 obj -<</Type/StructElem/S/LBody/P 60 0 R/K[77 78 79 80 81 58 0 R 83]/Pg 387 0 R>> +<</Type/StructElem/S/LBody/P 60 0 R/K[77 78 79 80 81 58 0 R 83]/Pg 403 0 R>> endobj 60 0 obj <</Type/StructElem/S/LI/P 64 0 R/K[57 0 R 59 0 R]>> endobj 61 0 obj -<</Type/StructElem/S/Lbl/P 63 0 R/K[84]/Pg 387 0 R>> +<</Type/StructElem/S/Lbl/P 63 0 R/K[84]/Pg 403 0 R>> endobj 62 0 obj -<</Type/StructElem/S/LBody/P 63 0 R/K[85 86 87 88 89 90 91 92 93 94]/Pg 387 0 R>> +<</Type/StructElem/S/LBody/P 63 0 R/K[85 86 87 88 89 90 91 92 93 94]/Pg 403 0 R>> endobj 63 0 obj <</Type/StructElem/S/LI/P 64 0 R/K[61 0 R 62 0 R]>> endobj 64 0 obj -<</Type/StructElem/S/L/P 349 0 R/A[<</O/List/ListNumbering/Circle>>]/K[60 0 R 63 0 R]>> +<</Type/StructElem/S/L/P 365 0 R/A[<</O/List/ListNumbering/Circle>>]/K[60 0 R 63 0 R]>> endobj 65 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T( addresses)/K[95 96]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T( addresses)/K[95 96]/Pg 403 0 R>> endobj 66 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[97 98 99 100]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[97 98 99 100]/Pg 403 0 R>> endobj 67 0 obj -<</Type/StructElem/S/TD/P 69 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[101]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 69 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[101]/Pg 403 0 R>> endobj 68 0 obj -<</Type/StructElem/S/TD/P 69 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[102]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 69 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[102]/Pg 403 0 R>> endobj 69 0 obj <</Type/StructElem/S/TR/P 93 0 R/K[67 0 R 68 0 R]>> endobj 70 0 obj -<</Type/StructElem/S/TD/P 72 0 R/A[<</O/Table/Headers[]>>]/K[103]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 72 0 R/A[<</O/Table/Headers[]>>]/K[103]/Pg 403 0 R>> endobj 71 0 obj -<</Type/StructElem/S/TD/P 72 0 R/A[<</O/Table/Headers[]>>]/K[104]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 72 0 R/A[<</O/Table/Headers[]>>]/K[104]/Pg 403 0 R>> endobj 72 0 obj <</Type/StructElem/S/TR/P 93 0 R/K[70 0 R 71 0 R]>> endobj 73 0 obj -<</Type/StructElem/S/TD/P 76 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[105]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 76 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[105]/Pg 403 0 R>> endobj 74 0 obj -<</Type/StructElem/S/Code/P 75 0 R/K[108]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 75 0 R/K[108]/Pg 403 0 R>> endobj 75 0 obj -<</Type/StructElem/S/TD/P 76 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[106 107 74 0 R 109]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 76 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[106 107 74 0 R 109]/Pg 403 0 R>> endobj 76 0 obj <</Type/StructElem/S/TR/P 93 0 R/K[73 0 R 75 0 R]>> endobj 77 0 obj -<</Type/StructElem/S/TD/P 81 0 R/A[<</O/Table/Headers[]>>]/K[110]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 81 0 R/A[<</O/Table/Headers[]>>]/K[110]/Pg 403 0 R>> endobj 78 0 obj -<</Type/StructElem/S/Code/P 80 0 R/K[113]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 80 0 R/K[113]/Pg 403 0 R>> endobj 79 0 obj -<</Type/StructElem/S/Code/P 80 0 R/K[115]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 80 0 R/K[115]/Pg 403 0 R>> endobj 80 0 obj -<</Type/StructElem/S/TD/P 81 0 R/A[<</O/Table/Headers[]>>]/K[111 112 78 0 R 114 79 0 R 116]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 81 0 R/A[<</O/Table/Headers[]>>]/K[111 112 78 0 R 114 79 0 R 116]/Pg 403 0 R>> endobj 81 0 obj <</Type/StructElem/S/TR/P 93 0 R/K[77 0 R 80 0 R]>> endobj 82 0 obj -<</Type/StructElem/S/TD/P 85 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[117]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 85 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[117]/Pg 403 0 R>> endobj 83 0 obj -<</Type/StructElem/S/Code/P 84 0 R/K[123]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 84 0 R/K[123]/Pg 403 0 R>> endobj 84 0 obj -<</Type/StructElem/S/TD/P 85 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[118 119 120 121 122 83 0 R]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 85 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[118 119 120 121 122 83 0 R]/Pg 403 0 R>> endobj 85 0 obj <</Type/StructElem/S/TR/P 93 0 R/K[82 0 R 84 0 R]>> endobj 86 0 obj -<</Type/StructElem/S/TD/P 88 0 R/A[<</O/Table/Headers[]>>]/K[124]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 88 0 R/A[<</O/Table/Headers[]>>]/K[124]/Pg 403 0 R>> endobj 87 0 obj -<</Type/StructElem/S/TD/P 88 0 R/A[<</O/Table/Headers[]>>]/K[125 126]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 88 0 R/A[<</O/Table/Headers[]>>]/K[125 126]/Pg 403 0 R>> endobj 88 0 obj <</Type/StructElem/S/TR/P 93 0 R/K[86 0 R 87 0 R]>> endobj 89 0 obj -<</Type/StructElem/S/TD/P 92 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[127]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 92 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[127]/Pg 403 0 R>> endobj 90 0 obj -<</Type/StructElem/S/Code/P 91 0 R/K[129]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 91 0 R/K[129]/Pg 403 0 R>> endobj 91 0 obj -<</Type/StructElem/S/TD/P 92 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[128 90 0 R 130 131]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 92 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[128 90 0 R 130 131]/Pg 403 0 R>> endobj 92 0 obj <</Type/StructElem/S/TR/P 93 0 R/K[89 0 R 91 0 R]>> endobj 93 0 obj -<</Type/StructElem/S/Table/P 349 0 R/K[69 0 R 72 0 R 76 0 R 81 0 R 85 0 R 88 0 R 92 0 R]>> +<</Type/StructElem/S/Table/P 365 0 R/K[69 0 R 72 0 R 76 0 R 81 0 R 85 0 R 88 0 R 92 0 R]>> endobj 94 0 obj -<</Type/StructElem/S/Code/P 99 0 R/K[133]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 99 0 R/K[133]/Pg 403 0 R>> endobj 95 0 obj -<</Type/StructElem/S/Code/P 99 0 R/K[135]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 99 0 R/K[135]/Pg 403 0 R>> endobj 96 0 obj -<</Type/StructElem/S/Code/P 99 0 R/K[137]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 99 0 R/K[137]/Pg 403 0 R>> endobj 97 0 obj -<</Type/StructElem/S/Code/P 99 0 R/K[139]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 99 0 R/K[139]/Pg 403 0 R>> endobj 98 0 obj -<</Type/StructElem/S/Code/P 99 0 R/K[141]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 99 0 R/K[141]/Pg 403 0 R>> endobj 99 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[132 94 0 R 134 95 0 R 136 96 0 R 138 97 0 R 140 98 0 R 142 143 144]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[132 94 0 R 134 95 0 R 136 96 0 R 138 97 0 R 140 98 0 R 142 143 144]/Pg 403 0 R>> endobj 100 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Keys: normal mode)/K[145]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Keys: normal mode)/K[145]/Pg 403 0 R>> endobj 101 0 obj -<</Type/StructElem/S/Strong/P 104 0 R/K[147]/Pg 387 0 R>> +<</Type/StructElem/S/Strong/P 104 0 R/K[147]/Pg 403 0 R>> endobj 102 0 obj -<</Type/StructElem/S/Code/P 104 0 R/K[150]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 104 0 R/K[150]/Pg 403 0 R>> endobj 103 0 obj -<</Type/StructElem/S/Code/P 104 0 R/K[152]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 104 0 R/K[152]/Pg 403 0 R>> endobj 104 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[146 101 0 R 148 149 102 0 R 151 103 0 R 153 154]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[146 101 0 R 148 149 102 0 R 151 103 0 R 153 154]/Pg 403 0 R>> endobj 105 0 obj -<</Type/StructElem/S/TD/P 107 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[155 156 157 158 159 160 161 162]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 107 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[155 156 157 158 159 160 161 162]/Pg 403 0 R>> endobj 106 0 obj -<</Type/StructElem/S/TD/P 107 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[163]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 107 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[163]/Pg 403 0 R>> endobj 107 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[105 0 R 106 0 R]>> endobj 108 0 obj -<</Type/StructElem/S/TD/P 110 0 R/A[<</O/Table/Headers[]>>]/K[164 165 166 167 168 169]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 110 0 R/A[<</O/Table/Headers[]>>]/K[164 165 166 167 168 169]/Pg 403 0 R>> endobj 109 0 obj -<</Type/StructElem/S/TD/P 110 0 R/A[<</O/Table/Headers[]>>]/K[170]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 110 0 R/A[<</O/Table/Headers[]>>]/K[170]/Pg 403 0 R>> endobj 110 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[108 0 R 109 0 R]>> endobj 111 0 obj -<</Type/StructElem/S/TD/P 113 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[171 172 173 174 175 176 177]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 113 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[171 172 173 174 175 176 177]/Pg 403 0 R>> endobj 112 0 obj -<</Type/StructElem/S/TD/P 113 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[178 179]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 113 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[178 179]/Pg 403 0 R>> endobj 113 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[111 0 R 112 0 R]>> endobj 114 0 obj -<</Type/StructElem/S/TD/P 116 0 R/A[<</O/Table/Headers[]>>]/K[180 181 182]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 116 0 R/A[<</O/Table/Headers[]>>]/K[180 181 182]/Pg 403 0 R>> endobj 115 0 obj -<</Type/StructElem/S/TD/P 116 0 R/A[<</O/Table/Headers[]>>]/K[183]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 116 0 R/A[<</O/Table/Headers[]>>]/K[183]/Pg 403 0 R>> endobj 116 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[114 0 R 115 0 R]>> endobj 117 0 obj -<</Type/StructElem/S/TD/P 119 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[184]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 119 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[184]/Pg 403 0 R>> endobj 118 0 obj -<</Type/StructElem/S/TD/P 119 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[185]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 119 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[185]/Pg 403 0 R>> endobj 119 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[117 0 R 118 0 R]>> endobj 120 0 obj -<</Type/StructElem/S/TD/P 122 0 R/A[<</O/Table/Headers[]>>]/K[186 187 188]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 122 0 R/A[<</O/Table/Headers[]>>]/K[186 187 188]/Pg 403 0 R>> endobj 121 0 obj -<</Type/StructElem/S/TD/P 122 0 R/A[<</O/Table/Headers[]>>]/K[189]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 122 0 R/A[<</O/Table/Headers[]>>]/K[189]/Pg 403 0 R>> endobj 122 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[120 0 R 121 0 R]>> endobj 123 0 obj -<</Type/StructElem/S/TD/P 125 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[190 191 192]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 125 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[190 191 192]/Pg 403 0 R>> endobj 124 0 obj -<</Type/StructElem/S/TD/P 125 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[193]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 125 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[193]/Pg 403 0 R>> endobj 125 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[123 0 R 124 0 R]>> endobj 126 0 obj -<</Type/StructElem/S/TD/P 128 0 R/A[<</O/Table/Headers[]>>]/K[194 195]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 128 0 R/A[<</O/Table/Headers[]>>]/K[194 195]/Pg 403 0 R>> endobj 127 0 obj -<</Type/StructElem/S/TD/P 128 0 R/A[<</O/Table/Headers[]>>]/K[196]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 128 0 R/A[<</O/Table/Headers[]>>]/K[196]/Pg 403 0 R>> endobj 128 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[126 0 R 127 0 R]>> endobj 129 0 obj -<</Type/StructElem/S/TD/P 131 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[197 198 199 200 201 202]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 131 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[197 198 199 200 201 202]/Pg 403 0 R>> endobj 130 0 obj -<</Type/StructElem/S/TD/P 131 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[203 204 205]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 131 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[203 204 205]/Pg 403 0 R>> endobj 131 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[129 0 R 130 0 R]>> endobj 132 0 obj -<</Type/StructElem/S/TD/P 134 0 R/A[<</O/Table/Headers[]>>]/K[206 207]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 134 0 R/A[<</O/Table/Headers[]>>]/K[206 207]/Pg 403 0 R>> endobj 133 0 obj -<</Type/StructElem/S/TD/P 134 0 R/A[<</O/Table/Headers[]>>]/K[208 209]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 134 0 R/A[<</O/Table/Headers[]>>]/K[208 209]/Pg 403 0 R>> endobj 134 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[132 0 R 133 0 R]>> endobj 135 0 obj -<</Type/StructElem/S/TD/P 137 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[210 211]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 137 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[210 211]/Pg 403 0 R>> endobj 136 0 obj -<</Type/StructElem/S/TD/P 137 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[212 213]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 137 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[212 213]/Pg 403 0 R>> endobj 137 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[135 0 R 136 0 R]>> endobj 138 0 obj -<</Type/StructElem/S/TD/P 140 0 R/A[<</O/Table/Headers[]>>]/K[214 215 216]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 140 0 R/A[<</O/Table/Headers[]>>]/K[214 215 216]/Pg 403 0 R>> endobj 139 0 obj -<</Type/StructElem/S/TD/P 140 0 R/A[<</O/Table/Headers[]>>]/K[217]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 140 0 R/A[<</O/Table/Headers[]>>]/K[217]/Pg 403 0 R>> endobj 140 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[138 0 R 139 0 R]>> endobj 141 0 obj -<</Type/StructElem/S/TD/P 143 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[218 219 220 221 222 223]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 143 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[218 219 220 221 222 223]/Pg 403 0 R>> endobj 142 0 obj -<</Type/StructElem/S/TD/P 143 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[224 225]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 143 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[224 225]/Pg 403 0 R>> endobj 143 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[141 0 R 142 0 R]>> endobj 144 0 obj -<</Type/StructElem/S/TD/P 146 0 R/A[<</O/Table/Headers[]>>]/K[226]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 146 0 R/A[<</O/Table/Headers[]>>]/K[226]/Pg 403 0 R>> endobj 145 0 obj -<</Type/StructElem/S/TD/P 146 0 R/A[<</O/Table/Headers[]>>]/K[227 228]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 146 0 R/A[<</O/Table/Headers[]>>]/K[227 228]/Pg 403 0 R>> endobj 146 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[144 0 R 145 0 R]>> endobj 147 0 obj -<</Type/StructElem/S/TD/P 149 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[229 230 231 232 233 234]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 149 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[229 230 231 232 233 234]/Pg 403 0 R>> endobj 148 0 obj -<</Type/StructElem/S/TD/P 149 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[235 236]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 149 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[235 236]/Pg 403 0 R>> endobj 149 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[147 0 R 148 0 R]>> endobj 150 0 obj -<</Type/StructElem/S/TD/P 152 0 R/A[<</O/Table/Headers[]>>]/K[237 238 239 240 241 242]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 152 0 R/A[<</O/Table/Headers[]>>]/K[237 238 239 240 241 242]/Pg 403 0 R>> endobj 151 0 obj -<</Type/StructElem/S/TD/P 152 0 R/A[<</O/Table/Headers[]>>]/K[243]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 152 0 R/A[<</O/Table/Headers[]>>]/K[243]/Pg 403 0 R>> endobj 152 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[150 0 R 151 0 R]>> endobj 153 0 obj -<</Type/StructElem/S/TD/P 155 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[244 245]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 155 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[244 245]/Pg 403 0 R>> endobj 154 0 obj -<</Type/StructElem/S/TD/P 155 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[246 247 248 249 250 251 252]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 155 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[246 247 248 249 250 251 252]/Pg 403 0 R>> endobj 155 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[153 0 R 154 0 R]>> endobj 156 0 obj -<</Type/StructElem/S/TD/P 158 0 R/A[<</O/Table/Headers[]>>]/K[253]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 158 0 R/A[<</O/Table/Headers[]>>]/K[253]/Pg 403 0 R>> endobj 157 0 obj -<</Type/StructElem/S/TD/P 158 0 R/A[<</O/Table/Headers[]>>]/K[254]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 158 0 R/A[<</O/Table/Headers[]>>]/K[254]/Pg 403 0 R>> endobj 158 0 obj <</Type/StructElem/S/TR/P 159 0 R/K[156 0 R 157 0 R]>> endobj 159 0 obj -<</Type/StructElem/S/Table/P 349 0 R/K[107 0 R 110 0 R 113 0 R 116 0 R 119 0 R 122 0 R 125 0 R 128 0 R 131 0 R 134 0 R 137 0 R 140 0 R 143 0 R 146 0 R 149 0 R 152 0 R 155 0 R 158 0 R]>> +<</Type/StructElem/S/Table/P 365 0 R/K[107 0 R 110 0 R 113 0 R 116 0 R 119 0 R 122 0 R 125 0 R 128 0 R 131 0 R 134 0 R 137 0 R 140 0 R 143 0 R 146 0 R 149 0 R 152 0 R 155 0 R 158 0 R]>> endobj 160 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[255]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[255]/Pg 403 0 R>> endobj 161 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Keys: panes)/K[256]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Keys: panes)/K[256]/Pg 403 0 R>> endobj 162 0 obj -<</Type/StructElem/S/TD/P 165 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[257 258 259 260 261 262 263 264]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 165 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[257 258 259 260 261 262 263 264]/Pg 403 0 R>> endobj 163 0 obj -<</Type/StructElem/S/Code/P 164 0 R/K[268]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 164 0 R/K[268]/Pg 403 0 R>> endobj 164 0 obj -<</Type/StructElem/S/TD/P 165 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[265 266 267 163 0 R 269]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 165 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[265 266 267 163 0 R 269]/Pg 403 0 R>> endobj 165 0 obj <</Type/StructElem/S/TR/P 181 0 R/K[162 0 R 164 0 R]>> endobj 166 0 obj -<</Type/StructElem/S/TD/P 168 0 R/A[<</O/Table/Headers[]>>]/K[270]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 168 0 R/A[<</O/Table/Headers[]>>]/K[270]/Pg 403 0 R>> endobj 167 0 obj -<</Type/StructElem/S/TD/P 168 0 R/A[<</O/Table/Headers[]>>]/K[271 272 273 274]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 168 0 R/A[<</O/Table/Headers[]>>]/K[271 272 273 274]/Pg 403 0 R>> endobj 168 0 obj <</Type/StructElem/S/TR/P 181 0 R/K[166 0 R 167 0 R]>> endobj 169 0 obj -<</Type/StructElem/S/TD/P 171 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[275 276 277]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 171 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[275 276 277]/Pg 403 0 R>> endobj 170 0 obj -<</Type/StructElem/S/TD/P 171 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[278 279 280 281 282]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 171 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[278 279 280 281 282]/Pg 403 0 R>> endobj 171 0 obj <</Type/StructElem/S/TR/P 181 0 R/K[169 0 R 170 0 R]>> endobj 172 0 obj -<</Type/StructElem/S/TD/P 174 0 R/A[<</O/Table/Headers[]>>]/K[283 284 285 286 287 288]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 174 0 R/A[<</O/Table/Headers[]>>]/K[283 284 285 286 287 288]/Pg 403 0 R>> endobj 173 0 obj -<</Type/StructElem/S/TD/P 174 0 R/A[<</O/Table/Headers[]>>]/K[289 290]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 174 0 R/A[<</O/Table/Headers[]>>]/K[289 290]/Pg 403 0 R>> endobj 174 0 obj <</Type/StructElem/S/TR/P 181 0 R/K[172 0 R 173 0 R]>> endobj 175 0 obj -<</Type/StructElem/S/TD/P 177 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[291 292 293]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 177 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[291 292 293]/Pg 403 0 R>> endobj 176 0 obj -<</Type/StructElem/S/TD/P 177 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[294]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 177 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[294]/Pg 403 0 R>> endobj 177 0 obj <</Type/StructElem/S/TR/P 181 0 R/K[175 0 R 176 0 R]>> endobj 178 0 obj -<</Type/StructElem/S/TD/P 180 0 R/A[<</O/Table/Headers[]>>]/K[295 296 297]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 180 0 R/A[<</O/Table/Headers[]>>]/K[295 296 297]/Pg 403 0 R>> endobj 179 0 obj -<</Type/StructElem/S/TD/P 180 0 R/A[<</O/Table/Headers[]>>]/K[298 299]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 180 0 R/A[<</O/Table/Headers[]>>]/K[298 299]/Pg 403 0 R>> endobj 180 0 obj <</Type/StructElem/S/TR/P 181 0 R/K[178 0 R 179 0 R]>> endobj 181 0 obj -<</Type/StructElem/S/Table/P 349 0 R/K[165 0 R 168 0 R 171 0 R 174 0 R 177 0 R 180 0 R]>> +<</Type/StructElem/S/Table/P 365 0 R/K[165 0 R 168 0 R 171 0 R 174 0 R 177 0 R 180 0 R]>> endobj 182 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(The leader: in normal mode)/K[300 301 302]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(The leader: in normal mode)/K[300 301 302]/Pg 403 0 R>> endobj 183 0 obj -<</Type/StructElem/S/TD/P 185 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[303 304 305]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 185 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[303 304 305]/Pg 403 0 R>> endobj 184 0 obj -<</Type/StructElem/S/TD/P 185 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[306]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 185 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[306]/Pg 403 0 R>> endobj 185 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[183 0 R 184 0 R]>> endobj 186 0 obj -<</Type/StructElem/S/TD/P 188 0 R/A[<</O/Table/Headers[]>>]/K[307 308 309 310 311]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 188 0 R/A[<</O/Table/Headers[]>>]/K[307 308 309 310 311]/Pg 403 0 R>> endobj 187 0 obj -<</Type/StructElem/S/TD/P 188 0 R/A[<</O/Table/Headers[]>>]/K[312]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 188 0 R/A[<</O/Table/Headers[]>>]/K[312]/Pg 403 0 R>> endobj 188 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[186 0 R 187 0 R]>> endobj 189 0 obj -<</Type/StructElem/S/TD/P 191 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[313 314 315 316 317]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 191 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[313 314 315 316 317]/Pg 403 0 R>> endobj 190 0 obj -<</Type/StructElem/S/TD/P 191 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[318]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 191 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[318]/Pg 403 0 R>> endobj 191 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[189 0 R 190 0 R]>> endobj 192 0 obj -<</Type/StructElem/S/TD/P 194 0 R/A[<</O/Table/Headers[]>>]/K[319 320 321 322 323]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 194 0 R/A[<</O/Table/Headers[]>>]/K[319 320 321 322 323]/Pg 403 0 R>> endobj 193 0 obj -<</Type/StructElem/S/TD/P 194 0 R/A[<</O/Table/Headers[]>>]/K[324]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 194 0 R/A[<</O/Table/Headers[]>>]/K[324]/Pg 403 0 R>> endobj 194 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[192 0 R 193 0 R]>> endobj 195 0 obj -<</Type/StructElem/S/TD/P 197 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[325 326 327 328 329]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 197 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[325 326 327 328 329]/Pg 403 0 R>> endobj 196 0 obj -<</Type/StructElem/S/TD/P 197 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[330]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 197 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[330]/Pg 403 0 R>> endobj 197 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[195 0 R 196 0 R]>> endobj 198 0 obj -<</Type/StructElem/S/TD/P 200 0 R/A[<</O/Table/Headers[]>>]/K[331 332 333 334 335]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 200 0 R/A[<</O/Table/Headers[]>>]/K[331 332 333 334 335]/Pg 403 0 R>> endobj 199 0 obj -<</Type/StructElem/S/TD/P 200 0 R/A[<</O/Table/Headers[]>>]/K[336]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 200 0 R/A[<</O/Table/Headers[]>>]/K[336]/Pg 403 0 R>> endobj 200 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[198 0 R 199 0 R]>> endobj 201 0 obj -<</Type/StructElem/S/TD/P 203 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[337 338 339 340 341]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 203 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[337 338 339 340 341]/Pg 403 0 R>> endobj 202 0 obj -<</Type/StructElem/S/TD/P 203 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[342]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 203 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[342]/Pg 403 0 R>> endobj 203 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[201 0 R 202 0 R]>> endobj 204 0 obj -<</Type/StructElem/S/TD/P 206 0 R/A[<</O/Table/Headers[]>>]/K[343 344 345]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 206 0 R/A[<</O/Table/Headers[]>>]/K[343 344 345]/Pg 403 0 R>> endobj 205 0 obj -<</Type/StructElem/S/TD/P 206 0 R/A[<</O/Table/Headers[]>>]/K[346]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 206 0 R/A[<</O/Table/Headers[]>>]/K[346]/Pg 403 0 R>> endobj 206 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[204 0 R 205 0 R]>> endobj 207 0 obj -<</Type/StructElem/S/TD/P 209 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[347 348 349 350 351]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 209 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[347 348 349 350 351]/Pg 403 0 R>> endobj 208 0 obj -<</Type/StructElem/S/TD/P 209 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[352]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 209 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[352]/Pg 403 0 R>> endobj 209 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[207 0 R 208 0 R]>> endobj 210 0 obj -<</Type/StructElem/S/TD/P 212 0 R/A[<</O/Table/Headers[]>>]/K[353 354 355 356 357]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 212 0 R/A[<</O/Table/Headers[]>>]/K[353 354 355 356 357]/Pg 403 0 R>> endobj 211 0 obj -<</Type/StructElem/S/TD/P 212 0 R/A[<</O/Table/Headers[]>>]/K[358]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 212 0 R/A[<</O/Table/Headers[]>>]/K[358]/Pg 403 0 R>> endobj 212 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[210 0 R 211 0 R]>> endobj 213 0 obj -<</Type/StructElem/S/TD/P 215 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[359 360 361 362 363]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 215 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[359 360 361 362 363]/Pg 403 0 R>> endobj 214 0 obj -<</Type/StructElem/S/TD/P 215 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[364]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 215 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[364]/Pg 403 0 R>> endobj 215 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[213 0 R 214 0 R]>> endobj 216 0 obj -<</Type/StructElem/S/TD/P 218 0 R/A[<</O/Table/Headers[]>>]/K[365 366 367 368 369]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 218 0 R/A[<</O/Table/Headers[]>>]/K[365 366 367 368 369]/Pg 403 0 R>> endobj 217 0 obj -<</Type/StructElem/S/TD/P 218 0 R/A[<</O/Table/Headers[]>>]/K[370]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 218 0 R/A[<</O/Table/Headers[]>>]/K[370]/Pg 403 0 R>> endobj 218 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[216 0 R 217 0 R]>> endobj 219 0 obj -<</Type/StructElem/S/TD/P 221 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[371 372 373 374 375]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 221 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[371 372 373 374 375]/Pg 403 0 R>> endobj 220 0 obj -<</Type/StructElem/S/TD/P 221 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[376]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 221 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[376]/Pg 403 0 R>> endobj 221 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[219 0 R 220 0 R]>> endobj 222 0 obj -<</Type/StructElem/S/TD/P 224 0 R/A[<</O/Table/Headers[]>>]/K[377 378 379]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 224 0 R/A[<</O/Table/Headers[]>>]/K[377 378 379]/Pg 403 0 R>> endobj 223 0 obj -<</Type/StructElem/S/TD/P 224 0 R/A[<</O/Table/Headers[]>>]/K[380]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 224 0 R/A[<</O/Table/Headers[]>>]/K[380]/Pg 403 0 R>> endobj 224 0 obj <</Type/StructElem/S/TR/P 225 0 R/K[222 0 R 223 0 R]>> @@ -680,118 +680,118 @@ endobj <</Type/StructElem/S/Div/P 268 0 R/K[225 0 R]>> endobj 227 0 obj -<</Type/StructElem/S/TD/P 229 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[381 382 383]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 229 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[381 382 383]/Pg 403 0 R>> endobj 228 0 obj -<</Type/StructElem/S/TD/P 229 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[384]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 229 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[384]/Pg 403 0 R>> endobj 229 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[227 0 R 228 0 R]>> endobj 230 0 obj -<</Type/StructElem/S/TD/P 232 0 R/A[<</O/Table/Headers[]>>]/K[385 386 387 388 389]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 232 0 R/A[<</O/Table/Headers[]>>]/K[385 386 387 388 389]/Pg 403 0 R>> endobj 231 0 obj -<</Type/StructElem/S/TD/P 232 0 R/A[<</O/Table/Headers[]>>]/K[390]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 232 0 R/A[<</O/Table/Headers[]>>]/K[390]/Pg 403 0 R>> endobj 232 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[230 0 R 231 0 R]>> endobj 233 0 obj -<</Type/StructElem/S/TD/P 235 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[391 392 393 394 395]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 235 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[391 392 393 394 395]/Pg 403 0 R>> endobj 234 0 obj -<</Type/StructElem/S/TD/P 235 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[396]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 235 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[396]/Pg 403 0 R>> endobj 235 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[233 0 R 234 0 R]>> endobj 236 0 obj -<</Type/StructElem/S/TD/P 238 0 R/A[<</O/Table/Headers[]>>]/K[397 398 399 400 401]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 238 0 R/A[<</O/Table/Headers[]>>]/K[397 398 399 400 401]/Pg 403 0 R>> endobj 237 0 obj -<</Type/StructElem/S/TD/P 238 0 R/A[<</O/Table/Headers[]>>]/K[402]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 238 0 R/A[<</O/Table/Headers[]>>]/K[402]/Pg 403 0 R>> endobj 238 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[236 0 R 237 0 R]>> endobj 239 0 obj -<</Type/StructElem/S/TD/P 241 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[403 404 405 406 407]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 241 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[403 404 405 406 407]/Pg 403 0 R>> endobj 240 0 obj -<</Type/StructElem/S/TD/P 241 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[408]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 241 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[408]/Pg 403 0 R>> endobj 241 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[239 0 R 240 0 R]>> endobj 242 0 obj -<</Type/StructElem/S/TD/P 244 0 R/A[<</O/Table/Headers[]>>]/K[409 410 411 412 413]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 244 0 R/A[<</O/Table/Headers[]>>]/K[409 410 411 412 413]/Pg 403 0 R>> endobj 243 0 obj -<</Type/StructElem/S/TD/P 244 0 R/A[<</O/Table/Headers[]>>]/K[414]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 244 0 R/A[<</O/Table/Headers[]>>]/K[414]/Pg 403 0 R>> endobj 244 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[242 0 R 243 0 R]>> endobj 245 0 obj -<</Type/StructElem/S/TD/P 247 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[415 416 417 418 419]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 247 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[415 416 417 418 419]/Pg 403 0 R>> endobj 246 0 obj -<</Type/StructElem/S/TD/P 247 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[420]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 247 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[420]/Pg 403 0 R>> endobj 247 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[245 0 R 246 0 R]>> endobj 248 0 obj -<</Type/StructElem/S/TD/P 250 0 R/A[<</O/Table/Headers[]>>]/K[421 422 423 424 425]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 250 0 R/A[<</O/Table/Headers[]>>]/K[421 422 423 424 425]/Pg 403 0 R>> endobj 249 0 obj -<</Type/StructElem/S/TD/P 250 0 R/A[<</O/Table/Headers[]>>]/K[426]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 250 0 R/A[<</O/Table/Headers[]>>]/K[426]/Pg 403 0 R>> endobj 250 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[248 0 R 249 0 R]>> endobj 251 0 obj -<</Type/StructElem/S/TD/P 253 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[427 428 429 430 431]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 253 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[427 428 429 430 431]/Pg 403 0 R>> endobj 252 0 obj -<</Type/StructElem/S/TD/P 253 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[432]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 253 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[432]/Pg 403 0 R>> endobj 253 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[251 0 R 252 0 R]>> endobj 254 0 obj -<</Type/StructElem/S/TD/P 256 0 R/A[<</O/Table/Headers[]>>]/K[433 434 435 436 437]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 256 0 R/A[<</O/Table/Headers[]>>]/K[433 434 435 436 437]/Pg 403 0 R>> endobj 255 0 obj -<</Type/StructElem/S/TD/P 256 0 R/A[<</O/Table/Headers[]>>]/K[438]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 256 0 R/A[<</O/Table/Headers[]>>]/K[438]/Pg 403 0 R>> endobj 256 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[254 0 R 255 0 R]>> endobj 257 0 obj -<</Type/StructElem/S/TD/P 259 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[439 440 441 442 443]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 259 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[439 440 441 442 443]/Pg 403 0 R>> endobj 258 0 obj -<</Type/StructElem/S/TD/P 259 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[444]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 259 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[444]/Pg 403 0 R>> endobj 259 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[257 0 R 258 0 R]>> endobj 260 0 obj -<</Type/StructElem/S/TD/P 262 0 R/A[<</O/Table/Headers[]>>]/K[445 446 447 448 449]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 262 0 R/A[<</O/Table/Headers[]>>]/K[445 446 447 448 449]/Pg 403 0 R>> endobj 261 0 obj -<</Type/StructElem/S/TD/P 262 0 R/A[<</O/Table/Headers[]>>]/K[450]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 262 0 R/A[<</O/Table/Headers[]>>]/K[450]/Pg 403 0 R>> endobj 262 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[260 0 R 261 0 R]>> endobj 263 0 obj -<</Type/StructElem/S/TD/P 265 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[451 452 453]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 265 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[451 452 453]/Pg 403 0 R>> endobj 264 0 obj -<</Type/StructElem/S/TD/P 265 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[454]/Pg 387 0 R>> +<</Type/StructElem/S/TD/P 265 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[454]/Pg 403 0 R>> endobj 265 0 obj <</Type/StructElem/S/TR/P 266 0 R/K[263 0 R 264 0 R]>> @@ -803,379 +803,427 @@ endobj <</Type/StructElem/S/Div/P 268 0 R/K[266 0 R]>> endobj 268 0 obj -<</Type/StructElem/S/Div/P 349 0 R/K[226 0 R 267 0 R]>> +<</Type/StructElem/S/Div/P 365 0 R/K[226 0 R 267 0 R]>> endobj 269 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Terminals and commands)/K[455]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Terminals and commands)/K[455]/Pg 403 0 R>> endobj 270 0 obj -<</Type/StructElem/S/Lbl/P 273 0 R/K[456]/Pg 387 0 R>> +<</Type/StructElem/S/Lbl/P 273 0 R/K[456]/Pg 403 0 R>> endobj 271 0 obj -<</Type/StructElem/S/Code/P 272 0 R/K[461]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 272 0 R/K[461]/Pg 403 0 R>> endobj 272 0 obj -<</Type/StructElem/S/LBody/P 273 0 R/K[457 458 459 460 271 0 R 462 463 464 465 466 467 468 469]/Pg 387 0 R>> +<</Type/StructElem/S/LBody/P 273 0 R/K[457 458 459 460 271 0 R 462 463 464 465 466 467 468 469]/Pg 403 0 R>> endobj 273 0 obj <</Type/StructElem/S/LI/P 285 0 R/K[270 0 R 272 0 R]>> endobj 274 0 obj -<</Type/StructElem/S/Lbl/P 278 0 R/K[470]/Pg 387 0 R>> +<</Type/StructElem/S/Lbl/P 278 0 R/K[470]/Pg 403 0 R>> endobj 275 0 obj -<</Type/StructElem/S/Strong/P 276 0 R/K[472 473]/Pg 387 0 R>> +<</Type/StructElem/S/Strong/P 276 0 R/K[472 473]/Pg 403 0 R>> endobj 276 0 obj -<</Type/StructElem/S/P/P 277 0 R/K[471 275 0 R 474]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 277 0 R/K[471 275 0 R 474]/Pg 403 0 R>> endobj 277 0 obj -<</Type/StructElem/S/LBody/P 278 0 R/K[276 0 R 475 476 477]/Pg 387 0 R>> +<</Type/StructElem/S/LBody/P 278 0 R/K[276 0 R 475 476 477]/Pg 403 0 R>> endobj 278 0 obj <</Type/StructElem/S/LI/P 285 0 R/K[274 0 R 277 0 R]>> endobj 279 0 obj -<</Type/StructElem/S/Lbl/P 284 0 R/K[478]/Pg 387 0 R>> +<</Type/StructElem/S/Lbl/P 284 0 R/K[478]/Pg 403 0 R>> endobj 280 0 obj -<</Type/StructElem/S/Code/P 283 0 R/K[481]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 283 0 R/K[481]/Pg 403 0 R>> endobj 281 0 obj -<</Type/StructElem/S/Code/P 283 0 R/K[487]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 283 0 R/K[487]/Pg 403 0 R>> endobj 282 0 obj -<</Type/StructElem/S/Code/P 283 0 R/K[489]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 283 0 R/K[489]/Pg 403 0 R>> endobj 283 0 obj -<</Type/StructElem/S/LBody/P 284 0 R/K[479 480 280 0 R 482 483 484 485 486 281 0 R 488 282 0 R 490]/Pg 387 0 R>> +<</Type/StructElem/S/LBody/P 284 0 R/K[479 480 280 0 R 482 483 484 485 486 281 0 R 488 282 0 R 490]/Pg 403 0 R>> endobj 284 0 obj <</Type/StructElem/S/LI/P 285 0 R/K[279 0 R 283 0 R]>> endobj 285 0 obj -<</Type/StructElem/S/L/P 349 0 R/A[<</O/List/ListNumbering/Circle>>]/K[273 0 R 278 0 R 284 0 R]>> +<</Type/StructElem/S/L/P 365 0 R/A[<</O/List/ListNumbering/Circle>>]/K[273 0 R 278 0 R 284 0 R]>> endobj 286 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Reviewing diffs)/K[491]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Reviewing diffs)/K[491]/Pg 403 0 R>> endobj 287 0 obj -<</Type/StructElem/S/Code/P 291 0 R/K[492]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 291 0 R/K[492]/Pg 403 0 R>> endobj 288 0 obj -<</Type/StructElem/S/Code/P 291 0 R/K[495]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 291 0 R/K[495]/Pg 403 0 R>> endobj 289 0 obj -<</Type/StructElem/S/Code/P 291 0 R/K[498]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 291 0 R/K[498]/Pg 403 0 R>> endobj 290 0 obj -<</Type/StructElem/S/Code/P 291 0 R/K[500]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 291 0 R/K[500]/Pg 403 0 R>> endobj 291 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[287 0 R 493 494 288 0 R 496 497 289 0 R 499 290 0 R 501 502 503]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[287 0 R 493 494 288 0 R 496 497 289 0 R 499 290 0 R 501 502 503]/Pg 403 0 R>> endobj 292 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Finding things)/K[504]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Finding things)/K[504]/Pg 403 0 R>> endobj 293 0 obj -<</Type/StructElem/S/Lbl/P 298 0 R/K[505]/Pg 387 0 R>> +<</Type/StructElem/S/Lbl/P 298 0 R/K[505]/Pg 403 0 R>> endobj 294 0 obj -<</Type/StructElem/S/Code/P 297 0 R/K[508]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 297 0 R/K[508]/Pg 403 0 R>> endobj 295 0 obj -<</Type/StructElem/S/Code/P 297 0 R/K[512]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 297 0 R/K[512]/Pg 403 0 R>> endobj 296 0 obj -<</Type/StructElem/S/Code/P 297 0 R/K[514]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 297 0 R/K[514]/Pg 403 0 R>> endobj 297 0 obj -<</Type/StructElem/S/LBody/P 298 0 R/K[506 507 294 0 R 509 510 511 295 0 R 513 296 0 R 515 516 517 518 519 520 521 522]/Pg 387 0 R>> +<</Type/StructElem/S/LBody/P 298 0 R/K[506 507 294 0 R 509 510 511 295 0 R 513 296 0 R 515 516 517 518 519 520 521 522]/Pg 403 0 R>> endobj 298 0 obj <</Type/StructElem/S/LI/P 299 0 R/K[293 0 R 297 0 R]>> endobj 299 0 obj -<</Type/StructElem/S/L/P 349 0 R/A[<</O/List/ListNumbering/Circle>>]/K[298 0 R]>> +<</Type/StructElem/S/L/P 365 0 R/A[<</O/List/ListNumbering/Circle>>]/K[298 0 R]>> endobj 300 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Sessions)/K[523]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Sessions)/K[523]/Pg 403 0 R>> endobj 301 0 obj -<</Type/StructElem/S/Code/P 304 0 R/K[524]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 304 0 R/K[524]/Pg 403 0 R>> endobj 302 0 obj -<</Type/StructElem/S/Code/P 304 0 R/K[526]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 304 0 R/K[526]/Pg 403 0 R>> endobj 303 0 obj -<</Type/StructElem/S/Code/P 304 0 R/K[530]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 304 0 R/K[530]/Pg 403 0 R>> endobj 304 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[301 0 R 525 302 0 R 527 528 529 303 0 R 531 532 533 534 535]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[301 0 R 525 302 0 R 527 528 529 303 0 R 531 532 533 534 535]/Pg 403 0 R>> endobj 305 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Config)/K[536]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Config)/K[536]/Pg 403 0 R>> endobj 306 0 obj -<</Type/StructElem/S/Code/P 308 0 R/K[545]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 308 0 R/K[545]/Pg 403 0 R>> endobj 307 0 obj -<</Type/StructElem/S/Code/P 308 0 R/K[550]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 308 0 R/K[550]/Pg 403 0 R>> endobj 308 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[537 538 539 540 541 542 543 544 306 0 R 546 547 548 549 307 0 R 551 552 553 554 555 556 557 558 559]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[537 538 539 540 541 542 543 544 306 0 R 546 547 548 549 307 0 R 551 552 553 554 555 556 557 558 559]/Pg 403 0 R>> endobj 309 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(Themes)/K[560]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(Themes)/K[560]/Pg 403 0 R>> endobj 310 0 obj -<</Type/StructElem/S/Code/P 312 0 R/K[565]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 312 0 R/K[565]/Pg 403 0 R>> endobj 311 0 obj -<</Type/StructElem/S/Code/P 312 0 R/K[571]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 312 0 R/K[571]/Pg 403 0 R>> endobj 312 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[561 562 563 564 310 0 R 566 567 568 569 570 311 0 R 572 573]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[561 562 563 564 310 0 R 566 567 568 569 570 311 0 R 572 573]/Pg 403 0 R>> endobj 313 0 obj -<</Type/StructElem/S/H2/P 349 0 R/T(The virtual filesystem (9P))/K[574]/Pg 387 0 R>> +<</Type/StructElem/S/H2/P 365 0 R/T(The virtual filesystem (9P))/K[574]/Pg 403 0 R>> endobj 314 0 obj -<</Type/StructElem/S/Code/P 317 0 R/K[576]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 317 0 R/K[576]/Pg 403 0 R>> endobj 315 0 obj -<</Type/StructElem/S/Code/P 317 0 R/K[578]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 317 0 R/K[578]/Pg 403 0 R>> endobj 316 0 obj -<</Type/StructElem/S/Code/P 317 0 R/K[581]/Pg 387 0 R>> +<</Type/StructElem/S/Code/P 317 0 R/K[581]/Pg 403 0 R>> endobj 317 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[575 314 0 R 577 315 0 R 579 580 316 0 R 582 583]/Pg 387 0 R>> +<</Type/StructElem/S/P/P 365 0 R/K[575 314 0 R 577 315 0 R 579 580 316 0 R 582 583]/Pg 403 0 R>> endobj 318 0 obj -<</Type/StructElem/S/Span/P 349 0 R/A[<</O/Layout/Placement/Block>>]/K[584 585 586]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 365 0 R/A[<</O/Layout/Placement/Block>>]/K[584 585 586]/Pg 403 0 R>> endobj 319 0 obj -<</Type/StructElem/S/TD/P 321 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[587]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 320 0 R/A[<</O/Layout/Placement/Block>>]/K[587]/Pg 403 0 R>> endobj 320 0 obj -<</Type/StructElem/S/TD/P 321 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[588 589]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[319 0 R]>> endobj 321 0 obj -<</Type/StructElem/S/TR/P 344 0 R/K[319 0 R 320 0 R]>> +<</Type/StructElem/S/Div/P 360 0 R/K[]>> endobj 322 0 obj -<</Type/StructElem/S/TD/P 324 0 R/A[<</O/Table/Headers[]>>]/K[590]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 323 0 R/A[<</O/Layout/Placement/Block>>]/K[588 589]/Pg 403 0 R>> endobj 323 0 obj -<</Type/StructElem/S/TD/P 324 0 R/A[<</O/Table/Headers[]>>]/K[591 592]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[322 0 R]>> endobj 324 0 obj -<</Type/StructElem/S/TR/P 344 0 R/K[322 0 R 323 0 R]>> +<</Type/StructElem/S/Span/P 325 0 R/A[<</O/Layout/Placement/Block>>]/K[590]/Pg 403 0 R>> endobj 325 0 obj -<</Type/StructElem/S/TD/P 328 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[593]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[324 0 R]>> endobj 326 0 obj -<</Type/StructElem/S/Code/P 327 0 R/K[595]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 327 0 R/A[<</O/Layout/Placement/Block>>]/K[591 592]/Pg 403 0 R>> endobj 327 0 obj -<</Type/StructElem/S/TD/P 328 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[594 326 0 R 596 597]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[326 0 R]>> endobj 328 0 obj -<</Type/StructElem/S/TR/P 344 0 R/K[325 0 R 327 0 R]>> +<</Type/StructElem/S/Span/P 329 0 R/A[<</O/Layout/Placement/Block>>]/K[593]/Pg 403 0 R>> endobj 329 0 obj -<</Type/StructElem/S/TD/P 331 0 R/A[<</O/Table/Headers[]>>]/K[598]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[328 0 R]>> endobj 330 0 obj -<</Type/StructElem/S/TD/P 331 0 R/A[<</O/Table/Headers[]>>]/K[599]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 331 0 R/A[<</O/Layout/Placement/Block>>]/K[594 595]/Pg 403 0 R>> endobj 331 0 obj -<</Type/StructElem/S/TR/P 344 0 R/K[329 0 R 330 0 R]>> +<</Type/StructElem/S/Div/P 360 0 R/K[330 0 R]>> endobj 332 0 obj -<</Type/StructElem/S/TD/P 335 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[600]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 333 0 R/A[<</O/Layout/Placement/Block>>]/K[596]/Pg 403 0 R>> endobj 333 0 obj -<</Type/StructElem/S/Code/P 334 0 R/K[602]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[332 0 R]>> endobj 334 0 obj -<</Type/StructElem/S/TD/P 335 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[601 333 0 R 603 604]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 335 0 R/A[<</O/Layout/Placement/Block>>]/K[597 598]/Pg 403 0 R>> endobj 335 0 obj -<</Type/StructElem/S/TR/P 344 0 R/K[332 0 R 334 0 R]>> +<</Type/StructElem/S/Div/P 360 0 R/K[334 0 R]>> endobj 336 0 obj -<</Type/StructElem/S/TD/P 339 0 R/A[<</O/Table/Headers[]>>]/K[605]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 337 0 R/A[<</O/Layout/Placement/Block>>]/K[599]/Pg 403 0 R>> endobj 337 0 obj -<</Type/StructElem/S/Code/P 338 0 R/K[611]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[336 0 R]>> endobj 338 0 obj -<</Type/StructElem/S/TD/P 339 0 R/A[<</O/Table/Headers[]>>]/K[606 607 608 609 610 337 0 R]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 339 0 R/A[<</O/Layout/Placement/Block>>]/K[600 601]/Pg 403 0 R>> endobj 339 0 obj -<</Type/StructElem/S/TR/P 344 0 R/K[336 0 R 338 0 R]>> +<</Type/StructElem/S/Div/P 360 0 R/K[338 0 R]>> endobj 340 0 obj -<</Type/StructElem/S/TD/P 343 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[612]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[]>> endobj 341 0 obj -<</Type/StructElem/S/Code/P 342 0 R/K[614]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 342 0 R/A[<</O/Layout/Placement/Block>>]/K[602 603]/Pg 403 0 R>> endobj 342 0 obj -<</Type/StructElem/S/TD/P 343 0 R/A[<</O/Table/Headers[]>><</O/Layout/BackgroundColor[0.89411765 0.9411765 0.92941177]>>]/K[613 341 0 R 615]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[341 0 R]>> endobj 343 0 obj -<</Type/StructElem/S/TR/P 344 0 R/K[340 0 R 342 0 R]>> +<</Type/StructElem/S/Span/P 344 0 R/A[<</O/Layout/Placement/Block>>]/K[604]/Pg 403 0 R>> endobj 344 0 obj -<</Type/StructElem/S/Table/P 349 0 R/K[321 0 R 324 0 R 328 0 R 331 0 R 335 0 R 339 0 R 343 0 R]>> +<</Type/StructElem/S/Div/P 360 0 R/K[343 0 R]>> endobj 345 0 obj -<</Type/StructElem/S/Span/P 349 0 R/A[<</O/Layout/Placement/Block>>]/K[616 617 618 619 620 621 622]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 346 0 R/A[<</O/Layout/Placement/Block>>]/K[605 606]/Pg 403 0 R>> endobj 346 0 obj -<</Type/StructElem/S/Code/P 348 0 R/K[623]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[345 0 R]>> endobj 347 0 obj -<</Type/StructElem/S/Code/P 348 0 R/K[625 626]/Pg 387 0 R>> +<</Type/StructElem/S/Div/P 360 0 R/K[]>> endobj 348 0 obj -<</Type/StructElem/S/P/P 349 0 R/K[346 0 R 624 347 0 R 627 628]/Pg 387 0 R>> +<</Type/StructElem/S/Span/P 349 0 R/A[<</O/Layout/Placement/Block>>]/K[607 608]/Pg 403 0 R>> endobj 349 0 obj -<</Type/StructElem/S/Document/P 17 0 R/K[19 0 R 20 0 R 36 0 R 37 0 R 53 0 R 54 0 R 55 0 R 56 0 R 64 0 R 65 0 R 66 0 R 93 0 R 99 0 R 100 0 R 104 0 R 159 0 R 160 0 R 161 0 R 181 0 R 182 0 R 268 0 R 269 0 R 285 0 R 286 0 R 291 0 R 292 0 R 299 0 R 300 0 R 304 0 R 305 0 R 308 0 R 309 0 R 312 0 R 313 0 R 317 0 R 318 0 R 344 0 R 345 0 R 348 0 R]>> +<</Type/StructElem/S/Div/P 360 0 R/K[348 0 R]>> endobj 350 0 obj -[/ICCBased 407 0 R] +<</Type/StructElem/S/Span/P 351 0 R/A[<</O/Layout/Placement/Block>>]/K[609]/Pg 403 0 R>> endobj 351 0 obj -[387 0 R/XYZ 25.51181 645.8511 0] +<</Type/StructElem/S/Div/P 360 0 R/K[350 0 R]>> endobj 352 0 obj -[387 0 R/XYZ 25.51181 804.6376 0] +<</Type/StructElem/S/Span/P 353 0 R/A[<</O/Layout/Placement/Block>>]/K[610 611]/Pg 403 0 R>> endobj 353 0 obj -[387 0 R/XYZ 25.51181 463.1918 0] +<</Type/StructElem/S/Div/P 360 0 R/K[352 0 R]>> endobj 354 0 obj -[387 0 R/XYZ 25.51181 276.91058 0] +<</Type/StructElem/S/Span/P 355 0 R/A[<</O/Layout/Placement/Block>>]/K[612 613 614 615]/Pg 403 0 R>> endobj 355 0 obj -[387 0 R/XYZ 25.51181 110.019775 0] +<</Type/StructElem/S/Div/P 360 0 R/K[354 0 R]>> endobj 356 0 obj -[387 0 R/XYZ 211.1811 571.6865 0] +<</Type/StructElem/S/Span/P 357 0 R/A[<</O/Layout/Placement/Block>>]/K[616 617]/Pg 403 0 R>> endobj 357 0 obj -[387 0 R/XYZ 211.1811 392.59448 0] +<</Type/StructElem/S/Div/P 360 0 R/K[356 0 R]>> endobj 358 0 obj -[387 0 R/XYZ 211.1811 240.02875 0] +<</Type/StructElem/S/Span/P 359 0 R/A[<</O/Layout/Placement/Block>>]/K[618]/Pg 403 0 R>> endobj 359 0 obj -[387 0 R/XYZ 211.1811 133.09485 0] +<</Type/StructElem/S/Div/P 360 0 R/K[358 0 R]>> endobj 360 0 obj -[387 0 R/XYZ 211.1811 80.625244 0] +<</Type/StructElem/S/Div/P 365 0 R/K[320 0 R 321 0 R 323 0 R 325 0 R 327 0 R 329 0 R 331 0 R 333 0 R 335 0 R 337 0 R 339 0 R 340 0 R 342 0 R 344 0 R 346 0 R 347 0 R 349 0 R 351 0 R 353 0 R 355 0 R 357 0 R 359 0 R]>> endobj 361 0 obj -[387 0 R/XYZ 396.8504 804.6376 0] +<</Type/StructElem/S/Span/P 365 0 R/A[<</O/Layout/Placement/Block>>]/K[619 620 621 622 623 624 625]/Pg 403 0 R>> endobj 362 0 obj -[387 0 R/XYZ 396.8504 756.47675 0] +<</Type/StructElem/S/Code/P 364 0 R/K[626]/Pg 403 0 R>> endobj 363 0 obj -[387 0 R/XYZ 396.8504 698.34015 0] +<</Type/StructElem/S/Code/P 364 0 R/K[628 629]/Pg 403 0 R>> endobj 364 0 obj -[387 0 R/XYZ 396.8504 659.0976 0] +<</Type/StructElem/S/P/P 365 0 R/K[362 0 R 627 363 0 R 630 631]/Pg 403 0 R>> endobj 365 0 obj -<</Type/ExtGState/ca 0.6509804>> +<</Type/StructElem/S/Document/P 17 0 R/K[19 0 R 20 0 R 36 0 R 37 0 R 53 0 R 54 0 R 55 0 R 56 0 R 64 0 R 65 0 R 66 0 R 93 0 R 99 0 R 100 0 R 104 0 R 159 0 R 160 0 R 161 0 R 181 0 R 182 0 R 268 0 R 269 0 R 285 0 R 286 0 R 291 0 R 292 0 R 299 0 R 300 0 R 304 0 R 305 0 R 308 0 R 309 0 R 312 0 R 313 0 R 317 0 R 318 0 R 360 0 R 361 0 R 364 0 R]>> endobj 366 0 obj -<</Type/ExtGState/ca 0.16078432>> +[/ICCBased 423 0 R] endobj 367 0 obj -<</Type/ExtGState/ca 0.7490196>> +[403 0 R/XYZ 25.51181 645.8511 0] endobj 368 0 obj -<</ProcSet[/PDF/Text/ImageC/ImageB]/ColorSpace<</c0 350 0 R>>/ExtGState<</g0 365 0 R/g1 366 0 R/g2 367 0 R>>/Font<</f0 369 0 R/f1 372 0 R/f2 375 0 R/f3 378 0 R/f4 381 0 R/f5 384 0 R>>>> +[403 0 R/XYZ 25.51181 804.6376 0] endobj 369 0 obj -<</Type/Font/Subtype/Type0/BaseFont/FVNFXV+LibertinusSerif-Bold-Identity-H/Encoding/Identity-H/DescendantFonts[370 0 R]/ToUnicode 389 0 R>> +[403 0 R/XYZ 25.51181 463.1918 0] endobj 370 0 obj -<</Type/Font/Subtype/CIDFontType0/BaseFont/FVNFXV+LibertinusSerif-Bold/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 371 0 R/DW 0/W[0 0 500 1 1 581 2 2 505.99997 3 3 428 4 4 561 5 5 489 6 6 427 7 7 652 8 8 619 9 9 250 10 10 905 11 11 551 12 12 598 13 13 706 14 14 256 15 15 325 16 16 358 17 17 641 18 18 244 19 19 456 20 20 322 21 21 613 22 22 616 23 23 561 24 24 521 25 25 736 26 26 558 27 27 716 28 28 529 29 29 777 30 30 716 31 31 545 32 32 504 33 33 315 34 34 514 35 35 614 36 36 315]>> +[403 0 R/XYZ 25.51181 276.91058 0] endobj 371 0 obj -<</Type/FontDescriptor/FontName/FVNFXV+LibertinusSerif-Bold/Flags 131078/FontBBox[0 -238 893 720]/ItalicAngle 0/Ascent 894/Descent -246/CapHeight 645/StemV 168.6/CIDSet 388 0 R/FontFile3 390 0 R>> +[403 0 R/XYZ 25.51181 110.019775 0] endobj 372 0 obj -<</Type/Font/Subtype/Type0/BaseFont/QUEAPS+LibertinusSerif-Italic-Identity-H/Encoding/Identity-H/DescendantFonts[373 0 R]/ToUnicode 392 0 R>> +[403 0 R/XYZ 211.1811 571.6865 0] endobj 373 0 obj -<</Type/Font/Subtype/CIDFontType0/BaseFont/QUEAPS+LibertinusSerif-Italic/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 374 0 R/DW 0/W[0 0 500 1 1 486 2 2 389 3 3 783 4 4 401 5 5 190 6 6 353 7 7 250 8 8 307 9 9 477 10 10 518 11 11 489 12 12 519 13 13 357 14 14 478 15 15 521 16 16 447 17 17 219 18 18 266 19 19 276 20 20 475 21 21 486 22 22 503.00003 23 23 489 24 24 472 25 25 564 26 26 444 27 27 499]>> +[403 0 R/XYZ 211.1811 392.59448 0] endobj 374 0 obj -<</Type/FontDescriptor/FontName/QUEAPS+LibertinusSerif-Italic/Flags 131142/FontBBox[-78 -238 786 700]/ItalicAngle -12/Ascent 894/Descent -246/CapHeight 645/StemV 95.4/CIDSet 391 0 R/FontFile3 393 0 R>> +[403 0 R/XYZ 211.1811 240.02875 0] endobj 375 0 obj -<</Type/Font/Subtype/Type0/BaseFont/IUBRFU+LibertinusSerif-Regular-Identity-H/Encoding/Identity-H/DescendantFonts[376 0 R]/ToUnicode 395 0 R>> +[403 0 R/XYZ 211.1811 133.09485 0] endobj 376 0 obj -<</Type/Font/Subtype/CIDFontType0/BaseFont/IUBRFU+LibertinusSerif-Regular/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 377 0 R/DW 0/W[0 0 500 1 1 390 2 2 447 3 3 264 4 4 428 5 5 316 6 6 220 7 7 250 8 8 457 9 9 542 10 10 505.99997 11 11 310 12 12 504 13 13 531 14 14 538 15 15 519 16 16 220 17 17 702 18 18 500 19 19 236 20 20 515 21 21 372 22 22 747 23 23 271 24 24 493 25 25 560 26 26 661 27 27 587 28 28 528 29 29 268 30 30 490 31 31 512 32 32 596 33 33 323 34 34 424 35 35 790 36 36 497 37 37 695 38 38 363 39 40 298 41 41 485 42 42 338 43 43 646 44 44 236 45 45 1130 46 46 685 47 47 597 48 53 465 54 54 730 55 55 839 56 56 272 57 57 297 58 58 557 59 59 503.00003 60 60 582 61 61 541]>> +[403 0 R/XYZ 211.1811 80.625244 0] endobj 377 0 obj -<</Type/FontDescriptor/FontName/IUBRFU+LibertinusSerif-Regular/Flags 131078/FontBBox[-48 -238 1072 708]/ItalicAngle 0/Ascent 894/Descent -246/CapHeight 658/StemV 95.4/CIDSet 394 0 R/FontFile3 396 0 R>> +[403 0 R/XYZ 396.8504 804.6376 0] endobj 378 0 obj -<</Type/Font/Subtype/Type0/BaseFont/QWMRBP+DejaVuSansMono/Encoding/Identity-H/DescendantFonts[379 0 R]/ToUnicode 398 0 R>> +[403 0 R/XYZ 396.8504 756.47675 0] endobj 379 0 obj -<</Type/Font/Subtype/CIDFontType2/BaseFont/QWMRBP+DejaVuSansMono/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 380 0 R/DW 0/CIDToGIDMap/Identity/W[0 82 602.0508]>> +[403 0 R/XYZ 396.8504 698.34015 0] endobj 380 0 obj -<</Type/FontDescriptor/FontName/QWMRBP+DejaVuSansMono/Flags 131077/FontBBox[0 -235.83984 602.0508 765.1367]/ItalicAngle 0/Ascent 759.7656/Descent -240.23438/CapHeight 759.7656/StemV 95.4/CIDSet 397 0 R/FontFile2 399 0 R>> +[403 0 R/XYZ 396.8504 659.0976 0] endobj 381 0 obj -<</Type/Font/Subtype/Type0/BaseFont/OTVRNR+NewCMMath-Regular-Identity-H/Encoding/Identity-H/DescendantFonts[382 0 R]/ToUnicode 401 0 R>> +<</Type/ExtGState/ca 0.6509804>> endobj 382 0 obj -<</Type/Font/Subtype/CIDFontType0/BaseFont/OTVRNR+NewCMMath-Regular/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 383 0 R/DW 0/W[0 0 280 1 1 652 2 2 626]>> +<</Type/ExtGState/ca 0.16078432>> endobj 383 0 obj -<</Type/FontDescriptor/FontName/OTVRNR+NewCMMath-Regular/Flags 131076/FontBBox[56 -213 596 725]/ItalicAngle 0/Ascent 806/Descent -194/CapHeight 683/StemV 95.4/CIDSet 400 0 R/FontFile3 402 0 R>> +<</Type/ExtGState/ca 0.7490196>> endobj 384 0 obj -<</Type/Font/Subtype/Type0/BaseFont/IWSMWX+DejaVuSansMono-Bold/Encoding/Identity-H/DescendantFonts[385 0 R]/ToUnicode 404 0 R>> +<</ProcSet[/PDF/Text/ImageC/ImageB]/ColorSpace<</c0 366 0 R>>/ExtGState<</g0 381 0 R/g1 382 0 R/g2 383 0 R>>/Font<</f0 385 0 R/f1 388 0 R/f2 391 0 R/f3 394 0 R/f4 397 0 R/f5 400 0 R>>>> endobj 385 0 obj -<</Type/Font/Subtype/CIDFontType2/BaseFont/IWSMWX+DejaVuSansMono-Bold/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 386 0 R/DW 0/CIDToGIDMap/Identity/W[0 6 602.0508]>> +<</Type/Font/Subtype/Type0/BaseFont/FVNFXV+LibertinusSerif-Bold-Identity-H/Encoding/Identity-H/DescendantFonts[386 0 R]/ToUnicode 405 0 R>> endobj 386 0 obj -<</Type/FontDescriptor/FontName/IWSMWX+DejaVuSansMono-Bold/Flags 131077/FontBBox[47.851562 -176.75781 584.96094 759.7656]/ItalicAngle 0/Ascent 759.7656/Descent -240.23438/CapHeight 759.7656/StemV 168.6/CIDSet 403 0 R/FontFile2 405 0 R>> +<</Type/Font/Subtype/CIDFontType0/BaseFont/FVNFXV+LibertinusSerif-Bold/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 387 0 R/DW 0/W[0 0 500 1 1 581 2 2 505.99997 3 3 428 4 4 561 5 5 489 6 6 427 7 7 652 8 8 619 9 9 250 10 10 905 11 11 551 12 12 598 13 13 706 14 14 256 15 15 325 16 16 358 17 17 641 18 18 244 19 19 456 20 20 322 21 21 613 22 22 616 23 23 561 24 24 521 25 25 736 26 26 558 27 27 716 28 28 529 29 29 777 30 30 716 31 31 545 32 32 504 33 33 315 34 34 514 35 35 614 36 36 315]>> endobj 387 0 obj -<</Type/Page/Resources 368 0 R/MediaBox[0 0 595.2756 841.8898]/StructParents 0/Parent 1 0 R/Contents 406 0 R>> +<</Type/FontDescriptor/FontName/FVNFXV+LibertinusSerif-Bold/Flags 131078/FontBBox[0 -238 893 720]/ItalicAngle 0/Ascent 894/Descent -246/CapHeight 645/StemV 168.6/CIDSet 404 0 R/FontFile3 406 0 R>> endobj 388 0 obj +<</Type/Font/Subtype/Type0/BaseFont/QUEAPS+LibertinusSerif-Italic-Identity-H/Encoding/Identity-H/DescendantFonts[389 0 R]/ToUnicode 408 0 R>> +endobj +389 0 obj +<</Type/Font/Subtype/CIDFontType0/BaseFont/QUEAPS+LibertinusSerif-Italic/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 390 0 R/DW 0/W[0 0 500 1 1 486 2 2 389 3 3 783 4 4 401 5 5 190 6 6 353 7 7 250 8 8 307 9 9 477 10 10 518 11 11 489 12 12 519 13 13 357 14 14 478 15 15 521 16 16 447 17 17 219 18 18 266 19 19 276 20 20 475 21 21 486 22 22 503.00003 23 23 489 24 24 472 25 25 564 26 26 444 27 27 499]>> +endobj +390 0 obj +<</Type/FontDescriptor/FontName/QUEAPS+LibertinusSerif-Italic/Flags 131142/FontBBox[-78 -238 786 700]/ItalicAngle -12/Ascent 894/Descent -246/CapHeight 645/StemV 95.4/CIDSet 407 0 R/FontFile3 409 0 R>> +endobj +391 0 obj +<</Type/Font/Subtype/Type0/BaseFont/NPCDIA+LibertinusSerif-Regular-Identity-H/Encoding/Identity-H/DescendantFonts[392 0 R]/ToUnicode 411 0 R>> +endobj +392 0 obj +<</Type/Font/Subtype/CIDFontType0/BaseFont/NPCDIA+LibertinusSerif-Regular/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 393 0 R/DW 0/W[0 0 500 1 1 390 2 2 447 3 3 264 4 4 428 5 5 316 6 6 220 7 7 250 8 8 457 9 9 542 10 10 505.99997 11 11 310 12 12 504 13 13 531 14 14 538 15 15 519 16 16 220 17 17 702 18 18 500 19 19 236 20 20 515 21 21 372 22 22 747 23 23 271 24 24 493 25 25 560 26 26 661 27 27 587 28 28 528 29 29 268 30 30 490 31 31 512 32 32 596 33 33 323 34 34 424 35 35 790 36 36 497 37 37 695 38 38 363 39 40 298 41 41 485 42 42 338 43 43 646 44 44 236 45 45 1130 46 46 685 47 47 597 48 53 465 54 54 730 55 55 839 56 56 272 57 57 297 58 58 557 59 59 503.00003 60 60 582 61 61 541 62 62 550]>> +endobj +393 0 obj +<</Type/FontDescriptor/FontName/NPCDIA+LibertinusSerif-Regular/Flags 131078/FontBBox[-48 -238 1072 708]/ItalicAngle 0/Ascent 894/Descent -246/CapHeight 658/StemV 95.4/CIDSet 410 0 R/FontFile3 412 0 R>> +endobj +394 0 obj +<</Type/Font/Subtype/Type0/BaseFont/DYDMIL+DejaVuSansMono/Encoding/Identity-H/DescendantFonts[395 0 R]/ToUnicode 414 0 R>> +endobj +395 0 obj +<</Type/Font/Subtype/CIDFontType2/BaseFont/DYDMIL+DejaVuSansMono/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 396 0 R/DW 0/CIDToGIDMap/Identity/W[0 85 602.0508]>> +endobj +396 0 obj +<</Type/FontDescriptor/FontName/DYDMIL+DejaVuSansMono/Flags 131077/FontBBox[-9.765625 -250 611.8164 937.9883]/ItalicAngle 0/Ascent 759.7656/Descent -240.23438/CapHeight 759.7656/StemV 95.4/CIDSet 413 0 R/FontFile2 415 0 R>> +endobj +397 0 obj +<</Type/Font/Subtype/Type0/BaseFont/OTVRNR+NewCMMath-Regular-Identity-H/Encoding/Identity-H/DescendantFonts[398 0 R]/ToUnicode 417 0 R>> +endobj +398 0 obj +<</Type/Font/Subtype/CIDFontType0/BaseFont/OTVRNR+NewCMMath-Regular/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 399 0 R/DW 0/W[0 0 280 1 1 652 2 2 626]>> +endobj +399 0 obj +<</Type/FontDescriptor/FontName/OTVRNR+NewCMMath-Regular/Flags 131076/FontBBox[56 -213 596 725]/ItalicAngle 0/Ascent 806/Descent -194/CapHeight 683/StemV 95.4/CIDSet 416 0 R/FontFile3 418 0 R>> +endobj +400 0 obj +<</Type/Font/Subtype/Type0/BaseFont/RDRXIL+DejaVuSansMono-Bold/Encoding/Identity-H/DescendantFonts[401 0 R]/ToUnicode 420 0 R>> +endobj +401 0 obj +<</Type/Font/Subtype/CIDFontType2/BaseFont/RDRXIL+DejaVuSansMono-Bold/CIDSystemInfo<</Registry(Adobe)/Ordering(Identity)/Supplement 0>>/FontDescriptor 402 0 R/DW 0/CIDToGIDMap/Identity/W[0 13 602.0508]>> +endobj +402 0 obj +<</Type/FontDescriptor/FontName/RDRXIL+DejaVuSansMono-Bold/Flags 131077/FontBBox[42.96875 -208.00781 584.96094 759.7656]/ItalicAngle 0/Ascent 759.7656/Descent -240.23438/CapHeight 759.7656/StemV 168.6/CIDSet 419 0 R/FontFile2 421 0 R>> +endobj +403 0 obj +<</Type/Page/Resources 384 0 R/MediaBox[0 0 595.2756 841.8898]/StructParents 0/Parent 1 0 R/Contents 422 0 R>> +endobj +404 0 obj <</Length 13/Filter/FlateDecode>> stream x������ endstream endobj -389 0 obj +405 0 obj <</Length 515/Type/CMap/Filter/FlateDecode/WMode 0>> stream x�m�M��0����C$�@�8�,!A ��вj�!h$bGNr��W�k�U�A�g���?ޏӍ2'�&?}pg[�4)� w���+�bu�vKj��:�)?���0<��:(���/e˗Z%�5(��4A~����4����X�u#���/�]m��� �Z����נ�ݚ��=�k���D��nKRu�{rߪ)[��x�zn�l(A�Z�ID}��z{��k��y��m�/4�7�-x���c�$�*k���Q��l�"/�X��-}�Z�D�_��C�+��kˊm�/��bM��(��X�x�b��\�)�K�״"kG�Q��$h��4�A)2P�h�3���Z8����h*@9��v�f���Q�ؗ;��"C�~i*D�� �φc�sc��3���t�c��;f�z�����3�8ǝ��1�1���u���$<��\�S� �5%�s G�p�'a��E<f��eݻ�q��Z��e��w��{���=�[�2�+ endstream endobj -390 0 obj +406 0 obj <</Length 4399/Filter/FlateDecode/Subtype/CIDFontType0C>> stream x��Wy|Su�O(ͽ@'h/)�^��*� @@ -1197,20 +1245,20 @@ Ií6}x���aC|Ӡ=.n�[SѓU(�a��Qw����64�]14q������h���SrF;�v�sS�*��ʔ 6�Bc�#�n���g��W�W�M������.��=�@<�<9���IW�8G�W�/��w�dd�Y�}{H�{oS=��R��,|D6,~��s c�����P҄��Qd(6�,˲�z�j)M�Ϊ�zc��?��uu��#�z��ѩ�_�J��bߦ�ߑS==��ܾnK]kh1W�� �P����x���>p���� endstream endobj -391 0 obj +407 0 obj <</Length 12/Filter/FlateDecode>> stream x����� endstream endobj -392 0 obj +408 0 obj <</Length 463/Type/CMap/Filter/FlateDecode/WMode 0>> stream x�m�Mo�0����ك����@mEjH�8�CM�{&�$�l˘C���'�V{ �ׯ�I�j1
���Dy��K0V����U�Kk�8O�1���W� endstream endobj -393 0 obj +409 0 obj <</Length 3652/Filter/FlateDecode/Subtype/CIDFontType0C>> stream x���{XW��q *W�YuFgl_��}m�j�ꪈ�w��"��@�%�I&��r�@H��&wP�x�^i��n�־]}���'�q���j�����3s�yf��~?��9L�ĉ&�9}sr<7K��!����J�-� <����Џ�gB1��P6��ϯ�!�����f��-�f3����f0�ӧ�f0��C�t���
�@蛌 &3��)"��ݐ��&s#���Yɇ��s^���h��w-��+�;���l��p�s"D�$~V�Bc��@�.�j���a�5W�3�V�ȋ�?��h�}69�Ǔ�N2�N�<4���`2Ƭ��^3��r3]�� c� @@ -1230,122 +1278,148 @@ TI��T�n�dL�*�UjwQ��g(�6�։�x|�ՙ��})ykc�}��{Щ<�/F��p�5�Qa��U���&w9�rRJ+ ^dGYa
��B/� �����f�K��;n��c��]��Ȝ�'۠I@�e��5���#"v�KK�v�O[.Y�����W�t*�+'���bz����C�n�ɦ'�뀰�k`�i� endstream endobj -394 0 obj +410 0 obj <</Length 13/Filter/FlateDecode>> stream -x���� +x���� endstream endobj -395 0 obj -<</Length 623/Type/CMap/Filter/FlateDecode/WMode 0>> +411 0 obj +<</Length 627/Type/CMap/Filter/FlateDecode/WMode 0>> stream -x�m�Io�0���Ӄ�䐚���$v��qОmq� -�)A���� �� ���qf8��L�mn\���S�;���|�|�vI���z:�_��st�S��#-�o�$M���s���ȇ�%�����=&i�ь�<�+,P�Dk�~l���$Mq?4���N��ɻe{�d&=h�ַ��G�7��҉v�o�
��E�����b��4�|\�}KYn�$��h�·f�]Ec��x��k�o����f�7S�}r0I*��w��,��l�L3�� -%鯥�SDz���s��B�b�:�m���8�WJ��WUU-B�⅔����m����*�"*U�CY�%T%�9�2�"*#�%���E����z�z��]� -�%T�B?q���-T���p -|� -|���(�R�B2�O2�����1�s
�\�����t`4a���X�Q��x�ʨK����g 2#s\A 'Nـ3�tL�4�12G80�4pg���k0`4�����h�yd�w�7`�p��9�,-�Y�Y�Y�Y���9J�,�>/s�@d�����9�݂/�_&��W�3�N��q��j����.cxs.��������x�ýn<_ޮ��BU����������o� +x�m�Io�0���Ӄ�䐚��$$���qОq� +�)A���� �����qf8��L�mn]��7���wک��f��4]��t`?�0;v��pO]����X/�4]��kr|��_��I=h1
c{H��������@��������4���д��t��+��!������[��i�x�K'�}m�5�(*�ևm�7�a����Z��rS'�DD�w�7���*�&�;D^{�}��tu2�-���IRq����g�e{`� �yU(I_�>����ϭ;
�u�x�5�[���A)���PUU5��e���϶��zNJ�v���ȡ,�*���uT���JAݢNC�A���d�'�jUA-�O�����C?@)�|v��WB��>B����>�R��WH��I���8s8�`�%��MF�� +�%5����:w� ppp� 32�%�p�
83L�Ns:#s�Nw�9�F#��I�V�GF}~��j���Ȃ��E��řZ��ԁ��k���b1�D|\[�#�-�2�Z�e�|�8��4Lgj��� endstream endobj -396 0 obj -<</Length 6760/Filter/FlateDecode/Subtype/CIDFontType0C>> +412 0 obj +<</Length 6806/Filter/FlateDecode/Subtype/CIDFontType0C>> stream -x��YxSe�o��\��^�WP�"�(� K�lJ�2Jw�{$�I�̛�ٌt�3�t�d�e�R��x/����B�ߧ~���<y2�ys�s~���߹,�Q�|X,��{�A� I�1ɉkC"�^^��=���B�y\7��<1և�C�t�����&Y�%���<����3� �臟�������_�<�i�ˍ��|�,W�lnHlP蒐И�Ȥ���q� ��IO��:�թ/O�2��'�E�>9�֓�bw�'=979)"6!q���>,����ܼb<bkȫ�qQ��G�f���n����c�-c���>,���=��t�w^ߞ�>� }f{�[�s���U��� -(fOg�Ϩ^λ+wO�������<�8z��1����{(��_U�D���Dz��I��>��G�=rQ���_����ѷ-~��c�<��ַe�����˸�M|�x��?�I�!���=���|����x��a�Fy4�W��p���q��F�]��G�}���
,�q�xh3���`��u� ->$V��T���E)ڜL)�3lgz��x�d���Iu��1��YI�T~�A���D�y�������0"p^�YGB�� &w��j -��dj�=�I�;K�d��B�8>�J�9y�Bo४���8rr������%����]t�P�f�Ƌ�`���3���z�٭�]4���ď�w�������Y��������)���a#�.�F¥Q�����+�k_Q�$oV<�%«���k�h�������$�F'%�O��x5�S:Ҡ1�H�Ag�g"�>}'ݚ<�kG~��`��'��Q��oM�����8Z�[X��{R�>P����a�ا0ZD����/��b����%���lwR�}�nZ��hE�:�&5j�ҁ3���Ό������Kxӥ��C�ty���EW
ך1ۛ�)��z�� ��V��2�S<�Dt�v�����eE�}��'��5��eƋ8���MM�+j�uā���V������8v�֜Nڲ!zk0��+�jm�c_����vw�T��G�1�Ш�Sa*%)V�qX�s��|R���o��blŔ'VW��WW'���$&ƐxN����j�γ�;���pA��)�Eh=��h=�O�q0�W���#��N~����!���h+Z4m"�"��A�����~(� V�Uqg�jua��s�æs�}�Y�g��1QIqq�3�0.> -2��N9s�;JWSg�|ů<�*��Zc�#�����Y$vz����-�����������r�.�]&��>LM�j):CN������R��QDe�W)Z�����ٙYSC�,��y�Ţ�6S�Yg�1On'��S�ѻD{�6��ʐO��ӫ��dGf<>B��oV��WT7��)'��=�ɛS�������}�o�N -�g�[����-����s���yAg==.�^�9�����uQaU^�������F���/�4߇���N�c����RĮ�i���ϡT_Ez�&�t*����Q�0�7�����8F2h�V�e�^T�k�l��JwHc3��YfvB�� #b2��ĥ�Nw�Ǎ� -�Tn���3R�k��*aݺĆ��Hn�7Ze�5dz��?_�j�7$����L�],2���Vz3�yD���3�� SOP��Lia������bY�u��W�r �@��0��7~��B/������9��-L��sq�6:::z���5UiUAW�kR�4j���&� ސ��Ў��j)S���Tѻ����,ܘc,���k�\��6g�����ݩ�.����.��j�0|0_��6������rS��a5>ޣ'::v�C>vmN�ڮI�\:�W!W39v�`��+`���Q��~���o.ha���W=�npѻ�|(�+�:��i�9�lG���}�C)���a�һ���Z�t�(Ҙ`��G��ڤ1�p�No4�W���k�u�O�c���0&i���ĈliRLTd|Jrz�4EÇ�x�w#�헿�6�y_���x�v�^�]?��Dz`��z.�������߮��i-��ǫ�j� -�'��u5���� -pz]g.���U�i1*�␕%����"IU ���1[�w&R��9�_��D�`YBqm�{(��J��KXPˆ�۸(������r�Q]}��w#����)�����ƚ>�,i�j-EoUEdo��Z���TmQ
�|!���Y��R�F�+rU$G5���}���F�T/%��̘���dz<�=��/��?�*�Fܨ2(HU�6�@˸;�&S% -kb������0�iH�BA���q�,I��G+�
��f\LMk���j�l,l������ 3�[T����=�9eC0�����m��r�t�垮�|om�Ʈ�/�hy�F������@� -�V�R�0��n�Su5�zc+��-<�0r���5~��DX��AE�VN��fc#q�7�(odaB������s�gĊ�C;�Gע�%�z�N�B�T���f#>�� -z��a0��� -wK�.p(�u���hi�놂��(�v�����8lj��B�A������������S�
��V����,<�H�O������Əx�e4mz��l�:*��>��0z.�� -�2U_���W4�en g$o�N%&��+@�h��.�<��p�vzN�����6���\&e���������鈃�O��ؐ��XJ�˳B,NI�2�0��u|�5�e������-�Z��5��� -�,9�ȟ@�nqG�MR�`t�||ܱ���1|���2n\b{��[N���$��
thX���V�ut^��^Y�ac�_T�^��in����A� -�w���45u�ǵh���Ş]0q���a4��«���/_dzKM/TM���������b�g���}S���S���E�5r�j�ZKh5�\
�-C�=&4Io����f�b[|w�r�4a�j��ގ(/w�SKL�Z�>V����s!�n!Ga0� �ђk�0?H����Ԁ�z�
D��a�w "��!_5�Q�e�(H�\Z�L�ĒԘ���>Cm��\uV����_�N���Uv�k̈́�?� [����T��?��6z3�c���䷝�f���ϙA�M��$�X�6J��^����%���{��g�g -��Q�]o3�3�ﴹ|=�hH�&-�N$P.7z����f�3.vr��iuT~O�'��r�T���ϗD�z�@|����N -��]2$m5Pf�Sg6���tU=�ӗ{��f�N���h�� &�{S�=�z�D�p���3�=b{%����H}����2�2G�Cbg�R�i.�tg�u;��>�|'��OW�̶" -kەgԋ�D�(Qi�1#�Π4^*��R�Ҥ8:�X��x�=��QX[M�4��TݻM�P�� ����#oF������~n)�n�'O�ﶖ��L���l)�DiAAi��ܰ5��#)�fy����D\�B*��X��&��N�\P]���b̺7I -@N�t�z�е�LS_�F�
����D�B� -Qv8"��Q����<��`.!�9��DCqb���X���v^o`�di]`����Ӟ����_<��?�i�#N�Y�D�{�y��rMK�`̥B~C˩�U�`;�?w��{ȻT+�.h8y�x�����)�_��u� +x��Y tS��n�^��^�P�EDQ��QfJ�2�΅�CҹI���fl��Ii�tJ)����2#�A&��;xx��J�-����kee��d���������1�b�������6,1*��5a)����-��'5�I�S�}ȑ>�Fs�y4�ɯ���I?�;��|||z�<�����S>>��>z����F?�}�9z���� +��
�[���6?.>-1*"2y��)�_��ʔ�S��.2lܰ[�V%��I77%92.1i���C>,��96�܂R<fi(��pQ��G�d[��f��Ƒ���M��� +�>,���=�h4�w^ߞ�>�����.���*k)����C�=Tʞ�����w9f����)�[���g?�4r�ȮQ����$�_�c�c��DzG'���o��a>��K�Dž��Dž���x�㷞x��^��~-c��u��b$��O=�T9����>.z\�����M/K��y����Q�YqW�=��'�0L0�8w�����~�t0
�ƹk�ͰO�f��7�4M�T�</:5b߾���0�3lG�B�&�����baVg2j�&JVU�l"�T�ݱM�E�V�rWHQ�ڸ�U~(���(�3F#���M���U������sF��I]�*�E�$V�R`�R)�${�|l�ܘJ��|�8i7���('�����<~C������荦�Μ�C8��96���E̗�zq�����;èWg�)����)�En�a��V�Sv�\A4����U*$� +�f��ӫ� +�n��nT��\�"��ȥ�l?G)U�rt&���*�,x����Mat�(.z��TE��K�ɸ(bK@6)��L2��P� �pBK)@/J[��<#���������c���%�6Z�{�����¢�6�Yb��e��l"�n��9L�Y5o�4�5I��]5��mR�IZG�x�k��3qd*��&��8X�KI�/§H8�P���Kڋ9ZX.D~�l�,ON���㈍)�vGǙ2J�S&�ݧ�~���~��N�{�k���j3NW�[>�4�պ<"N���0W-�fh���V�j�K�+���e܌�]K��c�A����4v�a��ɦ������N�Q�6>G/{ P� +�Fd�.Rϸݍ�EF�Ca�5H�����Sv%ב��ѶH;�im��U� P�)���`km��-W ����=B�ެed|]R~��W����,/m(:b25Er#�!���l�
�s��:�FG�UY5���1�L������Ēm)a!TPPª�8��k�Cb�-Mvw7e=#LU�e�;�wf$�k?�GO��Tg���h��N�S�:Y4.@�2����q���g�|�q�g~�>�0���Y[�YH��[�DI��^")S� �0�I��d*d/M1\Ǒ�;-C�.�����R4S/�_��
�1
��+���n���&|ܽ��"���?:���A�,� +'#�RW���F^�?=�|�Fo~: +|�]u\��${��)�����v�� +[:��LJb~�pRR�$)��W�?�!u*��TЙt��&j�3�wҭ*�Y�c�ȟ7찌D"fc�u +���i��P�G�xkG +2�`?��!��f@�p����Ռ�q��^b�O�v'���즕ًVP4��iR�T�m8)����꯰ww oZ�r�P"�^.nv��õ���&2E� ���t�ľ罕-����d�!]�����Y�wg����`�z��>�=mQ���Zy=q����������ݼ=��l��Bb�r�RC[��We�����5��}�gz�D4"-�P�F�K��F��z������۬���ۄ�I5555I��II�� +�� +Pc�ȳĤã�kľ_~�z?VK�Z ��G����+tyd�$d8�} +�|�@�%�C��s ���X݊��Z'{� �U� +Qu<�9�⒒(� +�K%�P{���~���U�)�˕Z3����6�/�6�J���H�:�`P���b�7[lF�5����V�@��n�� x��Aa�qє)Z�kw���8�3�E��2��hQy��ϡ�XI�q�/����M?��c<;���a�-�k�$v!'&��$�ƃܛ�K��\��|r�őYG�;��운e]Z`0�}Sx�?���zO}����id���2��K�Xī�o��F/��=��F����nn��/�U��9�d]��v�a��.�Td8�#�_���D��3�C~XU����6 +��a{7`���T���aӠaL'�61[���JTo���G3�Kkb�M��ώ���N-�t�bߟ/C��X���r&��B�W4����m�a��Dk�PzmV��&��(�᜶�/������F������6o�EXl�f��L�w�Ā�w'�+�:ۙN�����;�϶wu�K�%�Lx�T +�]�"i�[�IR��i��"fݾ̆�(n��j
e�5�$�5�8|�x�=nhZY/�»Tb81٭�f:,b��sϘ������;+�,�����gŲL�q׀r���/���Mx���.x�o Ū��R�M��21������蘘�a�r��ӫ��"�� Ө� +>V3�-��!E�{�U;S���Vӻ����$B��/���+�|��6������ީ�N������٪�ԅ|
0?�������צ� +C��a�>ޣ'&&n�C>v}N�ҪJ�Z:�O&U2yV�`�� +a���Qȕ~� +����ha���/�npһ�|(���2�����y�\[���jBm�L_Ũu�w���:�>h�O�ǻ����4��\����䵯j����A���8:",�It��2)27'96:*!5%#>'UŇyطP��Em�=Ҿ�������~Xߏe�|.��\�����灿]�@�jZM�U��*�M���SjTJ�?�-є����X¯�//,"��cmT��&�e�E���qU$�1��[2v&Q1!y�_��D�`�Bqm�{(��ʸ��YEPdž�;�0������r�q�+C�;�������Ƿ��ƚNz� �J����*"s7��6�Mg?]WR��c:�E��zf�~n�F��e��"���*��`��g�^���!�������� +��ߚZ@��ڼ�º +����k��W! +f�� ����ц����P�&c�|��K�R����ooI��3ܤ엛2��1t�/�h����D�X��l���a�!J�vD1�C� ��j'����t�^���DN���� �{ʹE�)U����1-���a�>J�ޅ�=��r3�%��u&,��o���8��֞�5L�Y_����t=�#�8F�7��#@kw{��Ɔ�) +xG'��Y��+=]��6���]�\���<�t�;M��A|2��ߞf�����V=ʀP���h�M�|��f�0�P�C1����TYd& �G�&NB3� +\��w�Y0�L`�+!��bR�Γ����0x��G�h$"wF�:�If��0��0V�����lxճ���{r���=ԝQ���ڲ�g�,?�j�(�p��n�1ie�w)$������ +�,}�mk��:�:��f-o�56��=�sz�����/��>�U�|�����I٥����P4$f��ʆ +HV�,J��Bqܜ��4�1�L ���z�6���b��������(�Bf�3,��D b��^�u���:�s�zd����)�Ң��d]�>�a�V7C�� ��dE�O�h�/�Y��UW�w�����c�ϣCl�z(��9}��@����1Ý[�Wn]8�]����&#���c�.����-�x��~��3���3�/�'����gd���l�#w��h.zţ������7*�$fE�>���R3ЋTȍ�$:�ٱ��6P9IF9�OY���+��Q������?�\
|��:m�n�J[�V�z�q�oYހ�M���j��B�e�8��Ǘ�����,��L�UBY��d�^��Ϩ�4�WE!��b*k��Fta�Z��)�Vi�$����h�?o��� ��m����� +��Ҍ�^���e�ͽt�Y���S�N�1"α���T~�;����FI��Z��z�V�������rcQ�K��P?oZ��X7�ȼ�U����ZD��Q���wߥ�g�\�yװ�G<�BQY�����<_mT�H��$7�㕻O7�&��,9`�Jr�<v���2W�^m= ��j
U��r�����R5Azzb�r��3�nq��������MbG{����`��N���OMb_8u��`����ˮ�g�%��E""55]|9� �����{k�U4"(<W�F�aG�T��"j]Z}+��+>&�s��5���Dx�VIE�V�}���8��X�7�0��C�YP��3�Ӡ�ۣi��j-g'W��+��{�M=����k z��%L4�z��t�4��C�ݤ�;�� +��l�QB�סU�Z�Z^�œ0��7|�i�����r®�!U*<9�%]�v�jH�^�O<� +�6�s>���ve�z�EaI�\b���f#U�^�rzʦ�4b�f_�HG;uu��Ӱ��
װ`�田͝�l��Y�gQ��mI����n<��8h���
��Js�Bi�ML�D�!_��Q�ρ�����P����p�eW�~�VV�TI��D���/�Ȳ�+�β���vSXP&���@�Wf���l��x�i��D0���_��J��n���+�6lf������t1͍��{P�@���];u1MM]�q� +��cg�;��J��r��;���S�+TZ%2y�$���f�)U9�|��P�v ^{�M����r-%ֶ�@��I�B{�>3 �t^�Ȗ�9��t���=���{Μ���ڪ��rJP}�6QbmZ����y3 +�����|�s�L��E�.�m.'*Yb3%�XR�{Q��u�sn����Qv�"{�k� �QCv,@|�o'IN�\��� +�'��e�Kl�d�� ��c +�c=8�7�h�s����aB���)�+�_�7�\ endstream endobj -397 0 obj +413 0 obj <</Length 13/Filter/FlateDecode>> stream -x��� -� +x���� +� endstream endobj -398 0 obj -<</Length 698/Type/CMap/Filter/FlateDecode/WMode 0>> +414 0 obj +<</Length 714/Type/CMap/Filter/FlateDecode/WMode 0>> stream -x�m�Ko�0����E�v�!���E��FbчJ5���T�(��~��F� -|��/Gך|8A
��|s���`��ːS��`N�iLL�Ϣ
��6��k����q��0#M>�H�/ùh�e�b�g�i�g�i�g�Ӏ��
� -�Ώ��3`7��T�383>͜�Ӹu�|�0��K����|gfx?1#>��|�P���C=K>�q~�g��c��Ӓ�q|�Ћ%fd9?*�OYΏ��3�|�X|璁O�ό�Q������-4��i_�b5v��!,���W{�l��i��� ��I��*�� +x�m�Ko�0����E�v�!~%mU!�P$}�T3k&Rq�<���}����}~�:&�w퇿�?��v�k�x�vY�/�z:�0>{�;Y�[��m=�Q,��uh�,�ס���?��������k��4��!���f����D�I��c3Eq���/�Mn����1�E{��
ٌ5��o�Ů �g%��fR ��#U���.o����k����:z +!����a��"5v)�����;�7a/.N�~3n�����IQ��>��;���ۃ3���RȯG���3���S�NB�źu~趵�aﳻ�(���[�V�y�����"�cW����]��]Q;OJ%U]C�J�����[@����*��kxVP7���� +�x>B-`c�9Y�1)Ÿ�q +����'�4�5��4f����| +�N��"�:� >�>��13���L���Cu��������Y�?�OC>���C/�|ؑ���x>Ad�?vF>����c�ȧ�D�6�)[`�6�)+1O��a���D|�Y���t��Z���7h=��c���u��&���ߵ]�J���q���e� ��: endstream endobj -399 0 obj -<</Length 13014/Filter/FlateDecode>> +415 0 obj +<</Length 13125/Filter/FlateDecode>> stream -x�ݼ xT��0�;۽�e��d&�u��0Y� !!�! ,! K��� S -��5�h�� -E�ai@*�"�h�V��E#�-L�s�K�����|��%�̙{���߾� -Ͱ��*���)�U����hT{ы -x[�l=z�/C5t���2L�����n�`��@�p��&<σj8
��v����) p����$�/�. -����6��� ��6R��4n�L<v�y�j�ux*�PȆyŮ���d�W�r�`�Wd�Q��Q`oQ��}%1oLq'���k�"��q�V�4ߺ5��F�)X����^�g?t�侣ƕ�4#g�� -��$��W^'���z�� -MJg�����I�ԼKΜ�QJd�}%+��K���>%��l@0���#I����U�$#Y�C.�g�J't��t=��G�2�������7�����W��Q<�����f�*��#p(_���b��u���*p@$�� � C�~�rI5A�հ�����(�#}�E�6eD�����h��rr�A���qI��\Q:��r�9i��v�C23�g;��V23lr -��J2-�_<�bɉ���7��(����4�'6oxA�3�J��1 畤$���� ��'��<` 8u�"��*�T_��:��a'Bj�R�o!
��6H����C�:;�yE�v%�ۍ�;#��P��G�#1���Gȋ�};���O�푣/�|zpNR��Ȏ������y��g��� -$!���r�q��}�_�ȇ�f�0O�>�ڐ��B;�F�A��-A
Y�ύ)���;�o�v�'� _���� -�0�,�FVRonџ�
�:���ڑ!�����-�@��U@A�5bP�5
�P��f��
Q|�q0�S�Ymӑ��V�5�q/��q��-z����)��}�?Y�r���@g~�rM�Hx -i!���J�y9-�g�kJ�A'z�ġr"��ȓq)^(W�GeC���a�H���2I't͍��V7�z��oO��;��ofҷo$ѷof��5���3����B#&ؠ7�
FeT����NfN�t:; 6� 9�T``��'�:�Ѡ�i��(C�[��u�p���(qFVt��Y�(Qc�Sc4D�(N"i��GѦ8�C�8�%J��G�ה���)G��� -uE�aƑ�I��d��<��̣�B�\���Q���'�e�d�!G�hƢ
ц$������<���B�������������B�����$�!�y�j�ŞS���/<@g�W₮��f#�C�s# -w���7��9/���7a�H�9|��}G=����9S֦cs��5��w���x�o��3�t�$T;��I�AϤ ��N
1J��a*���JQ(`�Yn��??gZ��4�%��p��9��Tr���Y�� -�U�����J��O�ŚO�w��f�v �3b�� -0��Lb#F��PV:;���R���Ȕ�XTafA���(e؋�t4=X�yJ��B4�8_���H^��J�!��n#�����5�gdb��"u�ɤ��iuB`�X�%[�1�>�9>����&1hB� -����q�3O����1M�_��Kr��/a���Ni��/��,�z�K�^���~R+Q�K���+�|'�|��^�z�f�b�a -,#h�\�L�V%iꣲY���-��I��A�_��b�6>�|a~��o�ԮsOnذ}�ŏ��_]�i���D�A`��(�P�C���j�IN�Nٌ:��*��&�#��5ВVj-1�P�抭�.�е�~Ϳ�:���N�Z{��ԅ]��__����E:��C$��b����
-�첸���ij�P-ش�5��:U�%�'� -� ?����5YbVM����bz3gXA��MC -s� ��T>=l`^���i��u�__���;���jE��C0D�B� -���k�k��s�~����ڣ��vV�l��ޖ�A�k-Z�nѢ�5�{�
g�m�s�����h$��_���_��w����w�v�۹s��v�������c_�������+�Q�cSX(zՠ��~�/��w�"�fW!��!��a�������c�E�{���!�@�a�8�Eb����D�����hӂ�" -�������=9�_��D�}�������{m����ޱ�z������Cч�m!��?�Ηq}�d������}��/�JH8������зYD@4���E:�a���`��튊�u�۬��d2���F.�c����B[^�?O��ftdd�!��I2n�� �O�;˭���d�ʮ-h\���6����q����8G��u�Z�t�&^g-|��g���l�K�j@�;����A�� @v\U���!3��
#c�
+� -g�Ja�V�-�L��u��RLX��!��A���!���� �٣�jBu���}ۚ�ӝ�R-�R?��"OV����δJ�$2�(DD^�Bˠ�S�M]_^|p���eG�<dFIa��g�;fo?e`I��%�C��8�����&L�ʿ� -N��:`Z-��8��pN�e��-P
�`TA*����ʡN��P��e��R(�I�\���T8
G`;Ԣ�P`�@��W�Ђ����h;�/Tb��bjB�`p���B V�]q0�D.4���V��$�B�h]F��O�Ċ٣��VZ"�'u�}�yr�.N�K�G}��N@��a�a��1�8�Xj<f��j�h�A�AK�����-y�]����dM����o[_ۓ�6[G���������_;����C�_�����rx6A, 0(� $�&#+0��_�l��RL�݇6F-�1|�^�i�1�P�<0� x`��X!��A�q����e�]0*`)��e� -)`��0�,��s�f���Ό�Y*�X -�*`LR�_�낲Ȅ�;��~���;a�S�j�P/(\K!RE� 0�a��XP �`�U�]�R�K`.��a��uS����rY��f�\X�U����I!����qn�܁�w�� -�%��Kz��P�aE@��5?@˜ -Eຢ�?�`,�qB��W�.�_+z.V��qe),� -(�J��ؔ��-��P��s�?���.�0C� -E��JU�T�_�����uÿ���{��Tyط�t�X�嶬o��r(S�|}{�LU�N� -Y�
�� -�Ժ��T�Q���m
�T��$@��#4�)�� -��*'�\���������/�-!A��`A�<�C�j�O͂�P�z��2��nsໞ@�Wh��;�v�������T ��$%�����qC��~D���/��������?�� -X��;O�v����gOV��/V<�����BO��\�0<��Rȳ��u�/��ƯJX�~�M�xVpv~@5z��b�����e�|��N�dy�w�g������+�C��ߏ��cr�zw���pԸ�D]IP��^]��x��������춛���܀��^i�JU��|�������~B����M���w��-6u�*�aq/I<��{86Q��i�,X -KQLX��6�O�����[����'>�p����h�}�w+�Ywr8�G��;d���f��]��o[]�E�B�=���r7D��X��9��V}7��?�~�*-�Ҹ(��N��Bu��P�u��0��a0�W����q0��$(��PCU�V����5N�"�X�_����U�S F�-2�b��((�b�>[%��0A�:ƫ���8
E�Z�YC`4�C��p5��+��꧘?F�E�t"����X �z0�0������P -�0
l`��0̐����L � �� ��! A,�`��pt����2�A��\�F0A -(ӡ@�'�� -��@� �@�2� � -O��ҁ�ձ��aꘪz�W�o -'�������MNnd�%߮&�\�a�p�� z��v��\_K�uƱkS�5�#��:����:��7'W9�G�b'_Ց�/��N:�o��ݢ_'_\.e_ԑ˥������7N>� ���"r���:J>�K���K���|�ɟ9��#������:�?:؟8��6#���|����KڷY{.i���{v����<'�rrn����$�9y����������ə��
N^��5NN�b�����$'�rrb������&���?���p��a-=v�ˎM'�|�����pi��^��P�`v���� �2'/�����wfr�F�s�"�u��r�'���&N��̞� ϙɳ������J~�7��z5ٛL~��N��qwk,%����a� -�����d� ���A�������)��v0��#uOeu�<��t��Q��Z���^��t�n���<�=q�<�%��^V;�<�����mFRS�e5��z��U{�V+���fN6q�q��m�d���/N�s�3k��������5?]��p���d�����*3y����<�I� -����f�� -Yq�.���>����8Y�IŒ ���,)O`K&�����Ed!'2H�
2�(���\NJ9�3���p26�Efq2��9�1��f���R2�
��T#{�N��NJ�d2'�8�?"�ݟA&r2���ܷ���d��s2%�1��>JF%��E�ld6)bcE�dDa(���!66��+eÎ��P2t��
�&C -�l��i�>����+)h�����>3l!��� ����M�g&�f�֧��&=�7��f���{9��٠$��� $��k�)%��ـQ$����v֟��Q�_Z8�7�d���LN2�,���d;K'i�$5��RCI�>��%�}�Y��$7c�l_������:�t��%qr�>���%�8�%r��I<'q�
)`�B��B<��Z,,�wL2s�&1�$zqY���(N"#�X$'���0�I'��8C -�s q$���+̑L� - �ۉ�Z�l�XQ2��ba��(�,f�X�E�9���&b�xdҳ jF���IOLB�����>�8ч�BdN$��$N�����
�Q2ù��P2��fT�aJ���o#�?����
�@�� +x�ݼ xT��0�;۽�e��d&�u��0 1d'�@0C �����,��@@���5�h�� +E�ai@*�R$Q����h��6����{ν�pi������y���9sﹿ�۷s +{ +�G/Iv +n +��"8RчHPiS�F)�m��f�-;;
�K�m��+����-ۚ��n�=$#�O�Ì<1`U #�&'#O�$�b���/�(�{�~��b���]#}b��} +�:Iz����/'&�l�L��?>���;��[����0H�*�N(Pv"��(U�&Rl3�T��7���ަ��+ʵ+��N,��!N��F +i�9�gX��{�l��5����!��gln�����<��Q����\@0��E:�]�(����!���F�Ԓ�M�Z}
�sE��L�'8]�t)�6��Y��P��+VU��@BB���L7}��e�oF>5u���<}����f%�m_9|$�E�h!���snd!?���gxk�=�W�4���+� +�|��l$`%��&�I� I��)-�m�B���Z +t|^�Xc �XS!e(�V�� �g
��he��6i�n�X3����']����}�N>�n�>dE�=��q�N�p����?h���8���_${x��^�k2סS�d��f� ����5���*�5;;�۵���q�w\�š�'ו����o̮CW7�߰eˆ��v���c'�W�W���t��>lm���W�� +z(�E�#,�R�� ��c�����VH5�Y�WJ�iK�h)=#^c:���8'�p��W��K�<�?"B�8� �Bi��J%��57�fX���D��?u��k��Aߺ�Hߺ�"�z�N���`��@6
�Q=cTr�:�9)��d�$�&�S��a�#�4�LF�^�Er�)ojf֞#
J���Y�^LPfQ�D�QO����p8��a,Ra7F�� %�8� %�]/S6�ò�l9C�c�����L�u�� Ɖ��x.�M�y�Y�e�������$�!G�hƢ
цD�������P�D�<<��V��d]Ma�0�6�NAS�H�C#�:U��ݧ�^<x�N�/�yMd��z<�c�&�z +��l�ʘ�QU=D�Bi�� ��P�q�=J{[���ʛ/��S��ٶl�-;�����N���zT��
���!�������p�nY^fV@W�2{��2�D4S�.��<��G<�:|���k~���~�6l�z��G�+O���-����k��<���'�6��ӻ1>~̘�m�<��� +2�I� +v���,��IA�.b�r%�&T�ቕ�P�b3�3~�H���n +������93��)�|uQ�h��WDo@��jғ*���Qgi��6ېP�$�w�����y�z ��f��MZ�b������ْ���F�H���c����5?=a�V��BP��ӵtؠޗ�4�tۈ�&Q�Z�6�)N��ê��,N�9(O ��J>e5��*� ��Mg+4��@�V��ꅲ�m?ٗ���۾6QF�Se��uV�-�g����Zm�S` +�d,�Q"�!HT�dR�[&?Yv��!|�)4
9�J+����m��L��O��O�}+�f�V �3b�� +�t!�T�a���~?J���a�*����
P��� +�7:ڕ�Zr�h6�֊^�gi���Z�ӥO\D�9�.gǦ�T�"X�a<Z +�Y�G��,�'��dLd���2'�ݜ�R����'�Z���y������_�Vi]C��r}2���~����f�zB���S�II�rѲ�������;� +��p�dRZr�:!0D,Ւ���3����m|p�4�c�`< +.}�]��4�QY������T�Dd��ꯪ~�s+�^��0�u�7XJǹ'ׯ߶�������s��'�d� �B__d�ҡCDi6� 'u�lF�c��`֑��hI����j(vIs����S�ڋ��_M���h'�W߬:ua�*�w�5�n�u�`� >��"}mh��6�,.kvA��-T6-{
$�N�c ቯBd%�mgM���'<춘��.�k�7�aP~?<�<�7�M 럓�?l�r�_��+������i�բ��Z!"a���^'��%�0/�$O�� �Q���m2Rf
�K�@�i&��tjM�\��(�<�ZE�g�:Lm-m�l�{ۡu�7.���d$�eUE'u�_�p�ٿ�r�+gQ�u$=��=�X���{�^^�V<3�c3k���'��Wݰv3`->�xu�'��w�>�[b(� +��Q�U
EYX~?���y�� +�2�2>����`څw�]t�%�w�v�wv��~��'��~�_�/�����7�7���8>N����t\>�;�?n8n,�)dK���A�A�A݃z��O�1MAj.�%����U���76�ő}����w�����[��|������J���Y}�F���/�����>(����Z�(mB�D��ص�bߜ��V�y�hD����< F��!�I�Lp�d1�0+~��=�$.�Q�9tF:=r��8Ԡ�?� �=�W��v�c#��M��g��;Q�q��Ũ�� &��8�
�̴>���H0�G*j��ş�"���d���Kt�K�8E�LW�5���9���jlf�0�c锂���B��u���}!�OH43d
+����>.�(k)A���(9;��7./A�v�����o��̋�Ғ)sΣ_�ESǗ�<��Xr�K��a�F���_5�5s��!1����On���^��h��R�}q#�-�EQ �z�M5�LE� F�����D)��Z�Z��C�st3k B}Bl� b���7ӳSճ
�_A��O�_D��֎��W�$���JVPH�31�}2C��"�P�� (��Ghj�(�_�>u�z��8$� +���W�_����b�궿�|dg �#���o�ƹE#�/Q4wc�ߒ���#7�C=Ԗ�w�5r���#�ol��HJJ;�ac#�-�7���Fm<����4w���Q�4�{����9r�����S��*n8ܨ�M�4�����T��3 +QH��J��ů�6�}�����Mq���2y��r>@%u���6�'vh��Pqɐ�7)-�[,�< +4�[bg� +�>R�-3����Ίt�P��nc�y�����o��]G������˨��/�˼���P!��A�D��F�����m< +7IQ@��2�?Q�Xk$)�7�� ܴO��t���a����@ŷ���KP�{%����R+�F���y�%��c�.S\X�W�_jS���[E�U��Tx�=����fU�92{�2bl"_�����n۶væ���>6��锆���Ϗ����]�$�9�gϑ?����x����G���Fz����|I4t�۫���|����=5��h���+���ڶ�W۶�v۶駶��?�m�m�������z�6SŶz�Adډ���5L��i���/����%��8S&�G2i?�_�O����4ơI��L������}�q�i��Դ�,�+�ˌ�)еO�>�����Or���Y���$��m��H��� ��|���՞o�/����d��8v2J������;���twk��M*��ظ~�����o��Iu��\��Çq�h��~�Aǖ�Q���o���]WcK��TH6�h�E� ;�A2��q& ];� ;�6�'N�L�X�n����'���l�x�/>�����N}� jn�&�oI|'\Y���Q��f4+-~u��3t��v,{��2{c4Y�Y�~�:���s>���}�^�x �ڹ�|F�s�>�Ϋ���JL;\/�V���ʉΆ��#��T����0�.�����|?��+֗�G� +�J�De�Ťx�KJ��t�H!"
� X�T,O��'���e�]��6��˿�8�Ƿ��b�?���Vܶ�C�J�'���CP�)}e��Q�onT����u{ +�@��aU���4��Π SR/��(���g����Ҳ�A^�I/!&[҂B!���i��X���Uc����'�%�6�hV�;�g��M�u=m�]��ls�U>jk�7+�jɠ��Մ0Г{���+�-�5���-�n;R�9!���!2|�'^�\����#��Z'h��,�A��q�6���h�y��/�T������� +��ʟ��_�����ɽ"< +��8�VSS �?����� +��77U2tː�B�/�{�����N�}-�iqi�xj�kϙ�=hɹ�Z�p�d����7�t ֤Ge���|A.�Q">��r�Κ�h����P +�a��S�l�6���A�8)(N�A�SpV�f��S�VB +��u�ʠN�+P +��e��(���\���$8
G`T��P
�a6C����Є��P��h�/T`�f3j@�a3p��1���[m8��Š�8o ��~���x~�D�yT�94�.�{��LbE�v�}/-�ޑ��^�l�^�۩{_���пjl�b8d1�5��?6��ƙ�APl�"so�b�AK�e�冲P�b5Y��c�����������\��=�>Ծ����[��Q�X�x�q���}Ǘ!��!�B�t��c$�|� +Xsa��R���0 �!R!b`��ȃ����RX�`:�A/��BX3!b` ,�c�`-Q�͂%0�2�%��`L��P10Ja:,�9�������b`T�X +E@ ��!ʡ��xu�%0W�.(K�Ⱥ��Χ;���l��F�� +H�%P�f�,���*uɰf�R(����N�����࠘5f�(�吠���N +�~te�s�!���5H�����ohb̿�yn��B�⊐���b�1P��-.���*�2�m�`���f蚣�"�,�pf�wgu��IX�&q)��.T�_�sm�r�K�9Zf8� s��ŝ:>f���`Q +����IG�_n����.�R�ʏ�ѫ����Ĩ�5{�`�
p�N��<՝�Ӱ��L��N��M�r�e�� +��0[��j:�A�"()W�Y�rb̂�*<mNw=^�� +�v�c �S�s\��0�U�p[�}�m���x!� +-[r��N[Y��>��s�*aۚ����S�4nh�|���S@����}��y��'�X ++T|g�^@�N��S?���Ɋ.����;=��]���+����T +yv��%V��U�o�)� +�� h�F�X�RS�����i�,�Z�n�,��4u�q%wh����1�yL�\�n����+ J~ګkR���;�v^Yҥ��vsw��w��+-W�*Q������E��O���Q7���i�3�8#��ŦN\�6,�&�ePs�c��a�Ϛ�N�E�(ń��h��Dw�k8���9�{�sI +�C!�|��e�zGU�q�G��*,
��1*l���߆C!�`��|(V�ȇ�*�Q0F�=F�(T��r�"#�~����٨�^�R?���*.��`T�U��J@ۅ�Hȇ10���<(T� ���긨ς +to�� +�c��Qm?
&�( �#�>H�!�q0�0Ȃb� +}`"�!�;8�0�B&DA(���B@�X���8�����à �`�ɠ@L�<�O�� +��D�^7� �ojjj�nlAZj`��. +V� �DN8'�������H'�:J�_E��^ž�������z���^k�c�&�k>�G��m +��
�m +�oN�r�tr�N��!m_am��5�:�E�B��\¾�!�Kȗ�����wN�� �sri>���%�}�>�A>
#�Ԑ�9�'}�`q�|PC�������������*�n?Һ��Z��N.�c`8y�@�s�N�m��s����'o��^v��789�����k������A���S����NNl5�vr�D��|�5q��cS؟��?��ǎzٱ)䘏��#��!���˜��� ��^���r����L��~N^��N�q�{i�������t�<��ʞ�I�Z���$�߭"{��o9���3��� +c�%d�o�+��F!�6������vp�=��=���8y:��Vd�5�橣������:J�ZC�|�˞�B���m����'��'��ǽ���˪�Ƕ�cv��H�*����Tn��J/�b%�9���FN6���
�������:N��Gǒ���y����*���_�"�\���4�G8Y��2N*��X��T4"�}@����t��,��Ŝ<��"N��e�5daYO�p,)�Ip2?���dn:)�A�%�9��I '3g��LNf��f��tN�q� 'S'�T3�RB&�N�dd��$#��I��L�d<'�G�����8N�r2���V�ќ���"NF�$6��G��dXa(�E +�Xa(�ʆr2d��
)!����(�%����,2(���ȠF���i�@˳��F>=�3��2����/��|f�kDk|z�kҳ\�mD>_ ���(�
�Ar8�ߓ��$ۚDzKHߴp�w8��O����$s8��z'��,��tkK�$-����Ij8II���P��a�GIR�`�d'I�X,�K��^���@��&��e��ܣa�xI��8��I<'q�
�c�|��B<��Z,,�wLs�"1I$z8qY(N"#�X$'���0�I'��8C�8�XHq��H"v����f�c6N�(�Y�b�0�J�w��Y,Ģ��d`f1k�2�Y��5"�KԤ'&�[Y�ȉA���C�N!2'Jb'�N���
�Q����$ +A��d�V������F���[�� endstream endobj -400 0 obj +416 0 obj <</Length 9/Filter/FlateDecode>> stream x�{ endstream endobj -401 0 obj +417 0 obj <</Length 352/Type/CMap/Filter/FlateDecode/WMode 0>> stream x�mQ�j�0��+�ArH��%C���C4�=;��Ē����H��Rz�����̮���x�ꊋ�shUg.�}� �[ź�; r�S֮@�,:��m)�#����:��?�!�yg�j ��n����� J�� �C<'�~��B�$�ҝ�j�9K�Q��Q�j!����uI�̍(ܬ�t(>��a[�Z�r`�N�L @@ -1353,7 +1427,7 @@ x�mQ�j�0��+�ArH��%C���C4�=;��Ē����H��Rz�����̮���x�ꊋ�shUg.�}� �[ź '�����y�* endstream endobj -402 0 obj +418 0 obj <</Length 550/Filter/FlateDecode/Subtype/CIDFontType0C>> stream x�%�OhA�gM���4Ő��3H=$i��J/5$Rh#بH��i�wew��E��2��$Ĉ �^z"�jO9z(=�(Eؕ
V�\����{��N�0�?�뙵�"����r�Z�4gΛa @@ -1363,131 +1437,146 @@ x�%�OhA�gM���4Ő��3H=$i��J/5$Rh#بH��i�wew��E��2��$Ĉ �^z"�jO9z(=�(E� ��
- endstream endobj -403 0 obj -<</Length 9/Filter/FlateDecode>> +419 0 obj +<</Length 10/Filter/FlateDecode>> stream -x�� +x��� endstream endobj -404 0 obj -<</Length 370/Type/CMap/Filter/FlateDecode/WMode 0>> +420 0 obj +<</Length 407/Type/CMap/Filter/FlateDecode/WMode 0>> stream -x�mR�n�0��+�Kp�q�P�)Ԟ��PKĶl���W����hvgwf쐗�q���'�+�Z���r�脐�b]��m9�k��b�����%�Ԓ�:��?� -�B> ^��:�&�����F� -%�%�|H^�֛�I�k@�7���EHnz%8{�$���(�Y��0|�[�m-/ -���� +x�m�Mo� �������5��v7�"5N,��5��فI)�����i�ڃ�����w +@��DT��+���+�WP���l�����=�|sF0�Ii�r'8ƾE� endstream endobj -405 0 obj -<</Length 4132/Filter/FlateDecode>> +421 0 obj +<</Length 4907/Filter/FlateDecode>> stream -x��X{p\�y����Y��}Y/����W~ �+$�ɒ��m%�XҮ����E+��c�@xch� -����
q2FI ��P�3���R���ą<:�xL�4�*�:眻��0M;�j���s~���}���w@��P�{h��B���x`w����wl�> -`S ��Ny��0��8K2� -���AgEr�'����Z:]F��3t��#WM�LM�`b�$L���2��Q��)|�ܘ������ V��p&V�.�TV���6��I<��c`�03"�%���xW�%�(&�%~�_�L��<mv$� -a��
��[���G��qv.��L��^��˿# -�S�����ֽ�r�5�WL�;yJs]����e���{�S��������J��N��⮮��*+���c��wOqw��)go���偢-X�[� -�6�cc�p�cͩ^���f>̩�llߛ��L�$��UhwY�+��X��u���~֫�e���}�{f��O�Q��Oo6���; -秞H e��C��kJ�[R�g笲d���5��7f�f>�ڪ����PB���b5HZ2ߴ�T_]���m�P\��α��"��*V��94W��kS�0��'��A�?��������w{��;�����~6km2��<�ď]Q���v���m��W���g��������ޮZ�J�I@;�/!v�zsXp�ϖl����2VY����a�����X���cVE���rj�_����dt�}?���e��?���~���3>���O���~*�1ã�h��*�P���;�Pv�2N��,�!η�ұʼ"_�IԭҝɊ�"�\Q�L��*Ϧ�Z���:��_c�Xy��uM��&O��l:մ���=���8{��X��^��:���lW\ -N�`N܌� �ÏnQ -'0�^�ÉbN�Ű"�Ώ��!��C9RQ?��1 -'z@7��/g:�-���c=� -M�c��u����ъ&��<�=QL��Q/E<�.z~ +J�Qʻ�Gb�P���B�o?�7��pB
�)&�����D>ק��[�a�ӥ\��B{�uY��RqHZ�|vUWQ�~���'�XfF���S�o�;�8n���'�.q.��^�B̏��� ٦�NӢsF�Φ(W�
� �8��P̏1����n�6N1���i]����;F�Q����Qع^�(�btT�Z�p�u���1���و���3;��;Jtj�sI�/�Ś^D��#�չ�������E��l�T��T�b_L�[P/����N��{P�69րv8ъ6�`7P�z�ɸ��1^(w�4H�tJ,�ц�����j��kD�Q'��c��Q�v�ڂ6���hB���z�fԢ ����;d7��5�E~��;%Ŵ- V���1f;Q�6��c�7�A� ���vy���`Z#5���h�w�i'�Њ�K=r���Y��m�/�����bT���K�[�!YK�Lq�!���)�6ʧ�Y�eqG�¦�!����.�oB��V��.-ԣ;c����!o�F��O�k� -1&Tz6�f�%DEĴF�M0�'B��%=��-��R�� �D܄RMrv;ZQ�Z����|l����*L��*'�\�IħYFv:� -o�j��q/Tj��k4�G_ -�Q>"�E�]������%�@�EU9&������lD��i�gt�5/�7����H�PXQ�#(�:)���4!\U��1&�^�8�"ל܉�c�+M�?Kjmb'���97�h^�����̊��$�pK�\ѷ��E�o��P�[�%v�>٧�^0�J���u&��WC��E�
��e��^D�U�)[�b��R�S�"K�y�j���"4ȇ��-Iu�r��+�߹�X���c����O#���TX����p��,��P@��\�x� �-���B�����N���6S����*��1� -�Q�C���èX�Q����g�����k��O� -���P��Ӧ�ޑ:�?O/���f�G���w���w��� ���� z���?����{v��Ng������w2�g����ܫڳg���ҳǵ3�W�3]tƫ�^M�����\FO?��?�����oy絧���O��'k�o{���z\�����f�/uz�F�r�D.��N��#:=��)���:J�t�����~�AZ�}��z ���<�_���w��;���
7��6�}�M�ܝ��ɣ��� �S�N�-�������>:f��O�Q}�����#��o�wzh<��� -����tH��H�d���|X�;�)�W��G)�KC��|H���m<x��ǵ�7������t`����;}<�����>�����B>�zu�ѩ�(���v�������+�����l�+��f����v{�S���4�a��4jە��&hW���ʦV��Լ�Ǜ'h���tj���;�u��t�,혥�G�����R��js�&���C۬���L�U�����oʤ/�і��e��oL��9T}\�1�n�j�7��͛iS��oʥ�r��F�P��r��A������e6�>�*+r�ټ��*r����������lT6m�zS��uY��J��&xS�uk3��,Z7�^��hkͩ|m&��fǽ{�iM�4���\����Ź��HŰ��\*rP� -/��˹����6��@��;��|*X��:�\��+=��A���|���������Yy������,�g�<�i��렜Fʆ�gOв���LvV���d�����Y���-���˳�R&l<s/e$g�JO�����E����t��E���$s*OJ�$�a�f�)ܜJ�i�}A�)ħ�y�6Ad��T@�b�qV@��f�{N�u��?�#�^��u< +x��X
pSו��;�ʖ%Y����l���ن�*�`��
1)$ؖllKX6ء4�����q�lK�7!)����n�d�
�m�di�N��Y +i�3.�t�6q��ν�I����vw���zz���|�;�{�� +��V�_�<�����b�UM`yx[�Y[�G͠�X+�a��<h,O��E���aXM��h�A<Eo��r�}��r +F��~�8���Fq��1�W��-�1V���>V�γ8V�6z�x#x +?b`O1�*�y���xW�y�8F�y~���]L0�4f���� +b��
���⣭�5v^6u(O(����{/�+�Ve��.���I�c�c�� ��6�A��:|�7!^��$U�#���Y,��畕�+X��q����gcFLI�$�^~o"�~?��UR +��Q�]��nlq�x���p�W�%�9����!���TC��ŷ��y��U�y?n�bQẆ��+5�j����uM-��[|���r�T�1at��G��v���=�|��Pފ�,�E���6��S � ӛ����,��)*JΜ_ +˹�s�)V�����*&Ô5��6����L��pP������M��AIV�0�d�_����eV��e��({��?�h��v��%5��E<Ґ�M1RH>�ڗnv؊ɑ�(�29>)8\�:n�R�rM�vG�gYEy����y�P]��];�=�2~�eh���{�wt�O?�d�R{U�@�@{���)@=e�#^�+��M<��ݱ\!z�q�X�����bT$G<ִʥ(�e�rZe麦��Z�%��-�).+s����X]���mg�Z{E{I{ç��d�<��iw]�UIخ5�.����X��w�#UI�/���d���S����q��]�̸�`b�ԛٷpA����|GZ��1�rZ&όO�_��*+++u��T�u�j��$�fM�4>��bVQ�_�q�Y�Y��3�e�T���-X`�f�����1�^��7��g���kz���Oj��|'��Bw�`C�rt��c?}��X���k67�ڸ���?�w*������-���E�G +RU{��GT�s��U���TV�ԡ�w)���.:�]����=9Ύ�{g��������B`�2�J�`�Eu��ʢc��q��#�%q +_����u��וLeX�9-��7�%) X?LP`�W0��X>8D���@`��ˀq����Ƶ�X�ڸ&,�o�ku�5G:��&���u,rY�q�,d\'����u��a5�a}�B'�юEpR��N�aN܊.�#�~���V��NԢ�(�U�F7�h�b��7?����ňC5�Vl� +�;��U�hCPV��̬E� +\_ ��!pE��g͍��
k��u�+���H�:?;�t5�J�z�x +d�^��������ibя!ɷCV�]<K����E��Bs��#Mpy���3�F��u��KX��@��6�X+��4�P���қ�q�oF
��L�Qs� �O3k�oV� Oo���Lfۛ�ˍ8�*�JK���z����gn�N8���}3���N0���Gz��sop.�F���B̏���3�M�;us���~6E��l�������1(uֳ�!��SL�~q�DV̌����;F�Q��ϰ�QعY���ݨ���9k�¹7�Wrg���g�F����ӻ.��D��=q.���\D��;�*�d�\������E��x��NKWQ��Q�nC����h�v6`
�q��(�j�'Ј
،ZT��2.UrD����xj%�l�X:F#�$�8%��T��u�E=����H5h���(�ףu��6���Q�M���ke7�۫��)毗\t���0��lV�)�l=jЈո����x����F^�Gy�1�VI���\�M�����MhD6�I�)��
��҇5h4|���H�Vc�E�X���,YK��L�Y�#"�^Z]'���6Q��(�9@��y�7G-7I��P'��6I5���(n$w�J�[Wc��O� +1&Tz�Eg6Έ��i���`.�O�"M7�$�6;:7ʎ��%�&�����Ѐ��H�=k���
muL=������D|�ed7b�1CǛ녾C�i/�T�W��l:�Qp���,��zU��L�,��[D�c"J:s}��6"q�d�gd����7��"�>M�б"�gGP�)t�ꕤ�S�굫��s-|��=�{��Jg���3j��N@��k�ܞ9����Y?���yf�p7:�"OɅs��H���n��hf��}����]�~~�������!��"���2�y/,��鶮���K1O����7;��>! +.B#��G^�ߒ�U�s��{�<�>|�D|�$��ݰ<EE/�%�d���}>��D(����3'���'�V\ׇ +
:g0�wz�!� +a3�/�}�D�](���A�.<��9��
_����;�_|g�� +ud��> +�So�iޫQO�6�s�z���]n����Ν����w��.�<�Ύl����wd��B>��5jӨum��.m���o���v��C[�l|��Ztl��6{h�F�M��BM�Ը���ic��otP��6hT����i���4Z����)��a�M��&h���G5�)�fU���t�J��yh��Vޒ�Wjt�g��-I��xZQ��WS�g�yeU�W?O��˗����iY��/K���t^�����<����Y��=>ZZd�Kө�$����T�N�E6^�ME�V^d��1��5��K�y�� +�x���I|I2-c�x��bS_�D���~��u�0�����t^�O��t�^G����tʳS�<;����Y�]�� w�SN���dRv��gk4�����<;ee��,;e��aV33�<3�2uN��<�J��j���֑6����d_N),��L��CV��['��x(9��'�$�xR%�&��lJ�O� ��Lq��ؘ�L���1�8�@1�C�j�fn�#��>�r3�1o��)���II$g��1�;x�-���_������x endstream endobj -406 0 obj -<</Length 20856/Filter/FlateDecode>> +422 0 obj +<</Length 21203/Filter/FlateDecode>> stream -x��}[��6�~E�43����@��M��w=��Z���èc[��u��mdž��#yD�H��ZA=� �*V2H$���ۿ�����ӻO����w_��^�E\��?��������ݿ��{��8×����˻��k?]�� �6q�0
>ď���������������#����?�������������ӟ��_�MB�Ԡ^z�(�D� -�V6!�*+5S(�#��75y��0�_��.��oߋ���Ǣ�?��߾���B���U/n�
���_������_�� -/��h���7����"@1�O
��G�����"�[�H�&��_���C�O�ό}�G� -Ox���c���76g��8��B��j$D�/h�ϕ�kˁ09^��r�O/#��Tp�R���)���IƔ�^Ή*�:��FWƎ�K�0�5e��u���X���'��sc�n~?�T)���=�NA*��������J�+�V=j=����Ě�USt%�k�z�<*�;e?��Ҩ;�j����>9�O��d�,@Q���R8���oF`�uWv���X��rF�2��:T�4sb�&��t��H��:k\)���;�u`M�R?�ˏ�r�L��~�ˇp��9�̓�zǎoIj{4��`9�O�h��Tc-'�>�Te�X����v25)%Q x$ޣT@$�����_���0�{�X���i0�Xk�YTl LJ��؋HCp�\~�ǀN[e�����������Sb���I����o�S��F�0���t�{ 0��%�������b>\�@go�3��'��Ͽ���@���G��G��R�N�"�@�Oû��K�*�{c�x�g�Ģ~<��u���MG1�3j��8�-��@ٽl`|/�]�S����N�ZЖ���e�[jt��& -_����?X9\��ԏ���C�;��G���+�n�H��@>w;wA � ;!��
��w�P��f}������~8R֏�.遄�e�k2k�V��Z!��:��?� -p���`��ҳ~T@�w��@ݔ&.Q�9���E� P��_�/�Ń���["z���az+B�^i0Z�f� -���'��w�3�ч�'�["z�~�H�}���n����?]��B����yp(�����}� �����LW�"�M -@���F�ڹ��'J^�-�(Yp�|R��-���s��6�7^�O���b������;�e�����!������7(;��]�(RM~F��f�ө
m$5���RO.������4� ��48-�z'O�u��$���<
�'5\��{N�u��赓��Z�Yw��Ѻ�;Y?�Ɇ��DpZY��|�F��֟�!=���1m����U�0�)if[
��@���J�[��`|�[���������!�'~�M�9?�;?f�ZU|�,��,![���j�U3�,�YY>���@U9>"�)s�<� -�g�ĊV��p��076��&If�g�H�B�龞�ޚ�y�k�'����:
�2����%`������1���1�ٱ}����i�.ڿ�<-l�`s�e1�j����D�t�-;��W��o�[�r�J�iq�]Y����&���p\�ɵ�c�Q��t9ne�is-�\��ko�P����\Y:��(�p��/�S�K �y� ->Y'Ǒ(%X/��w��A�&
h�|:FjΘ�D�[�ؕ�:3���c��/�%:�D�~�7d�t�������6����re���?�X+�'��ML�3������8cX7�F3˔H��gk3��(�RKJ�T]-h��ث=@⳰*uP�NQ�~������k�|^F�F�O�*gd�$���iShSE�ܦR��h�=�4��(
��42�����ȻӢZD�/@���]+�T�� -�Vv���C�(A��8�%��=�]�5���V��٢q&+�GA �*�g�?~F�6�O�j9�x�������\��NK�s -���ୡ��<�w�!�h�Z�T0�?4���u��Ӗ -�jũ8m��N{�}��6�O[s�{w��O�m��䗲�{��6��w����i���@1�d�:����;��E����w���9�>'�jѧE��;
�N�Ӡ���`�Eu�'gnP���Xw�S�����48�h�3�S���ԟ��jѧ=5s�J��4�[���p�V�OSp�:M�g7� -ȈT�w>�+�Qx����D�<��p��n���3��B��9![O��%TH�a�2��NM>T�ɀZ,7`D�>]��L� �:����my7q�<謜�ʁ52YV�9�I/H�2*��y̹�<@ -���}�r*�;O9��[I�P��&��]���A9��&�/<�J�iT�[X�Q��_�Vխ9�Qu�N�jѦ�V���E���_+ -F�ٔX�z�dRr��+ �6��>펲K�-%���x�i?�����4���C���T�i�b�������;s�2��-�y�*nV�q���g�����m����t I�W[I?m��k봭�R4�kഭV������@ޝ�Ւi���AHL)g]6w�����/ox��:.�����BR�y+���<��^�����e�r�o�K�ү'�fe/��䬟�0�!C���L�+�ɯ" -?�~/f -��x'l�ν��ܛ�oK��⤕"���<���v��I^O��C��3R̾O��J��L���HX0yQ�~��*C���%�<�
�hYR -p�)�g�iK���SisP�y��Bs�< - M^�7�_
���϶�!�#��)h.��� -Z �h��S���+�Dy�LY�:;y+ϔzV:�������EW̤�K�VE�?ꨑ,���f�����oG���X�!҈]��a{Ⱦ5F�=!�Ξ�*���g*Z�*�GR�3��nz��g�CXq�[^�y0l�B��u����;�4e��%���)7����x�㛌ǘo�;Td�+2L�C:TB#����d,�����%�N�)�"!��
@��h��T��ȸEJk�i�5�� -4�j�1g�QE�ǫ�}*8��A�d��7���iM�w�re�'��92
��^��.w��k+��Z�:�������2S즤ؿ���k��*m _e{SEߗ�j��2[\Կ�w���peaW��Wf�� L�q����������n���t�Nm`���VrO�
�����w�VT��F�:�晴�0w���b�sG���������t���ȴ-�q)���u��u�g:��$��LFB��j�b53G>Uzv�x:Ţ����s+�s\�!ڶ���VPҀ22�h9P�L�bv�����i�k�x�3�0k���Z��.���SY]�F]A9!t� ����Bߖ���y��tA���x�U���B
�2�kF�5�2dG��u�q6��� -�X� -�k(��)�����U��`�E�i����m}�l�d������iSr�[�w�8[��ES�� -�AK�͏�K�w��d��i�BOȚ[�N�1�����~��7�d�MF�,�|ie�aIZAP^ᤚE��`D5B%fE}j��=�9��u�Z6�S�u�ԓZ�#(%
=�K����@�}��HM�0�*�+t��`�#�2��t�z�!�=�z -qύ?�A2}�\�oS����V�����V���cu��0�@��5��Qq)�S���\e���O*p���{���ܖBaA��5����"oY,Ӳ�[�7��t��ّ����0�T�uK�s�j��%0Zh��œص��78�c�W=>��'ـ -�tZJ�tn�Y �vǐҋ�S�d�{��x�k��e�)!�y��1�Q�͏���6H�\k -�n��"��x�%s��3R�|�������t���
���S�B�Sw���w[<���Ki����Qēv���x�ݲ�0
<O���9
v��Hd��h:�rԶ�ˌ�;�D��P����JJ�+�h��XҠ�y��\��������XԟЦ�a35�v�T]"�p�0[i=n�F�[y��|��f�����|��Ώ�N%�4�ڞ5��X -ӗ˟���L��`�^k��*2@�ΐ��A2X�*T�z.��'�F٧9�憺��&�k�U���`a��*Y�Rx�}����:�/koc��������2S��"`��RO'�q��rz�UД-]{�@:�0& -[�`/j�A�ۿ^LDQH�1�I�i'M��ճ[n���j���v�^�p9�� -�e�����:%����!�C�ɴ��$`.��5)Q��s�`��l�5�̍4�M�l[i�¬̲B���*K�����7�lEg[�����t6EE�u��jz�D�s~P�\.! -�����K�V{�w֣�C�(�30K�i����$�2�d�M�[����R�̵�'YN�� i�<��\��F��B�`'��|�\?���Hc�QH�u����͈�DUS�F�*���v�IK�YE���]Vp�P]ZM�(�37����C�]��e�~L�W<P^��X��J��~tf��[?x,tGK�Ts!q�D�ۙʋp�5�k昲��MAE���e�9��Q[�˔�Ez�?<�?Ô�I��O,$9����Ej(yn8�l��e�u�<��TҋQ�h���\]rRBtNuX���m��� -��$�����l��� -� �v�e=���"�8�ڳ��9Cݜ��Fm!i�3ҝ$|��-@I"ٔ��~�H�=T͓��J�h-��O�Ѣ�3�ߥFg��`<�k��5թH�����H<�>�F]ޤ�s���`{<usd���]2��'��jc�nn��Y�L��|����3<�[������{� �JM/c t�h��D�澞d?ڢi���������FJ���Y��\+Є�y��m���z��_�)�0�-:�m���E��E�������7���2�:p�,�즹�r�ϙ�,=�}/��L ]�5��V�
�tj�M�$���Xvd�S�jh�������� ��VPw�-����.쀙R�a�MXi;�]�^b��{�y��Wu�wE��`@�����]�o��z]0�
g���O���o!�0P���`d{^i��^;�Q�`Y{�,�o��밎�+&��t`TqM��G��[b�Z������Ok��37WJ���9���x
Jk� �ń��K~���ա��րa��yjІ�#zƃ1�{6�`�C�N��E�a�x���szd��?ٮ�u!m߁g����A�PkK�� t��)�d��S��^���0Wms���"t2��3F�B�,��s�(����F`WFK��H��7I�����C��R�X���QC Q�A���& ��ۤh��9'��Xh+o�Tkl?�o��5����f��[,P���2�l�fp,��=��7ʼ����{��]���S�1��p�%�yZ6ʢ�����۫h��T��P��2B�iͥCb -'X����MᘥA -|�ES8j1?<�m{�ն�B�߰+V3�]�0�ԁ�U!���8x�s7m͈$��[� -'�!���*6�HG� q�o\�NTlK��y�0�/7){)����)�M2/�'$��y�V��fK0�zsJ|���4E ����������Te3�B'jX�y{ -}�Ы���R�v�^x -}�Ы���B�����ۭߧ��<�!W�pz�~a�+A>�P������9o�rVx�oܹ�r6��[۞k통Vs�( BcÈ��h�)�mB]��ԡ�_ME�* $�����������-�1|�W� P��}Ì�5��bWo�k�2�W��B�$tWScͥnwN�o�����J�/6��$(���7�\���X�fl-�ܖ])A(:%�Y���V@O[kv�-�0¾��~�Y����j'ek����D���g'UW1|o�p�9�� JXn����^� ����ZE�ɑ� -����5�^WCFI
E�;�P��N5�w[��?E ��l�)�H0kP�5%II-`�pwB�ܞ����p�3o`�_�m��#��,.p`���oX��T`��V ^]C�}��S�ۤ^�[i,�_Vv�Z9*�]�B$J;��R�-�z�w�F��ż�Ta�b�Ī�R�RE��> ��f��S�Rf�N�����NX����a��=\���B�&�Z�Fc����>�rY?1U�a���Uw��*���TKN����Q��������8Ë�cGG�����5�߷G���9U�
*��d`�e�W�T�v�S�E^K1h-�����)��b7��\{��2ƪD[٨�+[!���?̏��G��[����\�s=���Ɖ��;��`�o���s���*��q��5L�K�K)a��ZS��)E��9�6f�̪s��Y2+�U]3RV ��f�2b�c�F�m�8Ͷi}m�}G�ܭ����=��kgpY�]7�Q!�2�!�ʰ��W��4 u�gnU���������[�+˽f�kʡn����J�$��a�^?���|�d�'f��%&rjڢ3��ܮ5�58 -\��A�-ZL(l�얟���+JD!��� ->�T�v@�({����v@iͷ�H��\3{���C���P�h�rBi̶O�j��� 5n��6H��t<)�fŊ2�gc��Oy�nf��lU)�3Rr66��~��e -eW��xhC�N�̋��yC��8�~��^$��V�X:0�����`�0L����p��p�:8��2<1(���-p�6Р�:n�K�c�JE��cm����E.���V�uE����,��l��}�oޢ>ЦD��+�[�g\AT0������+� -���eM��A.���Ry� -�Ky�[��<:=��:��7�C��@l�EL5�]����4d�.�a}����ML9���#��(f�V1�H�������ƙM���y��x��h���i�����k�k]kӔ>�sZY���I����D�c{}�_ّ��bQ%�}]��2=<�͈��ɺ���&/Лt�����M_dh���j�qM�d.���j�w���3�z���w���*��-�J����I��2YR�#�!��PR9��SF��C(Z0V��z�����4�@�#������s݆�3���(�J� -���sBI��p -i�`=�}�8;��7��З#j̶Uf� ��K�_V���.�ު�w��G#%����+����-H����xcM�kWS���ﱕ9���'�d����!�}s��-����n�]7[����qV 8�t#���&�6��Zc,����k�\�?�N��k��*�#����ӥ���Vh�5�4[ -����a���' ��2��{^%`x�n�7<vҜ�w�N��O1������iI]���A-8��%d>Da���$#qIߐ���)eU22/L��'�6�S�8;d'N� -��sҗ�v~싡9w��@������fUS�J�=���SS5��Q5��j�118�*�U��A�V�f�h�%���J��4�Z�{��W3n�G��a�v�O������v,�RN����T/���ظ`R �\0����&���O r�۠J�*���u��f�!_�0/
3��&� -6�E[K������t�5�b�lJj�3n�/��S>���0�!��qg����H��Q�sw*K�����mU�$�"y����сu�#��@ 5�,��X����E���"iN���^�PF�ςX�m�S���se�뉉� -�7����Dl7hA�1��>����C�1z�.����C�1Z�>���Z�~ƀ�����&���l�ӳ��M|z��ӳs�����t{�����=?K6M4R~dfr�D��O;�^L�#:�*Q�X����}P�BV�����2ִsG�|�R��� -�F�.+9�JJ�V<�F75����dk*���tW��眯)���;���d���;ku%jZ���#�z��:$A�U��x*�M -]U�s�+���?\�+Y���QJJ��y3���j���|�5eޘo��jrdn�ϣ8uT(at�*75U^�߁��m��2SG�Hh���j���n�U��⢢k�������E#*���Q�f<\�۩}4ߨmͷ���v�2S�wV�T��x��%�Zd��f�{b�~�l��?��8��I�'0�llj;L�S-N���UU�6����N]%$�L�9�G5C���C��J�Ϗ�T���2
��6'UlN�����k���S��T�9���:܇�5���|�5��9��N=�z�)���]�#E^��z<8
��_�T�N�<j���g��k��dE�h-^j�>i���h��Yٌ�k�x-���|���5��w;U�S`��m�Ԇ{[pI[wP
�[Ux-��ľ�*���A>�MԨv��y��J�4켐ۑ��祶��>��|�b*u��z;.@��jyxO��Z"^s��ySҨ�͍��h����g�t�R�.;5�Ѡ�ߜ�u�f-� -�h'��z����c2��J]'�ގ��z����϶ZB\k�e��o���A�㶒V -��"-�A���m�&%�h�zHE:�9`�ݧ�w��/4���|[�ݿL�zH�ɜ6rg�� ȻG�z�E��Iy��o,��F��B��H��F�j�J���l��X۳�vj�=��Gi�Z��=&o�uo��O��]�f}�^*��T���f��w,����BG�I�?�q�Pk{���vb�C���ש��*R�%��^ϲ���w?q�wi�B��H�?P0:yE��ш�Th.i�ƈ�W�{%����V�3N��}Z�!�4��W�no����~l�9O�c�Z� ���M�Ѝ,��ς$L��_��4$.QE�1$����Z{qJ)�Ȋ�VsL܀�"3�ۭ��8��*B:�)���J��Y�8BK_��
�{�W�9�����L��n��pRi�)�P���q>Wv$��Xv?��9��PR�$��#�mzrXH��M*kq�59��2\�azM�N',�!�d�}���/��ƿ��M!��0e��L5�V���Aw������]r�6zЌ�(Q�1b� -К[9���n#�R�J��X9���:���/y���c��Ḋ��6�FvK0(�@3���U��W$�c�m)Iv0���Fg/��hp��������K�����9���w����W��&���ၬ�� ��v2��@_���}r�w��op�K�#e�h� -�n� -0��`���}��8�Õ69;zv�� -������.x=� oٷD��q�I^ -�M�a�]//�#�A����_�����D�1<������{�q��J��ƃq˔s�S�����g���T -Y����L�����0bg3�?R���>=H�u4�D�nxF?��DKD�Oɻ�_����������>p�σCA��H����I�9#
X�l,�'
ί�sX�h?w�tI"�9L�*6�M ����ٹ�c�$��A����XŖ��������7���R��:%��Y���!FQ;�Y��Jӎn5(�z,��4;���̥���q_�e��<XlJ+�� ��M -�B�m���OA4�GF-Jmd�pl�{�gEҥֲ�@�hA�nh"-vM +���@6���U w�ʬq�C�݄Q�oJ;?��rS���^�6\�˰�LLz���z��Ki.՜J 4��k���1j�~�(��V�sL��������%E%y���K���M����meSV�"�m�Rد!j�f6��cKIIHz��_`}zM��Rf�#8G�=���]���'�7AA�߁�yD�4q����C�`7��/��+G)�%�T <��MF�s[':j�D`�����$�4�b���18��.'~��|>~*��jg�B��0i�oE8�5W������`}M��|���+������<6S҉��ݝ�z�8��D�n�ۺ�_m\w�o���� �q ����!�F���fN���.��"i��^vj��N[e��q���Ab��#�g�ڵ��-���?3 �2�@ ��"�ug*�u��]P0F�pq��δ3��ƾ3�`1���.UP���īe���Yb����D����7kVp��dh��L�δ��K=Q-����Y�Q=L�^�|Rr��E+rX9g$e�� Q{��{JY�ov�l�R-W��ɧ8넣f���"Q�в�K��v��3��*t��Z\��k==��馣�W��P8
gE�R��o�p)"�2��������7�=�&s-�b��,���;Ϊ�w��}t���K,u�3H-�/�3E�S�h=�94�`�J�1��M� -6vh�B����4-�vM�v��ָ.��C��UG�.�
���H{��y%� -�\lH���}�F���L�B�Q�k���yTW�߮!on��� �\{ &����Ҙ���+��������ֲFu�6|���w ;���su
L��$�szS~�;M�6Iq���&캂�}}Zpi0R�v��j����sJ�~��T��IA -�e���Q[�#�q���Swu)Iz�N�����7��AD>m�Ӥ���P�KZ�2��ӕ�GH4)��Q�m��U�a�FlҜ�mQ�|��������
ќ���B�連,X�)�
���G���;��$��.-5A
��$�>�������jS}��9}W3� -��"���BP�˾�(\�58{����@:��b�bVI{g�Q
�t��(ۈF�P ���G��EI'}K�d� -e�� 2l\?�o��h ߙ[��&�B��$�
���u=���BI��s����ʁ�v�WyW�k;R��-^�/�Ċ�`����H��Z�s���+��� ��f -3�w� W�*�B�G-�������\-ӱ}�B�|�$��ڝ^��ƅV�J��2��a�Q0���u�a��ֲۤ�k��WY���aS�fOx�M4���<�R��A�gt,9����x{��)�kb���g�@���[�]�Mm�<V���%�a�� -K���P#���\�91sn/T�ЄuT^���05�ic5`��bP��N =c9���I X�r��8�>m4�83'�u4���2D�e���V݀����OS�N�[�ʾ;����Ɯ!(`�2�?�88��:)t��Wh,^J�_We������ޚ}�� gC��'Y�4���'�^�iU�z
J�5j4�Vx -m6�[ w]���&5�һ�kt�r�h��SWs����GEݺ� - ��
<�a5�b�]ѩ�qu�z��6���y�ݼ�s�(�"�=)|e��b -����VuF�i&�-�n��fw���vYDƢT� [��#c�?厼CK�UV�o���v��Ж"���cX�Hlr4|�h��b;m� �L{���}�O{�6[�i�K��O�����i�9E=~��L���dV@3������������J⥑�BڪN��E\\h�|I�3*�.� -]�4�y�I��d]U�+�]�T���Z^!�{��mut0���=�����\"nP 4yb8�Μw|t��^4��zK=�||��q�iN���]��K�ļHs4ͮU����.K&Y,�-SJ��(����<�w��Y�6�D����o߳��ﯦ�aظGH�Ϩ.u���>A��2�wi�״��t��K�^�Sr���+�2�ذR8��ȇ��V��H�x�dڮ�����x����0�F+�������g��A��t���?��9�����lǩ�"N�_�"����3a�d3�s���[�$#�J���� -���!�I� --����s0=VИH=K ���B�� }~A��j,�Ѿ��I� ��P{�R2��v�{����R|&����'%�:�#D[�{r�d4������\P�w�k���˝�ha�Ͳwk��+�� �1��9�EH� -km��̥'�o?ev��c5�������>�J2��i.��BZ�k -����`.�|�RrS��5�����M�U;`*����<Y�E,7�W�����ةn<u�y:��)M��` -ͣ���"(4�*_�:�ࡘ�.��3_�^��DFp��n�}ëS�?w���Wp}� -��שQX&P���s��������ٮ���5we3��b�kޖdX ���:C�ɝ�k"(���Ἲ�����E�c�U����iw��q��S����aowvi�yې�e�K��B�5xA��'�,BShL�{�'�e -�@�Ϭ.ji��8���o��لk� +x��}[��6rػ~E�fw�o�� +���Y_d'���\�<y��Q�3�8���ɿ�)^@ +5h)��8�%� 6(�5dH-��� +�V6��T5C�֑��75y!�aX����/����7��E��������ǯ�(���r��Ջ�Dÿz�����������"��"�@m}�MPut�/�_0i��?J�D^�M/2�����������'|*~f��~%U� ��������'���� (���m�c�8�6��l�����>�� ��������S,?;�,S�p9��뀺\:�/E[ SXSd\a�?��H��1~�sl�������G����G܉��J�g8{;5��R鉾��ZO`��<1'e�]awm#^/-��J���O+)���;�j��>����]2O����|)*��ba�����#\��G�4ʀt�Iu�N3&�s�*�KO��xYʳƓ2R��Iց5�K�(.?��͔��~���p-H�TG���o Aj{4�$�8r�'�h�Tc-���U0Vbh��L-��B�l�$�K?���:h�#P����R��$��Ad0�XkATXl +�j+~K-�����������×�UG��9�n���@xT�����-��v�s ��d��z|���m +ԑ�@�D�����A����_������D�1<y+B�i0Z�F� +{�~ͮ�]�Ss�JM��-E� ��G�%
�ڹ)3O^�-�(,8�j>��~����{y�J���벵��*�_]O���_f���C"�8�����LJ�e�"��� 5�=��Ф�v
����IP������ H�u����V4כ0y��k� +��^5ۢe9*˦�\�PU �P~��#��9�4^v/� r�
��N(B�B`�� +prnYs��U�/E���v�WMY�����U��H�>3f�->�f��������b��Cl�%����(�Ŏ_���ǒy7ّ��� +i˕���F��U
�F;�`�N �ÿY*oطu�ܸ���~C]�b�p��B"q�M"d6'��a{�1��~��~J�;���[6���� ��S
�?�F�l��
��_�V�3�h�\����(���!�- ƨ�~�fHC����O`�o����W,iXދ��~og�K��=�(�ȹ3tzg��,{�!�>����;����?9/��Ƃ'�C�Z�\Ҿ�:�+��j�@V� l��6h��^%�Ӳ��x&hj$�����`��u�ƳFbE+_@���
�̍M���I��w����T��#��[s3"Ox-y���S~*�*@=��<���s�
S��g��^ܝ���[�"s�*�l��,�~mR[� +9�TǎS�b�<��'�ǜ�V�8ձus���.���w�c���<)�+��a��:vX�}�ˍDP"�yV�lЧrV @��r��:�r��O��H� ܩ��B���E㩜mEީ�-*gX ? +�U�<c��3Ҩ�}jT����6��
)6~j��Nթ ~Na�S�5�wj�G��TAU�� +���_M��fS����¼Zq*N���ށu����
�S�\��ݶ��ζ�:���8�~�;>ڰ��lk=P�3L"[�Ҷy�ֶ��Ѳ�N{��z�sҨ�}jT�N�S�j�;��� vjT7{r� +�Y;�
u�:��N���'�4��)r`������O�ܳ�IKu��?<��S\y�NU��UA-@+�� �B����5N��1�;��Ee�T"�%e�A��'�N��6�Y7Ѽ�Ԭ*@Mڶ��*m�H��υ��k۠k�5���H�������1�����ג�*>��(�M֞��-8� ��SU<w����)��K#�Y��ƚb^�����Aa\nm�\M��Gl;�b>�ag��|ܓ��Sےw"Ol-uJ���E�~�#�j��F{u*_��ZMާ�U�ݩ}-j_���X�ʤC��& �&��,Ip�>uLܩN5H�;թ�(�ԧn��:թ�PwjS�6�6���4H��)''���ߘo��!6�A+���M�N}�9�@�� 7I�8�v���7>��뀳'�i�,� �э��GǬ�A}���� �U���?u���y*�O��K-AHA��ʌāk�Z��ފ�S�_�M!�Q��ݖ�zL�j�m�6 �7z�<�2I���1��ge&]m�ڦ� +{�C�����nW�>J��=7������� �Hs �S�B��:6��ؚ�C��Bb��O��`�U�PM�&v^� +�j�>�� +�N�l�8����AaF�ϒ�r�&e�ܦ�<��+�R��`�J�g��rjU�fg�J�A�;u�E��Z�TP���n<Zp�̃�gS>D�9ä��� �6��>�N@�5%���x�a?�����T�]͓���X��B��ŀ�T�;S�"���5�yA�T<����Ϥ"0�x�X=��9&�"���r��S�Zy�N���u+e@�����*�Y����C;w�j��Z�yM�$���E�;�R�ػ�����x�e�U ��'�c� +rq��VУ|y-źɅY��� +��ʧ��I�Yً8>9��8��zwb1���g�U��<��e@��5�K��>��r=�OceK9=S�f[:y`c�������t!IYJ�ܱ����,��vK&��j��@ϊ��`X����6B}�Z�؉�.��n�i��%OG2��{�+Oe�h�w�2��ʙ�\��1қc�b�vz�7��V��yŎA��!��n���E�{�'�8/��H��*��py<뵧���-x;�����"�<�gW��c��pNl
�< Ҁ�T;���Pw�_���V +^wX��6�H���k��w��cnqҢ�`�I��B��v��I^O����|�T��O�iU��T���HP0yQ�>�&S�U��+D5�8W�76�BĚ��h��"�S�ݔQG �fVp&OEv-��w�E�:5٧�d%"(��hO�:U�E���e���O]���S�]Tf]� �[�\�u�4\�g��aR�^buL�y-P��ެ8mkX�P��zu�G��u�jnB���n����V�+om�rN���:�C�>��_�VWǘ��0���Q�3D�y�Z����Gq�nn�CN�Vi\��Nw{E��)/6T�KLۓf��TY=�6oj8/X_��e�O䨊�Uw��w�f�GC�7�>T#*B���6�yz�����R��ī�W���<r�+^I'#�+��lx57:��q��!7�% +��p��g��F;MB�@��k{K��_)����l'9ƫ=,I�|�g +��:�`�B��u��afz�i�>�Kx�9B8 +����z���Mƿ�k���*{�+{$�ԇt��X���,ۀ\j��T;��� <X4��G�Sy�d���,sL�h�j��1g�QE�dz�},8%��b���_�4{ZӍ�K�\��I��F���u�K�r��^[�^kA����k��e��M��Y��k��*��W��l���RP̀$E����/cI�9���� +�¤'�(����(R!>{ߌG��F��/����܀�8z{7n`E�h ^g�<7h'��\>v�h��A���<V����_G�ݨ��GaDH�3��2Y�����X!F����n2l��|,��̂x:Ƣ����s3�4�i��-c��Pӊ���.f�-&��Yg��3ڌ�|=��|9]v�+V9]�A](A9!t ����Bߔ�������@��ܼ쪂��9��g��kD�5�2d������8 �L���X� �k(��)��e���UxQ��w��-��h����a�������@�q~����l� cp˛���T��B�r�i�l���^캾E�PNn����~�c�;�,D8��x�Ը%��a/?�i!vV�<_9�>+"�*e��B�8nEar܍�?o��4��$�k��S2�:��Onn"���H:bPnn㹮���v$>�.c陀57��c��q�~���`��s灬4�9CȪ���r�[ K3P��ׁB(1��T����1��'$�e���?��T�B/A)4��������I�N/�^�]?��Ajv�#Q��\a��K^J]���[ߙ�y/�zr*��c�tn h��Rs2}�ڴ��tn)X�Y��i��I�ݳ��:��%ҹ�����4:oq��C�-���[�OJ�Rh���� +�%T?7���zpS�b��B�X,��F`C2�5/1y��.煇ln*U�].�W5]�-�m��I��k9�it.�@Ů��]z�}�������vv�E�`�4Y0g�hy�k����=��E���R�ͳFCs + �:��0���� +�cY����\��_�Z�6��W �K��~�:�HҊ�1�3���~v4Xy�� +��C �������`g��g���nή��w�5Xjk�����Cc[�0K���D6v��|{ݵ +�"[t�����L���xZ�h)������$'Kt>��z��IPR���c��o��,i��~R�Z�А>�N�v�͢�B�V�Qj�NR]�p�@���G��� v+nS�/+~ct��}�J��x�c,�DT�P�Y���@���A)�NK[��Zʇ��WP�=���!q�����W��nH�����Q�i��BWW��g���r�����U�A��k�!<l翜��Y{S�|J�fs�?�LkUl�5��S��!��[�ſ�j�d�y��z�U +[ü`/j�A�ۿZ�����)e��f�N�*������x�����&����C�Wlh�Wy)���fED2���k��B��#H'�ěC%ɺvoi3���z�ȩ��R���
%��j!"�B�u mk诩Uұ�ͣ;���Y�n���pW)Cr�y6��$��mO�@p�o�z�y���!YC�\��F��P�v7�ͬPYa���`�%ߘ���u,[��V��~sr�5�MQc�:�v5�Q��H��u�%��
�*&K�������ꊧ��ࡐR�'Mj��C�Z�,�� ,\���
�*g +yijIrY�����n'� +=S;���q1h?�m۞�;-�E[�`�z�H<e��[k�:LT�<7;�M���@�?���,
(�3����������VDž9�A+VsG�Fa�+M�V�T���X����$���
<2��}��2�/�i,�7O
�@%���3�Tq���~~Py��X[�̄j�k��e�籥}�S*��ܾ�X@Qq��XL�6 +5��Hl��������-kc�n/��}E� +c~�k�5W�����Mߴ��ƚ��i���m�}�:h���i� A!�x?�|Ӗ�(�~H��ތ���/�eW"E�o���G+���9�ؖ�n�þ�S�o����p5�Cl���h����}vBu���
-�C�M&���)���+5/��U�Ҁ���r
���b��p������"ܝj(�c���-ix�OQ�0ی�C���dCIRP=nx:��<��1ag}�3o`�1���r���N[%�'����V��^�J��r�3��]߶�ռ����ˊ����H�Z��DiWFj��%Q/���Qnl1�6e���6�j2�Z�� ��OBo"Ld1����) ��{��� �y���l��|���N��o��Z�F�]��e9 q�?1T����Yw6�*Y��l��X����Q��ߗ��8Ç�bG +�0��g�m� +Q\ˀN�?(*Q3P"��l)Y3PZ�mc'��@9�̞3��f�<�Ш����CC�1�>U���� +���m-1�n���`W�+�t�>�|�+w3է�{�J��A�l�����k�i+�RC����6d��ռ(ʘ���(����J@�hňс1FPLJу��0J���W�-f�a��p3�����L��d���@#U7q�]J��V*"���#Rj��(r)����+�T}e�8e�!6��2,6���<@��ʯ,(o%=� ���m��1@?AT���(kڟ���B +Y-�GH�v���E�h�e$�j֥�X�?�[�TT���"wv���B�e ��<��,�����M�K��t��˴���twb/� �ے������শE38Ϥ�W?m���j�������h#���e)L<T�7�%����c(�ieE�#�V\@w��2+�&��Et��?��_��� �=F�E������]� �p��F�Qj�/%����w;�cvk��47.� p��2ȇz��ΒO���)� +�����]{��fJ +Px�\�-Պ<in�)%�/!݁>�6!?,jV���,O{ㅹ��)x�f��GY�q��S>�iW^�/�%�5��"��$�y�e�xݭ�_x��J�}}?�MW��Ǖ�f�hIFW����1 +��e�����/�@p�&zV<ş���'�,PG��uG^{�I��ʙ�+���x�>~xKD���7�7{0�e��we�qΔsF����=�Tw�1��) +�_L�"G��� +�U��w��Y�h{���}uB
ٶ�lB�f�ӦU�_V���.�ᴤw�˦�B���� +k(dz(�t��xH���uH(�g] e+3��c�d������Q����2ijm���n�k�f+x��f��n�|U㤙�N�5�R* +h]��3G�����4�`�����;�8���݀����� +��fM�:Ff:��ܥ�˿�#����a�j�v\�9���ξ>Gnr�*�9a��jc1G^%{1G��e_���oM�X�M�X�Mw�L�$���-Ŝ^sd �Ҝi�F,|<o"�*kJ�^��@yj�@���-h߄@��9boU \�yXr
����_ìр��!�&�?TM��2��Ղ' �ҼȐK�w@['+X��5�j�ݎ^��A���E�Ά�(����,�o�ϩ͞W�7����9���:#�8��4�Y�t���v7�_(����%�j)�ؠf.�|�����/;'~��`�9k�5Wɤ%t ��O�������J�C;l��/��<A�N��$<����{�?B��s���&��Uot�ɴ��&S"w���[�˒����̴ʺմ&��j��V���q�һ�x��!��rL m�2x�F�èy@' ��2u��n�a�tw�n��c'�~�!����|�cH��9�+~!_P�с�R�̇0L_P�r.�
�X�ޙBVu Kƅi61f>�q +gFv�$U0X�V����ڹ��6��j�e��r���YM�+-wO�jL��D`>����i���l�@Vu7 (Zq�ѣ9x��<7+1Wx��xk������*/�+nC�*�W�#F���ƾc�r�g�?S��rb`�I%�r��� +�3d�TL�>-$�¸F��Un��u��̀C��ۼ4�l��<7 +�~���k�- +�*#'����b�F1��<\�h�3�!S�C1��a��&��aq�$r5I�x���(j�����v&�������� +h��K��*l���MZ3R��fNcg������ƣu��[ER-QAtJ����y +��a��4�f8\!�����h�Q5I�5��ۙ����|F�T +�m?�AJ�2)d�ޝb�T�l�!�?�$[��-�'0�lo7y�\�Z�B�cl-q�!ǣ�vrX� 2^�������SM�/���,V����}�=�W�a���Z���~��'i�x>Z��c(�Fk�};^�u�tM�8�tM�o�7�S�0�qʨg?E8+tM�/m���'����_�>N1���=��>���[�=�>T��A�&Z���p��%?o����x�v��q +j�����<".C�a�B��\p������.�S�<.�zK�ӑ�Qw.��R5���B�d4����C6C� ���|?-
3��P;,3A*�Ւ�� +�����s�";~m��O �aX�J +���Og�=��W��gi���룛����ڼ�{E6y�ɦG�MWE�S�p�8�����W�|dxۛ�T�o��0����u�ӄ�L����}���5A�,�� �G�-��&���-_T$DEP=mT ��hK�Sn +����#��$Ps����v4y��o[��v><*Q��P�&�qWYXj0�� +������k��I��Sa�m$�ܿ� +m#�Ժ�{M*&�NR��hS5��mi�~�����n�M�y�0L5�Gm[�����r�D]��~�Rg#�B�0�6RO� � +o#!����T�x ����{}Pa$�$���j�Ck�mkS �����������0v5T���]��"ʝ2�y����*̺�����}����I +=��;&�Nb�}���*Lg
r� W�vh��MS�"��]�2 Iy�BX��C����0M�R��K��Z��φdM��iZ���}��쥿O:�����>f�F���M�0 +7�M͛�WDSaX�$������H25�A�i����w�ҿcpik/��ѥ�4�H8������, + x�_wf��=����@�H(=I�}*Ǎ�҃��Sa8n$�Z7ٯ +�J����V�xh��M#f����=���6�-�R-�}��<��J.�m�w �Z����ݧ�H2=�<��F����0�u�M�G\-�=���2�!��s���C��Pa*k$�J;�f +LV�tL��9�`�P*�č�ҳ�,���H(=��>��FB�q��+B������e:�G��;�Ҟ�w���:��YF^aLk$��,�j!�d�A�ؖ�����Qatn$��e��Fb�ѭ��0~4S�[���NV��3��ʶ��o�WV������Co7�:�o��/��J�@g7��K��R~H=��K^��
-�È +c(P��PZ��#u��o���T*LL�-��Q +o;����4�@��%:;�.�p���jq�w�u��Ȧ�� �=
���W��/���Ȃ��#�k@�_�P����/k�X��n<q�oh�d�c���U���j���
�7)��x�6�>i�C�Ǫ���� +%�ܢ +����)^��t��%��|I��xx,DX'ت`� ��@���]�[���=���kG�����Ng�ޣ�Ʌ!�ܕ-���<D����� �ֻt��5"/�]z/)Ś� �vn����T��(�N�n�[��(������n��=��ђ������oc +��e�v +�;4`����4��Kl�t���U�]�&I�Ȼ��LN���S�_���X4�S�} +-�����*���7��Ӈ���/�x�a�Sڜ�"f���7D�j��U˯4It�A���6x��?e���9a��4T�gxyY��H�bSnr�P mj*
�Fo�@tX���U�u��6�������1�`�����݅���b��`��w��"
k�(�F:�f�~��ߘ蕄����L�у?Uvw�]��������o�=�S"D��l�]��B���Z[�灞��Pp�
2A�|�VhR#Hl�~����*݅qW��3RY�!���O��j!\�*n + ��G�>���,hi�3�U��a-뗳�[���V���h$����<P +���B +XA&ڰ���J�;�P�|
��и�\-l}�a:Z�]�rUղ������Ң��U0�< +3��s��U���c}�f +s��I��^d�o��(��1)��|wON�u0Lޥ�r���:pےw�i��u�XR�-Xm:��@�h+�����p�Q���BYCl)���K���g��@,%70������U�� +��鹬p���s�� ��}��z`2�#e��ݜ���WK Q��䞶�@��غ��0g7�H�d\�Z��]�_l��d,"�������:s��� +�|�yQ���;�Vd���
Q�M�+�}��q���_6����M�qZ�N̒�����Jc�5�V������5Z�E +��%��d�Ҵ,ڛ190��u�����t]����Z8m��SJ�\-��A?M֞-6�K�<g��S��(�d0!����5��3#�����E�8WGڙnRCߙp��p�N8a@)w��r��gU*W�G^���G��Yӂ�'c@{�wP�;ն���&K�(�70*���k�-%gyf�h�+i)3'C��b�����ٵ��J��/��$X'5�x�/�ҢA$��j�����U + rɈW�5y��&��U=��O����.�1Rހ���F���d�%�"V�����W�����������<�#�?y~ң?Vp�����eJ��� 9CE�����Vp�dܘ�v��q +�V�J�@�lox�=*Qb�P�tUe+Ϋ���ep���Pĕ�����~�L·�ѥ��dY7�eu��seR�}ڭauY$�kb��<��G���m�yC���n�g������!a�]�ӌ�N�K&\���^x�_#L�l�U �h����m�3���߅�>�8�����$�;-���w8���Ϯш�qT�:߬on!���D��&�1��mwc��뮱 �'�c�n氖9�s�9��c�<,t9���֨�#�~���)�s��q�po�/p'����٤8��zvv]*���\/$�`P�v����Nj�sb�~n&P��L@�k�P(���I��;�IǑr���Ut������2J���Iּ�֧-^�QseU���і�txNQ
8]�� +#�4ހpB�36%�8 ��'�qk�8��|���qf`���ˁ9c�O�)�V��9>Mu��ܹ�V��(�s��`>6@g�r��d���c &h��+�B�l��ںuj^��e8p��w&�;��p>��g +Q+@Jv�?�����BX�kP�p'�F�a���,(o��p�� +1V�ѻ֬e�Ҁ~�`�S+77�uau�� +暡�L���ps($�K��<@.�-(��>���2�� h'�ܙ?ܬ=q�
Jg�=
)W�|0%����
8�h{���9;?�`϶�U��N®0����X�j?`+�]�N��<PCh)F�E������x<l)��J
K��M\o��8 y�MK+���� ;����0�x�bp����o����0Y%�)�.���xR��v����+ +~�O��>%��v�*�������aqa�y��N�\%*�?��֪��'Ѣ�M�v��*��A��ˈ��"@�����t�e +.�AX���nkHU�y7f[����7~��f\��Y:���bu�]��;�^4魼e��F�@Uv��2d=��ow�����Ti<�A�}8͘K�%)�HM�C"
�&)}+��N�#<���!Vσ×�&�+��D�`9�Fʀ߭d�+Z��b�x��^,�;�!p��B[m�Z�W��]��;I�A{����B1d���� �ރ�\�V��I�3��|~6�J��a@%���v�cӥӚ{dt�X�m����l�otC����K^��t��xa��\pWE���;�m���� %$
�E��H��#�g��'"H�������_M!� �G��űJ�|�}a�OP�}���6�7�U�����Kk�Sr���'����pn����7n8)��#ƃ&���|��� ���?6jX�d���?l�5�_6:�G<mx>U3�3wv� T*;8� +L9�-�XL b����+Z� ��'�7�jJe�z��O����w�����)� +�Cޔ���UÃ�(/�Y��߈�J�Jni�k��e +��H'|;*���+���w��=�^Az�[5��* �ZY�J< 9�9 =���Z���5�M�����_@?\N��kjzp���GW���-�c��0/�B�`�3q3*\���T�%�~����Q��1�1F9�1)���r5�Y}"O]M3Z$��r �������Sf��6͊/S��7!Xj.�эr#/;�o��0�{:�m�MV�Ӷ��j�R�H
�RH���O+�I�^:��j�0�m"A��5-�H�F`*$Xz�CY����\s�k�]H>�B�����f�zN�*����!���VRMa.Z�!x�����ju�kr�?r7f�T��
vd�e���\�# +s���W���?b/)������f�a1t~���*gP ���[A�z������!��O� +3�&�ɵ��?�H<V�/���g�M�����/jк� +�5��ι�j�&;?�nF��-���*��c]~T2UIj���亲)�O�S��f +kM�~��s �䝿�!�\�H<7�p��ݯy������KW��+�G��=. 1«��|x�>��/��� +y�?���#CkH���S^�Z����(M�w�K���/�i��#��Mi2����0�6)?�[�!�b16�Ʃ�`���{�o� endstream endobj -407 0 obj +423 0 obj <</Length 314/N 3/Range[0 1 0 1 0 1]/Filter/FlateDecode>> stream x�}��Kq�?�U�X
94%MQKS��N�#Ԧ��Q�v��B�ˡ�h�Fk ������! @@ -1495,20 +1584,20 @@ x�}��Kq�?�U�X
94%MQKS��N�#Ԧ��Q�v��B�ˡ�h�Fk ������! ��0l+��ߣ�y7���;����;Q�?V.�_�tF��3L�E�K�)y ��z�80e�IP���k��T�/%[�p endstream endobj -408 0 obj -<</Creator(Typst 0.15.1)/ModDate(D:20261001125720-03'00)/CreationDate(D:20261001125720-03'00)>> +424 0 obj +<</Creator(Typst 0.15.1)/ModDate(D:20261001131215-03'00)/CreationDate(D:20261001131215-03'00)>> endobj -409 0 obj +425 0 obj <</Length 996/Type/Metadata/Subtype/XML>> stream -<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><xmp:CreatorTool>Typst 0.15.1</xmp:CreatorTool><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmp:ModifyDate>2026-10-01T12:57:20-03:00</xmp:ModifyDate><xmp:CreateDate>2026-10-01T12:57:20-03:00</xmp:CreateDate><xmpTPg:NPages>1</xmpTPg:NPages><dc:format>application/pdf</dc:format><xmpMM:InstanceID>DzyaajGJifpizox+vCC3sA==</xmpMM:InstanceID><xmpMM:DocumentID>DzyaajGJifpizox+vCC3sA==</xmpMM:DocumentID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?> +<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="xmp-writer"><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" xmlns:pdf="http://ns.adobe.com/pdf/1.3/" ><xmp:CreatorTool>Typst 0.15.1</xmp:CreatorTool><dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language><xmp:ModifyDate>2026-10-01T13:12:15-03:00</xmp:ModifyDate><xmp:CreateDate>2026-10-01T13:12:15-03:00</xmp:CreateDate><xmpTPg:NPages>1</xmpTPg:NPages><dc:format>application/pdf</dc:format><xmpMM:InstanceID>116eLL5M9WfWkWoq4e2ZbQ==</xmpMM:InstanceID><xmpMM:DocumentID>116eLL5M9WfWkWoq4e2ZbQ==</xmpMM:DocumentID><xmpMM:RenditionClass>proof</xmpMM:RenditionClass><pdf:PDFVersion>1.7</pdf:PDFVersion></rdf:Description></rdf:RDF></x:xmpmeta><?xpacket end="r"?> endstream endobj -410 0 obj -<</Type/Catalog/Pages 1 0 R/Metadata 409 0 R/Lang(en)/StructTreeRoot 17 0 R/MarkInfo<</Marked true/Suspects false>>/ViewerPreferences<</Direction/L2R>>/Outlines 16 0 R>> +426 0 obj +<</Type/Catalog/Pages 1 0 R/Metadata 425 0 R/Lang(en)/StructTreeRoot 17 0 R/MarkInfo<</Marked true/Suspects false>>/ViewerPreferences<</Direction/L2R>>/Outlines 16 0 R>> endobj xref -0 411 +0 427 0000000000 65535 f
0000000016 00000 n
0000000069 00000 n
@@ -1528,400 +1617,416 @@ xref 0000001365 00000 n
0000001433 00000 n
0000001600 00000 n
-0000006505 00000 n
-0000006610 00000 n
-0000006691 00000 n
-0000006834 00000 n
-0000006991 00000 n
-0000007059 00000 n
-0000007140 00000 n
-0000007237 00000 n
-0000007305 00000 n
-0000007448 00000 n
-0000007617 00000 n
-0000007685 00000 n
-0000007779 00000 n
-0000007894 00000 n
-0000007962 00000 n
-0000008118 00000 n
-0000008283 00000 n
-0000008351 00000 n
-0000008444 00000 n
-0000008555 00000 n
-0000008711 00000 n
-0000008870 00000 n
-0000008938 00000 n
-0000009032 00000 n
-0000009126 00000 n
-0000009194 00000 n
-0000009353 00000 n
-0000009515 00000 n
-0000009583 00000 n
-0000009677 00000 n
-0000009789 00000 n
-0000009857 00000 n
-0000010013 00000 n
-0000010175 00000 n
-0000010243 00000 n
-0000010336 00000 n
-0000010434 00000 n
-0000010511 00000 n
-0000010651 00000 n
-0000010720 00000 n
-0000010790 00000 n
-0000010883 00000 n
-0000010951 00000 n
-0000011020 00000 n
-0000011118 00000 n
-0000011186 00000 n
-0000011290 00000 n
-0000011376 00000 n
-0000011454 00000 n
-0000011611 00000 n
-0000011768 00000 n
-0000011836 00000 n
-0000011931 00000 n
-0000012026 00000 n
-0000012094 00000 n
-0000012251 00000 n
-0000012322 00000 n
-0000012494 00000 n
-0000012562 00000 n
-0000012657 00000 n
-0000012728 00000 n
-0000012799 00000 n
-0000012920 00000 n
-0000012988 00000 n
-0000013145 00000 n
-0000013216 00000 n
-0000013396 00000 n
-0000013464 00000 n
-0000013559 00000 n
-0000013658 00000 n
-0000013726 00000 n
-0000013883 00000 n
-0000013954 00000 n
-0000014126 00000 n
-0000014194 00000 n
-0000014301 00000 n
-0000014372 00000 n
-0000014443 00000 n
-0000014514 00000 n
-0000014585 00000 n
-0000014656 00000 n
-0000014788 00000 n
-0000014880 00000 n
-0000014955 00000 n
-0000015028 00000 n
-0000015101 00000 n
-0000015215 00000 n
-0000015402 00000 n
-0000015561 00000 n
-0000015633 00000 n
-0000015750 00000 n
-0000015847 00000 n
-0000015919 00000 n
-0000016102 00000 n
-0000016265 00000 n
-0000016337 00000 n
-0000016442 00000 n
-0000016539 00000 n
-0000016611 00000 n
-0000016770 00000 n
-0000016929 00000 n
-0000017001 00000 n
-0000017106 00000 n
-0000017203 00000 n
-0000017275 00000 n
-0000017442 00000 n
-0000017601 00000 n
-0000017673 00000 n
-0000017774 00000 n
-0000017871 00000 n
-0000017943 00000 n
-0000018122 00000 n
-0000018289 00000 n
-0000018361 00000 n
-0000018462 00000 n
-0000018563 00000 n
-0000018635 00000 n
-0000018798 00000 n
-0000018961 00000 n
-0000019033 00000 n
-0000019138 00000 n
-0000019235 00000 n
-0000019307 00000 n
-0000019486 00000 n
-0000019649 00000 n
-0000019721 00000 n
-0000019818 00000 n
-0000019919 00000 n
-0000019991 00000 n
-0000020170 00000 n
-0000020333 00000 n
-0000020405 00000 n
-0000020522 00000 n
-0000020619 00000 n
-0000020691 00000 n
-0000020854 00000 n
-0000021037 00000 n
-0000021109 00000 n
-0000021206 00000 n
-0000021303 00000 n
-0000021375 00000 n
-0000021578 00000 n
-0000021648 00000 n
-0000021734 00000 n
-0000021921 00000 n
-0000021994 00000 n
-0000022173 00000 n
-0000022245 00000 n
-0000022342 00000 n
-0000022451 00000 n
-0000022523 00000 n
-0000022690 00000 n
-0000022865 00000 n
-0000022937 00000 n
-0000023054 00000 n
-0000023155 00000 n
-0000023227 00000 n
-0000023394 00000 n
-0000023553 00000 n
-0000023625 00000 n
-0000023730 00000 n
-0000023831 00000 n
-0000023903 00000 n
-0000024010 00000 n
-0000024120 00000 n
-0000024287 00000 n
-0000024446 00000 n
-0000024518 00000 n
-0000024631 00000 n
-0000024728 00000 n
-0000024800 00000 n
-0000024975 00000 n
-0000025134 00000 n
-0000025206 00000 n
-0000025319 00000 n
-0000025416 00000 n
-0000025488 00000 n
-0000025663 00000 n
-0000025822 00000 n
-0000025894 00000 n
-0000026007 00000 n
-0000026104 00000 n
-0000026176 00000 n
-0000026351 00000 n
-0000026510 00000 n
-0000026582 00000 n
-0000026687 00000 n
-0000026784 00000 n
-0000026856 00000 n
-0000027031 00000 n
-0000027190 00000 n
-0000027262 00000 n
-0000027375 00000 n
-0000027472 00000 n
-0000027544 00000 n
-0000027719 00000 n
-0000027878 00000 n
-0000027950 00000 n
-0000028063 00000 n
-0000028160 00000 n
-0000028232 00000 n
-0000028407 00000 n
-0000028566 00000 n
-0000028638 00000 n
-0000028743 00000 n
-0000028840 00000 n
-0000028912 00000 n
-0000029083 00000 n
-0000029148 00000 n
-0000029315 00000 n
-0000029474 00000 n
-0000029546 00000 n
-0000029659 00000 n
-0000029756 00000 n
-0000029828 00000 n
-0000030003 00000 n
-0000030162 00000 n
-0000030234 00000 n
-0000030347 00000 n
-0000030444 00000 n
-0000030516 00000 n
-0000030691 00000 n
-0000030850 00000 n
-0000030922 00000 n
-0000031035 00000 n
-0000031132 00000 n
-0000031204 00000 n
-0000031379 00000 n
-0000031538 00000 n
-0000031610 00000 n
-0000031723 00000 n
-0000031820 00000 n
-0000031892 00000 n
-0000032067 00000 n
-0000032226 00000 n
-0000032298 00000 n
-0000032411 00000 n
-0000032508 00000 n
-0000032580 00000 n
-0000032755 00000 n
-0000032914 00000 n
-0000032986 00000 n
-0000033099 00000 n
-0000033196 00000 n
-0000033268 00000 n
-0000033435 00000 n
-0000033594 00000 n
-0000033666 00000 n
-0000033829 00000 n
-0000033894 00000 n
-0000033967 00000 n
-0000034064 00000 n
-0000034136 00000 n
-0000034209 00000 n
-0000034335 00000 n
-0000034407 00000 n
-0000034479 00000 n
-0000034558 00000 n
-0000034640 00000 n
-0000034730 00000 n
-0000034802 00000 n
-0000034874 00000 n
-0000034947 00000 n
-0000035020 00000 n
-0000035093 00000 n
-0000035223 00000 n
-0000035295 00000 n
-0000035410 00000 n
-0000035500 00000 n
-0000035573 00000 n
-0000035646 00000 n
-0000035719 00000 n
-0000035792 00000 n
-0000035922 00000 n
-0000036011 00000 n
-0000036083 00000 n
-0000036156 00000 n
-0000036229 00000 n
-0000036302 00000 n
-0000036452 00000 n
-0000036524 00000 n
-0000036623 00000 n
-0000036706 00000 n
-0000036779 00000 n
-0000036852 00000 n
-0000036925 00000 n
-0000037051 00000 n
-0000037132 00000 n
-0000037205 00000 n
-0000037278 00000 n
-0000037444 00000 n
-0000037525 00000 n
-0000037598 00000 n
-0000037671 00000 n
-0000037797 00000 n
-0000037899 00000 n
-0000037972 00000 n
-0000038045 00000 n
-0000038118 00000 n
-0000038232 00000 n
-0000038346 00000 n
-0000038505 00000 n
-0000038668 00000 n
-0000038740 00000 n
-0000038837 00000 n
-0000038938 00000 n
-0000039010 00000 n
-0000039169 00000 n
-0000039242 00000 n
-0000039417 00000 n
-0000039489 00000 n
-0000039586 00000 n
-0000039683 00000 n
-0000039755 00000 n
-0000039914 00000 n
-0000039987 00000 n
-0000040162 00000 n
-0000040234 00000 n
-0000040331 00000 n
-0000040404 00000 n
-0000040525 00000 n
-0000040597 00000 n
-0000040756 00000 n
-0000040829 00000 n
-0000041000 00000 n
-0000041072 00000 n
-0000041187 00000 n
-0000041317 00000 n
-0000041390 00000 n
-0000041467 00000 n
-0000041561 00000 n
-0000041921 00000 n
-0000041958 00000 n
-0000042009 00000 n
-0000042060 00000 n
-0000042111 00000 n
-0000042163 00000 n
-0000042216 00000 n
-0000042267 00000 n
-0000042319 00000 n
-0000042371 00000 n
-0000042423 00000 n
-0000042475 00000 n
-0000042526 00000 n
-0000042578 00000 n
-0000042630 00000 n
-0000042681 00000 n
-0000042731 00000 n
-0000042782 00000 n
-0000042832 00000 n
-0000043035 00000 n
-0000043192 00000 n
-0000043735 00000 n
-0000043949 00000 n
-0000044108 00000 n
-0000044563 00000 n
-0000044782 00000 n
-0000044942 00000 n
-0000045685 00000 n
-0000045904 00000 n
-0000046044 00000 n
-0000046260 00000 n
-0000046499 00000 n
-0000046653 00000 n
-0000046861 00000 n
-0000047072 00000 n
-0000047217 00000 n
-0000047437 00000 n
-0000047691 00000 n
-0000047819 00000 n
-0000047901 00000 n
-0000048504 00000 n
-0000052996 00000 n
-0000053077 00000 n
-0000053628 00000 n
-0000057373 00000 n
-0000057455 00000 n
-0000058166 00000 n
-0000065019 00000 n
-0000065101 00000 n
-0000065887 00000 n
-0000078973 00000 n
-0000079050 00000 n
-0000079490 00000 n
-0000080132 00000 n
-0000080209 00000 n
-0000080667 00000 n
-0000084870 00000 n
-0000105798 00000 n
-0000106205 00000 n
-0000106318 00000 n
-0000107391 00000 n
+0000006529 00000 n
+0000006634 00000 n
+0000006715 00000 n
+0000006858 00000 n
+0000007015 00000 n
+0000007083 00000 n
+0000007164 00000 n
+0000007261 00000 n
+0000007329 00000 n
+0000007472 00000 n
+0000007641 00000 n
+0000007709 00000 n
+0000007803 00000 n
+0000007918 00000 n
+0000007986 00000 n
+0000008142 00000 n
+0000008307 00000 n
+0000008375 00000 n
+0000008468 00000 n
+0000008579 00000 n
+0000008735 00000 n
+0000008894 00000 n
+0000008962 00000 n
+0000009056 00000 n
+0000009150 00000 n
+0000009218 00000 n
+0000009377 00000 n
+0000009539 00000 n
+0000009607 00000 n
+0000009701 00000 n
+0000009813 00000 n
+0000009881 00000 n
+0000010037 00000 n
+0000010199 00000 n
+0000010267 00000 n
+0000010360 00000 n
+0000010458 00000 n
+0000010535 00000 n
+0000010675 00000 n
+0000010744 00000 n
+0000010814 00000 n
+0000010907 00000 n
+0000010975 00000 n
+0000011044 00000 n
+0000011142 00000 n
+0000011210 00000 n
+0000011314 00000 n
+0000011400 00000 n
+0000011478 00000 n
+0000011635 00000 n
+0000011792 00000 n
+0000011860 00000 n
+0000011955 00000 n
+0000012050 00000 n
+0000012118 00000 n
+0000012275 00000 n
+0000012346 00000 n
+0000012518 00000 n
+0000012586 00000 n
+0000012681 00000 n
+0000012752 00000 n
+0000012823 00000 n
+0000012944 00000 n
+0000013012 00000 n
+0000013169 00000 n
+0000013240 00000 n
+0000013420 00000 n
+0000013488 00000 n
+0000013583 00000 n
+0000013682 00000 n
+0000013750 00000 n
+0000013907 00000 n
+0000013978 00000 n
+0000014150 00000 n
+0000014218 00000 n
+0000014325 00000 n
+0000014396 00000 n
+0000014467 00000 n
+0000014538 00000 n
+0000014609 00000 n
+0000014680 00000 n
+0000014812 00000 n
+0000014904 00000 n
+0000014979 00000 n
+0000015052 00000 n
+0000015125 00000 n
+0000015239 00000 n
+0000015426 00000 n
+0000015585 00000 n
+0000015657 00000 n
+0000015774 00000 n
+0000015871 00000 n
+0000015943 00000 n
+0000016126 00000 n
+0000016289 00000 n
+0000016361 00000 n
+0000016466 00000 n
+0000016563 00000 n
+0000016635 00000 n
+0000016794 00000 n
+0000016953 00000 n
+0000017025 00000 n
+0000017130 00000 n
+0000017227 00000 n
+0000017299 00000 n
+0000017466 00000 n
+0000017625 00000 n
+0000017697 00000 n
+0000017798 00000 n
+0000017895 00000 n
+0000017967 00000 n
+0000018146 00000 n
+0000018313 00000 n
+0000018385 00000 n
+0000018486 00000 n
+0000018587 00000 n
+0000018659 00000 n
+0000018822 00000 n
+0000018985 00000 n
+0000019057 00000 n
+0000019162 00000 n
+0000019259 00000 n
+0000019331 00000 n
+0000019510 00000 n
+0000019673 00000 n
+0000019745 00000 n
+0000019842 00000 n
+0000019943 00000 n
+0000020015 00000 n
+0000020194 00000 n
+0000020357 00000 n
+0000020429 00000 n
+0000020546 00000 n
+0000020643 00000 n
+0000020715 00000 n
+0000020878 00000 n
+0000021061 00000 n
+0000021133 00000 n
+0000021230 00000 n
+0000021327 00000 n
+0000021399 00000 n
+0000021602 00000 n
+0000021672 00000 n
+0000021758 00000 n
+0000021945 00000 n
+0000022018 00000 n
+0000022197 00000 n
+0000022269 00000 n
+0000022366 00000 n
+0000022475 00000 n
+0000022547 00000 n
+0000022714 00000 n
+0000022889 00000 n
+0000022961 00000 n
+0000023078 00000 n
+0000023179 00000 n
+0000023251 00000 n
+0000023418 00000 n
+0000023577 00000 n
+0000023649 00000 n
+0000023754 00000 n
+0000023855 00000 n
+0000023927 00000 n
+0000024034 00000 n
+0000024144 00000 n
+0000024311 00000 n
+0000024470 00000 n
+0000024542 00000 n
+0000024655 00000 n
+0000024752 00000 n
+0000024824 00000 n
+0000024999 00000 n
+0000025158 00000 n
+0000025230 00000 n
+0000025343 00000 n
+0000025440 00000 n
+0000025512 00000 n
+0000025687 00000 n
+0000025846 00000 n
+0000025918 00000 n
+0000026031 00000 n
+0000026128 00000 n
+0000026200 00000 n
+0000026375 00000 n
+0000026534 00000 n
+0000026606 00000 n
+0000026711 00000 n
+0000026808 00000 n
+0000026880 00000 n
+0000027055 00000 n
+0000027214 00000 n
+0000027286 00000 n
+0000027399 00000 n
+0000027496 00000 n
+0000027568 00000 n
+0000027743 00000 n
+0000027902 00000 n
+0000027974 00000 n
+0000028087 00000 n
+0000028184 00000 n
+0000028256 00000 n
+0000028431 00000 n
+0000028590 00000 n
+0000028662 00000 n
+0000028767 00000 n
+0000028864 00000 n
+0000028936 00000 n
+0000029107 00000 n
+0000029172 00000 n
+0000029339 00000 n
+0000029498 00000 n
+0000029570 00000 n
+0000029683 00000 n
+0000029780 00000 n
+0000029852 00000 n
+0000030027 00000 n
+0000030186 00000 n
+0000030258 00000 n
+0000030371 00000 n
+0000030468 00000 n
+0000030540 00000 n
+0000030715 00000 n
+0000030874 00000 n
+0000030946 00000 n
+0000031059 00000 n
+0000031156 00000 n
+0000031228 00000 n
+0000031403 00000 n
+0000031562 00000 n
+0000031634 00000 n
+0000031747 00000 n
+0000031844 00000 n
+0000031916 00000 n
+0000032091 00000 n
+0000032250 00000 n
+0000032322 00000 n
+0000032435 00000 n
+0000032532 00000 n
+0000032604 00000 n
+0000032779 00000 n
+0000032938 00000 n
+0000033010 00000 n
+0000033123 00000 n
+0000033220 00000 n
+0000033292 00000 n
+0000033459 00000 n
+0000033618 00000 n
+0000033690 00000 n
+0000033853 00000 n
+0000033918 00000 n
+0000033991 00000 n
+0000034088 00000 n
+0000034160 00000 n
+0000034233 00000 n
+0000034359 00000 n
+0000034431 00000 n
+0000034503 00000 n
+0000034582 00000 n
+0000034664 00000 n
+0000034754 00000 n
+0000034826 00000 n
+0000034898 00000 n
+0000034971 00000 n
+0000035044 00000 n
+0000035117 00000 n
+0000035247 00000 n
+0000035319 00000 n
+0000035434 00000 n
+0000035524 00000 n
+0000035597 00000 n
+0000035670 00000 n
+0000035743 00000 n
+0000035816 00000 n
+0000035946 00000 n
+0000036035 00000 n
+0000036107 00000 n
+0000036180 00000 n
+0000036253 00000 n
+0000036326 00000 n
+0000036476 00000 n
+0000036548 00000 n
+0000036647 00000 n
+0000036730 00000 n
+0000036803 00000 n
+0000036876 00000 n
+0000036949 00000 n
+0000037075 00000 n
+0000037156 00000 n
+0000037229 00000 n
+0000037302 00000 n
+0000037468 00000 n
+0000037549 00000 n
+0000037622 00000 n
+0000037695 00000 n
+0000037821 00000 n
+0000037923 00000 n
+0000037996 00000 n
+0000038069 00000 n
+0000038142 00000 n
+0000038256 00000 n
+0000038370 00000 n
+0000038476 00000 n
+0000038541 00000 n
+0000038599 00000 n
+0000038709 00000 n
+0000038774 00000 n
+0000038880 00000 n
+0000038945 00000 n
+0000039055 00000 n
+0000039120 00000 n
+0000039226 00000 n
+0000039291 00000 n
+0000039401 00000 n
+0000039466 00000 n
+0000039572 00000 n
+0000039637 00000 n
+0000039747 00000 n
+0000039812 00000 n
+0000039918 00000 n
+0000039983 00000 n
+0000040093 00000 n
+0000040158 00000 n
+0000040216 00000 n
+0000040326 00000 n
+0000040391 00000 n
+0000040497 00000 n
+0000040562 00000 n
+0000040672 00000 n
+0000040737 00000 n
+0000040795 00000 n
+0000040905 00000 n
+0000040970 00000 n
+0000041076 00000 n
+0000041141 00000 n
+0000041251 00000 n
+0000041316 00000 n
+0000041434 00000 n
+0000041499 00000 n
+0000041609 00000 n
+0000041674 00000 n
+0000041780 00000 n
+0000041845 00000 n
+0000042078 00000 n
+0000042208 00000 n
+0000042281 00000 n
+0000042358 00000 n
+0000042452 00000 n
+0000042812 00000 n
+0000042849 00000 n
+0000042900 00000 n
+0000042951 00000 n
+0000043002 00000 n
+0000043054 00000 n
+0000043107 00000 n
+0000043158 00000 n
+0000043210 00000 n
+0000043262 00000 n
+0000043314 00000 n
+0000043366 00000 n
+0000043417 00000 n
+0000043469 00000 n
+0000043521 00000 n
+0000043572 00000 n
+0000043622 00000 n
+0000043673 00000 n
+0000043723 00000 n
+0000043926 00000 n
+0000044083 00000 n
+0000044626 00000 n
+0000044840 00000 n
+0000044999 00000 n
+0000045454 00000 n
+0000045673 00000 n
+0000045833 00000 n
+0000046586 00000 n
+0000046805 00000 n
+0000046945 00000 n
+0000047161 00000 n
+0000047402 00000 n
+0000047556 00000 n
+0000047764 00000 n
+0000047975 00000 n
+0000048120 00000 n
+0000048341 00000 n
+0000048594 00000 n
+0000048722 00000 n
+0000048804 00000 n
+0000049407 00000 n
+0000053899 00000 n
+0000053980 00000 n
+0000054531 00000 n
+0000058276 00000 n
+0000058358 00000 n
+0000059073 00000 n
+0000065972 00000 n
+0000066054 00000 n
+0000066856 00000 n
+0000080053 00000 n
+0000080130 00000 n
+0000080570 00000 n
+0000081212 00000 n
+0000081291 00000 n
+0000081786 00000 n
+0000086764 00000 n
+0000108039 00000 n
+0000108446 00000 n
+0000108559 00000 n
+0000109632 00000 n
trailer -<</Size 411/Root 410 0 R/Info 408 0 R/ID[(DzyaajGJifpizox+vCC3sA==)(DzyaajGJifpizox+vCC3sA==)]>> +<</Size 427/Root 426 0 R/Info 424 0 R/ID[(116eLL5M9WfWkWoq4e2ZbQ==)(116eLL5M9WfWkWoq4e2ZbQ==)]>> startxref -107578 +109819 %%EOF
\ No newline at end of file diff --git a/docs/typ/cheatsheet.typ b/docs/typ/cheatsheet.typ index c4be1641..3c5ea2b2 100644 --- a/docs/typ/cheatsheet.typ +++ b/docs/typ/cheatsheet.typ @@ -2,7 +2,7 @@ // cheatsheet-a4.typ lays it out; style.typ says how each element looks. // config.zig's "docs/typ" test checks every #word, #key and #tag here // against the registry, the keymap and the default tags. -#import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs +#import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs, fstree == The mouse #pairs( @@ -134,15 +134,18 @@ Helix-style: motions *select*, then an edit acts on the selection. Mode box: bla Pane shells get `$PARDES_9P` (the socket) and `$PARDES_PANE` (their own pane); a command clicked in a pane also gets `$winid`, the pane it was clicked in. #cmd("9ns --mntgen # then m=$PARDES_MOUNT in every pane") #cmd("9p -a \"unix!$PARDES_9P\" read index") -#pairs( - file("index"), [a line per pane: serial, kind, name], - file("look exec"), [write a line: a #btn("B3") or #btn("B2")], - file("log"), [events; write `follow` to wait], - file("pane/new"), [open to make a pane], - file("pane/N/addr"), [an address; `data` reads/replaces it], - file("pane/N/ctl"), [builtins: #word("Save"), #word("Edit") `...`], - file("pane/N/body tag"), [its text (`>>` appends)], -) +#fstree(``` +index a line per pane @rules +look write: a right click @look-and-exec +exec write: a middle click @look-and-exec +log events; follow waits @log +pane/ + new open: a new pane @panes + <n>/ + addr where data reads, writes @addresses + ctl builtins: #word("Save"), #word("Edit") @panes + body its text (>> appends) @panes +```) #cmd("echo notes.txt:12 > $m/pane/$n/look") #cmd("echo /foo/ > $m/pane/$n/addr; printf bar > $m/pane/$n/data") #cmd("echo 'Edit ,x/foo/c/bar/' > $m/pane/$n/ctl") diff --git a/docs/typ/install.typ b/docs/typ/install.typ index 6d853f3f..f4fc7fd3 100644 --- a/docs/typ/install.typ +++ b/docs/typ/install.typ @@ -5,7 +5,6 @@ #let first = project.mirrors.first() #cmd("git clone " + first.clone + " && cd pardes") -Every mirror holds the same tree: #project.mirrors.map(m => link(m.web, m.name)).join(", "). With Zig 0.16 (the build fetches everything else): #cmd("# pardes, in a terminal\nzig build -Dplatform=tty --prefix ~/.local") diff --git a/docs/typ/reference.typ b/docs/typ/reference.typ index e79f9c4d..916f6b33 100644 --- a/docs/typ/reference.typ +++ b/docs/typ/reference.typ @@ -2,7 +2,7 @@ // does, how it fails, and the limits. How pardes behaves on screen is the // guide's; recipes and traps are scripting's; how a mount cuts writes and // the listeners are building's. -#import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs +#import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs, fstree Every native session is a virtual filesystem, served as 9P2000 (not .u, not .L), in acme's manner: panes, columns, tags and the session are @@ -16,29 +16,57 @@ it names, or else run it as a shell line. The files #file("look") and = The tree <tree> -``` -/README the one-screen summary (src/fs-help.txt) -/index a line per pane: serial kind dirty name column -/status pid, version, panes -/look /exec write a line: a right / middle click at the pane with the keyboard; read: the serials touched -/pager write a directory: its one +Pager, made or emptied; read: its serial -/log the event log; write `follow` to wait for more -/screen the rendered screen as JSON -/listeners dial addresses -/focus the serial of the pane with the keyboard; write one to move it -/ctl settings and session builtins -/commands every builtin, one a line -/recent files opened lately: open|closed <path> -/layout a line per column, then `active <serial>` -/tag /tagexec the workspace tag, and a word clicked in it -/col/<n>/ tag ctl exec of column <n>; rmdir closes an empty one -/pane/new open it to make a pane; read answers the serial -/pane/<n>/ name body tag ctl addr dot limit data xdata sel dirty mark scroll - errors event look exec tagexec, and pty/{ctl,status,data,run} on terminals; - rmdir closes the pane -/os/ the host filesystem -/src/ the editor's sources (only with -Dembed-sources=true) -``` +#fstree(``` +README the one-screen summary (src/fs-help.txt) @other-files +index a line per pane: serial kind dirty name column @rules +status pid, version, panes @other-files +look write a line: a right click at the pane with the keyboard; read: the serials touched @look-and-exec +exec write a line: a middle click there; read: the serials touched @look-and-exec +pager write a directory: its one +Pager, made or emptied; read: its serial @pardes-stdin +log the event log; write follow to wait for more @log +screen the rendered screen as JSON @on-screen +listeners dial addresses @other-files +focus the serial of the pane with the keyboard; write one to move it @columns-and-tags +ctl settings and session builtins @root-ctl +commands every builtin, one a line @other-files +recent files opened lately: open|closed <path> @other-files +layout a line per column, then active <serial> @columns-and-tags +tag the workspace tag @columns-and-tags +tagexec a word clicked in the workspace tag @columns-and-tags +col/ the columns @columns-and-tags + <n>/ column <n>; rmdir closes it when empty @columns-and-tags + tag its tag + ctl its builtins (Delcol Joincol New Tty) + exec a word clicked in its tag +pane/ the panes @panes + new open it to make a pane; read answers the serial @panes + <n>/ pane <n>; rmdir closes it @panes + name the file name; write to rename @panes + body the text; a write appends, > replaces @panes + tag its path, then its words; a write replaces the words @panes + ctl builtins and ctl words, a line each @panes + addr the address data and xdata work on @addresses + dot the selection, as an address @addresses + limit where a forward search stops @addresses + data the text at addr; a write replaces it @addresses + xdata the text in addr's range only @addresses + sel the selected text; a write replaces it @panes + dirty 1 while the text differs from its file @flags + mark 0 or 1; a write marks an undo point @flags + scroll 0 or 1; a write scrolls the pane @flags + errors write-only: text for the directory's +Errors @panes + event the pane's clicks and keys, as acme's event file @event + look a right click at this pane @look-and-exec + exec a middle click at this pane @look-and-exec + tagexec a word clicked in this pane's tag @look-and-exec + pty/ terminals only @pty + ctl winsize, sig, exec @pty + status cols rows busy @pty + data the live stream: bytes in as typed, output out @pty + run write a command line; read: exit N, then its output @pty +os/ the host filesystem @mounts +src/ the editor's sources (only with -Dembed-sources=true) @mounts +```) Panes and columns are named by serials the editor gives: stable while they live, never reused (so they can have gaps). Nothing is created by a listing, stat, walk or read: diff --git a/docs/typ/style.typ b/docs/typ/style.typ index 065cc210..2f63f3b2 100644 --- a/docs/typ/style.typ +++ b/docs/typ/style.typ @@ -33,6 +33,7 @@ reference: ("reference", none), themes: ("themes", none), building: ("building", none), + builtins: ("builtins", none), tags: ("guide", none), fs: ("reference", none), config: ("guide", "config"), @@ -55,6 +56,7 @@ (id: "cheatsheet", title: "Cheatsheet", file: "cheatsheet.typ"), (id: "scripting", title: "Scripting", file: "scripting.typ"), (id: "reference", title: "Reference", file: "reference.typ"), + (id: "builtins", title: "Builtins", file: "builtins.typ"), (id: "themes", title: "Themes", file: "themes.typ"), (id: "building", title: "Building, for contributors", file: "building.typ"), ) @@ -174,9 +176,52 @@ ((mouse((held,)),) + clicks.map(c => mouse((held, c)))).join(arrow) } -/// A tag word or builtin, as it sits in a tag. -#let word(w) = context if html-out() { span("word", raw(w)) } else { - box(fill: palette.tag-bg, inset: (x: 1.4pt, y: 0pt), outset: (y: 1.4pt), m(w, fill: palette.tag-fg)) +/// A tag word or builtin, drawn as a thing to click: the tag's ground and +/// ink in the tag's monospace, over a rule. Look and Exec take acme's look +/// and exec sweep colours (green and red, src/themes/acme.zig) for the +/// rule; every other word the tag's box colour. In HTML a <code +/// class="word">, so a text browser still shows the plain word. +#let word-accent = (Look: rgb("#006600"), Exec: rgb("#aa0000")) + +/// Every builtin of either build, written by `zig build builtins-json` +/// from the registry and the Help rows (src/builtins_json.zig), a file per +/// build: name, leader, also (Help's other shortcuts), arg, scope, setting, +/// choices, doc. Merged here, each with `platforms`: "both", "tty" (the +/// terminal only) or "gui" (the window only). +#let builtin-data = { + let tty = json("builtins-tty.json") + let gui = json("builtins-gui.json") + let in-tty = tty.map(b => b.name) + let in-gui = gui.map(b => b.name) + let all = (tty + gui.filter(b => b.name not in in-tty)).sorted(key: b => b.name) + all.map(b => { + b.insert("platforms", if b.name in in-tty and b.name in in-gui { "both" } else if b.name in in-tty { "tty" } else { "gui" }) + b + }) +} +#let builtin-names = builtin-data.map(b => b.name) + +#let word-chip(w) = context if html-out() { + let base = w.split("+").first() + let kind = if base == "Look" { " look" } else if base == "Exec" { " exec" } else { "" } + html.elem("code", attrs: (class: "word" + kind), w) +} else { + let rule = word-accent.at(w.split("+").first(), default: palette.grip) + box( + fill: palette.tag-bg, inset: (x: 1.4pt, y: 0pt), outset: (y: 1.4pt), + stroke: (bottom: 0.6pt + rule), + m(w, fill: palette.tag-fg), + ) +} + +/// A builtin's word links to its glossary entry wherever the glossary is +/// part of the same output (the book, the site); elsewhere it is the chip. +#let word(w) = context { + let base = w.split("+").first() + let target = label("builtin-" + base) + if doc-links.get() and base in builtin-names and query(target).len() > 0 { + link(target, word-chip(w)) + } else { word-chip(w) } } /// A whole tagline: its grip, the path, then its words. @@ -299,3 +344,173 @@ }) }) } + +/// The newcomer's words, first in the glossary; every other builtin goes +/// under its group below. Each must be in builtins.json. +#let everyday = ("Look", "Exec", "Save", "Undo", "Redo", "New", "Newcol", "Del", "Delcol", + "Tty", "Kill", "Find", "Grep", "Recent", "Dump", "Restore", "Exit", "Help", "Tutor", "Themes", "Config") +/// Debugging and developer words, last whatever their leader path. +#let internals = ("Debug", "EffectCode", "Lspwhy", "Messages", "DumpConfig", "DumpThemes") + +/// The glossary's groups, in order: by the leader path's first key, the +/// way Help groups them, then settings, the words with no path, internals. +#let builtin-groups = ( + (title: "Files", keys: ("f",)), + (title: "Panes and columns", keys: ("c", "d")), + (title: "Moving and jumps", keys: ("w", "j")), + (title: "Terminals", keys: ("n",)), + (title: "Language server", keys: ("l",)), + (title: "Sessions", keys: ("s", "q")), + (title: "Help", keys: ("h", "?")), + (title: "Clipboard", keys: ("y", "Y", "p", "P", "R")), + (title: "Toggles", keys: ("t",)), + (title: "Settings and themes", keys: "setting"), + (title: "Animations", keys: ("a",)), + (title: "Other words", keys: "none"), +) + +#let group-of(b) = { + if b.name in internals { return "internals" } + if b.setting { return "setting" } + if b.leader == none { return "none" } + b.leader.split(" ").at(1) +} + +/// Help spells a shortcut its own way (C-w left, right-click, topbar); +/// this draws it as the docs do. +#let shortcut(s) = { + if s == "topbar" { return [in the workspace tag] } + if s == "middle-click" { return btn("B2") } + if s == "right-click" { return btn("B3") } + if s == "left-click" { return btn("B1") } + let names = (enter: "Enter", tab: "Tab", escape: "Esc", left: "Left", right: "Right", up: "Up", down: "Down", + home: "Home", end: "End", backspace: "Backspace", delete: "Delete", page_up: "PgUp", page_down: "PgDn") + key(s.split(" ").map(t => { + let mods = "" + while t.len() > 2 and t.at(1) == "-" and t.at(0) in ("C", "A", "S") { + mods += (C: "Ctrl-", A: "Alt-", S: "Shift-").at(t.at(0)) + t = t.slice(2) + } + mods + names.at(t, default: t) + }).join(" ")) +} + +/// A doc comment's text, its `code` spans set as code. +#let prose(t) = t.split("`").enumerate().map(((i, part)) => if calc.odd(i) { raw(part) } else { part }).join() + +#let builtin-entry(b) = [ + #heading(depth: 2, raw(b.name)) #label("builtin-" + b.name) + #let keys = (if b.leader != none { (key(b.leader),) } else { () }) + b.also.map(shortcut) + #if b.platforms != "both" [#emph(if b.platforms == "gui" [window only] else [terminal only]) · ] + #if keys.len() > 0 [#keys.join([, ]) · ] + #if b.choices != none [#raw(b.choices.replace(", ", "|")) · ] else if b.arg [takes an argument · ] + #prose(b.doc) +] + +/// The glossary: everyday words first, then the groups, then internals, +/// each alphabetical. A level-1 heading per group in the content file. +#let builtin-glossary() = { + let by-name = (:) + for b in builtin-data { by-name.insert(b.name, b) } + [= Everyday <builtins-everyday>] + for n in everyday.sorted() { builtin-entry(by-name.at(n)) } + let rest = builtin-data.filter(b => b.name not in everyday) + for g in builtin-groups { + let members = rest.filter(b => { + let k = group-of(b) + if type(g.keys) == str { k == g.keys } else { k in g.keys } + }) + if members.len() > 0 { + heading(depth: 1, g.title) + for b in members { builtin-entry(b) } + } + } + let inner = rest.filter(b => group-of(b) == "internals") + if inner.len() > 0 { + [= Debugging and internals] + for b in inner { builtin-entry(b) } + } + // a builtin no group took is a bug in builtin-groups, not a silent drop + let placed = everyday + rest.filter(b => { + let k = group-of(b) + k == "internals" or builtin-groups.any(g => if type(g.keys) == str { k == g.keys } else { k in g.keys }) + }).map(b => b.name) + for b in builtin-data { assert(b.name in placed, message: "builtin " + b.name + " is in no glossary group") } + // last, every word at once, A to Z, each a link to its entry + [= All builtins, A–Z <builtins-a-z>] + context if html-out() { + html.elem("p", attrs: (class: "all-words"), + builtin-data.map(b => link(label("builtin-" + b.name), word-chip(b.name))).join(" ")) + } else { + par(builtin-data.map(b => link(label("builtin-" + b.name), word-chip(b.name))).join(h(0.4em))) + } +} + +/// A directory tree drawn as `tree` draws one. `spec` is a raw block, a +/// line per file: two spaces of indent per level, the name (a directory +/// ends in `/`), two or more spaces, a one-line description, and an +/// optional `@label` naming the section that documents it, which becomes +/// a link wherever that section is in the same output. A description may +/// call #word, #key, #keys or #btn. src/config.zig's +/// test reads the same block in reference.typ against the served tree. +#let fstree(spec, root: "/") = { + // a description is text, unless it calls #word, #key or #btn + let said(d) = if d.contains("#") { eval(d, mode: "markup", scope: (word: word, key: key, keys: keys, btn: btn)) } else { d } + let rows = spec.text.split("\n").filter(l => l.trim() != "").map(l => { + let depth = calc.quo(l.len() - l.trim(at: start).len(), 2) + let m = l.trim().match(regex("^(\S+)(?:\s{2,}(.*?))?(?:\s+@([a-z0-9-]+))?$")) + (depth: depth, name: m.captures.at(0), desc: m.captures.at(1), anchor: m.captures.at(2)) + }) + // the connector for each row: is each ancestor, and the row itself, the + // last among its siblings? + let last(i) = { + let d = rows.at(i).depth + for j in range(i + 1, rows.len()) { + if rows.at(j).depth < d { return true } + if rows.at(j).depth == d { return false } + } + true + } + let lasts = range(rows.len()).map(last) + let prefix(i) = { + let d = rows.at(i).depth + let out = "" + // for each ancestor depth, the nearest row above at that depth + for k in range(d) { + let a = range(i).rev().find(j => rows.at(j).depth == k) + out += if lasts.at(a) { " " } else { "│ " } + } + out + if lasts.at(i) { "└── " } else { "├── " } + } + let named(r) = context { + let t = if r.anchor != none { label(r.anchor) } else { none } + if t != none and query(t).len() > 0 { link(t, r.name) } else { r.name } + } + let width = calc.max(..range(rows.len()).map(i => prefix(i).len() + rows.at(i).name.len())) + context if html-out() { + let nl = html.elem("span", attrs: (class: "nl"), "\n") + html.elem("pre", attrs: (class: "fstree", style: "--name:" + str(width + 2) + "ch"), { + html.elem("span", attrs: (class: "row root"), [#html.elem("span", attrs: (class: "name dir"), root)#nl]) + for (i, r) in rows.enumerate() { + let pad = " " * (width - prefix(i).clusters().len() - r.name.len() + 2) + html.elem("span", attrs: (class: "row"), { + html.elem("span", attrs: (class: if r.name.ends-with("/") { "name dir" } else { "name" }), + [#html.elem("span", attrs: (class: "branch"), prefix(i))#named(r)#pad]) + if r.desc != none { + html.elem("span", attrs: (class: "desc", style: "--cols:" + str(prefix(i).clusters().len())), said(r.desc)) + } + nl + }) + } + }) + } else { + set text(font: mono, size: 0.82em) + block(width: 100%, grid(columns: (auto, 1fr), column-gutter: 1.2em, row-gutter: 0pt, inset: (y: 0.12em), + text(weight: "bold", fill: palette.grip, root), [], + ..rows.enumerate().map(((i, r)) => ( + [#text(fill: palette.rule, prefix(i))#text(fill: if r.name.ends-with("/") { palette.grip } else { palette.ink }, + weight: if r.name.ends-with("/") { "bold" } else { "regular" }, named(r))], + text(font: "Libertinus Serif", size: 1.2em, fill: palette.tag-fg, if r.desc == none { [] } else { said(r.desc) }), + )).flatten())) + } +} diff --git a/src/builtins_json.zig b/src/builtins_json.zig new file mode 100644 index 00000000..7f998388 --- /dev/null +++ b/src/builtins_json.zig @@ -0,0 +1,97 @@ +//! Every builtin as JSON, for the docs' glossary (docs/typ/builtins-tty.json +//! and builtins-gui.json, a build's list each; style.typ merges them): +//! the rows the `Help` builtin draws (pardes.builtin_rows: the leader path +//! and the other shortcuts) with what /commands says of each word (its doc +//! comment's first sentence, or a setting's doc). One source, so the +//! glossary and Help cannot drift; the test below fails when the committed +//! copy is stale, and `zig build builtins-json` rewrites it. +const std = @import("std"); +const pardes = @import("pardes.zig"); +const builtins = @import("builtins.zig"); +const config = @import("config.zig"); +const ctl = @import("ninep/ctl.zig"); + +fn str(w: *std.Io.Writer, s: []const u8) !void { + try w.writeByte('"'); + for (s) |c| switch (c) { + '"' => try w.writeAll("\\\""), + '\\' => try w.writeAll("\\\\"), + '\n' => try w.writeAll("\\n"), + 0...9, 11...0x1f => try w.print("\\u{x:0>4}", .{c}), + else => try w.writeByte(c), + }; + try w.writeByte('"'); +} + +const Entry = struct { name: []const u8, row: usize }; + +fn lessName(_: void, a: Entry, b: Entry) bool { + return std.mem.lessThan(u8, a.name, b.name); +} + +pub fn write(w: *std.Io.Writer) !void { + var order: [pardes.builtin_rows.len]Entry = undefined; + for (pardes.builtin_rows, 0..) |row, i| order[i] = .{ .name = @tagName(row.cmd), .row = i }; + std.mem.sort(Entry, &order, {}, lessName); + try w.writeAll("[\n"); + for (order, 0..) |e, n| { + const row = pardes.builtin_rows[e.row]; + const b = row.cmd; + const name = @tagName(b); + try w.writeAll(" {\"name\": "); + try str(w, name); + try w.writeAll(", \"leader\": "); + if (row.path) |p| { + try w.writeAll("\"SPC"); + for (p) |c| try w.print(" {c}", .{c}); + try w.writeByte('"'); + } else try w.writeAll("null"); + // Help's line ends in the other shortcuts, after the name's column. + try w.writeAll(", \"also\": ["); + const at = std.mem.indexOf(u8, row.line, name).? + name.len; + const rest = std.mem.trim(u8, row.line[at..], " "); + var parts = std.mem.splitSequence(u8, rest, ", "); + var first = true; + while (parts.next()) |part| if (part.len > 0) { + if (!first) try w.writeAll(", "); + first = false; + try str(w, part); + }; + try w.writeAll("], \"arg\": "); + try w.writeAll(if (builtins.registry.takesArg(b)) "true" else "false"); + try w.writeAll(", \"scope\": "); + try str(w, if (b == .Edit) "both" else if (builtins.registry.scope(b) == .session) "root" else "pane"); + const setting = config.Runtime.find(name); + try w.writeAll(", \"setting\": "); + try w.writeAll(if (setting != null) "true" else "false"); + try w.writeAll(", \"choices\": "); + if (setting) |s| if (config.Runtime.choices(s.action)) |v| try str(w, v) else try w.writeAll("null") else try w.writeAll("null"); + var buf: [2048]u8 = undefined; + const doc = if (setting) |s| s.doc else ctl.summaryOf(name, &buf); + try w.writeAll(", \"doc\": "); + try str(w, doc); + try w.writeAll(if (n + 1 < order.len) "},\n" else "}\n"); + } + try w.writeAll("]\n"); +} + +test "docs/typ/builtins-<platform>.json is what the registry says now" { + // a terminal build checks its file, a window build its own + const file = switch (pardes.platform) { + .tty => "builtins-tty.json", + .gui => "builtins-gui.json", + else => return error.SkipZigTest, + }; + const gpa = std.testing.allocator; + var out: std.Io.Writer.Allocating = .init(gpa); + defer out.deinit(); + try write(&out.writer); + var dir = try std.Io.Dir.cwd().openDir(std.testing.io, @import("doc_typ").dir, .{}); + defer dir.close(std.testing.io); + const committed = try dir.readFileAlloc(std.testing.io, file, gpa, .limited(1 << 20)); + defer gpa.free(committed); + if (!std.mem.eql(u8, committed, out.written())) { + std.debug.print("docs/typ/{s} is stale: run `zig build builtins-json -Dplatform={s} --prefix <dir>`\n", .{ file, @tagName(pardes.platform) }); + return error.StaleBuiltinsJson; + } +} diff --git a/src/config.zig b/src/config.zig index e9595a2a..f83e7945 100644 --- a/src/config.zig +++ b/src/config.zig @@ -2101,9 +2101,16 @@ const doc_typ = struct { } } + /// The other build's builtins (docs/typ/builtins-*.json), so the docs + /// may name a window-only word in a terminal build's test, and back. + var other_build: []const u8 = ""; + fn word(w: []const u8) bool { const name = w[0 .. std.mem.indexOfScalar(u8, w, '+') orelse w.len]; - return std.meta.stringToEnum(Builtin, name) != null; + if (std.meta.stringToEnum(Builtin, name) != null) return true; + var buf: [96]u8 = undefined; + const needle = std.fmt.bufPrint(&buf, "{{\"name\": \"{s}\",", .{name}) catch return false; + return std.mem.indexOf(u8, other_build, needle) != null; } fn chord(tok: []const u8) ?Chord { @@ -2195,6 +2202,10 @@ test "docs/typ names only words, keys and default tags that exist" { var dir = try std.Io.Dir.cwd().openDir(io, @import("doc_typ").dir, .{ .iterate = true }); defer dir.close(io); var found: [3]std.ArrayList([]const u8) = @splat(.empty); + for ([_][]const u8{ "builtins-tty.json", "builtins-gui.json" }) |f| { + const text = dir.readFileAlloc(io, f, gpa, .limited(1 << 20)) catch continue; + doc_typ.other_build = try std.mem.concat(gpa, u8, &.{ doc_typ.other_build, text }); + } var it = dir.iterate(); while (try it.next(io)) |entry| if (entry.kind == .file and std.mem.endsWith(u8, entry.name, ".typ")) { const source = try dir.readFileAlloc(io, entry.name, gpa, .limited(1 << 20)); @@ -2331,3 +2342,61 @@ test "the tutor names only words, keys, paths and default tags that exist" { } } } + +test "reference.typ's #fstree is the tree the session serves, file for file" { + const tree = @import("ninep/tree.zig"); + var arena: std.heap.ArenaAllocator = .init(std.testing.allocator); + defer arena.deinit(); + const gpa = arena.allocator(); + const io = std.testing.io; + var dir = try std.Io.Dir.cwd().openDir(io, @import("doc_typ").dir, .{}); + defer dir.close(io); + const source = try dir.readFileAlloc(io, "reference.typ", gpa, .limited(1 << 20)); + const open = "#fstree(```"; + const start = (std.mem.indexOf(u8, source, open) orelse return error.NoFsTree) + open.len; + const end = std.mem.indexOfPos(u8, source, start, "```)") orelse return error.NoFsTree; + + // what the reference draws: a path per line, from its indent + var drawn: std.StringArrayHashMapUnmanaged(void) = .empty; + var stack: [8][]const u8 = undefined; + var lines = std.mem.tokenizeScalar(u8, source[start..end], '\n'); + while (lines.next()) |line| { + const body = std.mem.trimStart(u8, line, " "); + if (body.len == 0) continue; + const depth = (line.len - body.len) / 2; + const name = body[0 .. std.mem.indexOfScalar(u8, body, ' ') orelse body.len]; + stack[depth] = name; + var path: std.ArrayList(u8) = .empty; + for (stack[0 .. depth + 1]) |part| try path.appendSlice(gpa, part); + try drawn.put(gpa, path.items, {}); + } + + // what the session serves: tree.zig's files, and fs.zig's os/ and src/ + var served: std.StringArrayHashMapUnmanaged(void) = .empty; + for (std.enums.values(tree.TopFile)) |f| switch (f) { + .root => {}, + .new => try served.put(gpa, "pane/new", {}), + else => try served.put(gpa, if (f.dir()) try std.fmt.allocPrint(gpa, "{s}/", .{f.fileName()}) else f.fileName(), {}), + }; + try served.put(gpa, "os/", {}); + try served.put(gpa, "src/", {}); + try served.put(gpa, "pane/<n>/", {}); + for (std.enums.values(tree.PaneFile)) |f| if (f != .dir) { + const under = if (f.inPty() and f != .pty) "pane/<n>/pty/" else "pane/<n>/"; + try served.put(gpa, try std.fmt.allocPrint(gpa, "{s}{s}{s}", .{ under, f.fileName(), if (f.isDir()) "/" else "" }), {}); + }; + try served.put(gpa, "col/<n>/", {}); + for (std.enums.values(tree.ColFile)) |f| if (f != .dir) + try served.put(gpa, try std.fmt.allocPrint(gpa, "col/<n>/{s}", .{f.fileName()}), {}); + + var drift = false; + for (served.keys()) |k| if (!drawn.contains(k)) { + std.debug.print("reference.typ's tree lacks {s}\n", .{k}); + drift = true; + }; + for (drawn.keys()) |k| if (!served.contains(k)) { + std.debug.print("reference.typ's tree has {s}, which the session does not serve\n", .{k}); + drift = true; + }; + if (drift) return error.FsTreeDrift; +} diff --git a/src/ninep/ctl.zig b/src/ninep/ctl.zig index adfc91fa..f2490e38 100644 --- a/src/ninep/ctl.zig +++ b/src/ninep/ctl.zig @@ -789,7 +789,7 @@ fn sizeOf(line: []const u8) ?[2]u16 { /// itself, so a new builtin is listed the moment it exists. /// A builtin's doc comment, its first sentence, from the source itself: a /// line of /commands says what each word does without a second copy of it. -fn summaryOf(word: []const u8, buf: []u8) []const u8 { +pub fn summaryOf(word: []const u8, buf: []u8) []const u8 { const source = @embedFile("../builtins.zig"); var needle_buf: [64]u8 = undefined; const needle = std.fmt.bufPrint(&needle_buf, "\npub const {s} = struct", .{word}) catch return ""; diff --git a/src/pardes.zig b/src/pardes.zig index 38373266..310a4b56 100644 --- a/src/pardes.zig +++ b/src/pardes.zig @@ -46,6 +46,8 @@ pub const Region = @import("surface.zig").Region; pub const Chrome = @import("surface.zig").Chrome; pub const MAX_REGIONS = @import("surface.zig").MAX_REGIONS; pub const builtins = @import("builtins.zig"); +/// Every builtin as JSON, for the docs (tools/gen_builtins_json.zig). +pub const builtins_json = @import("builtins_json.zig"); const limits = memory.limits; const selection_pipe = @import("selection_pipe.zig"); pub const config = @import("config.zig"); @@ -477,6 +479,7 @@ pub const Loc = struct { test { _ = @import("tagline.zig"); + _ = @import("builtins_json.zig"); _ = @import("exec.zig"); _ = @import("look.zig"); _ = @import("sam_edit.zig"); diff --git a/tools/gen_builtins_json.zig b/tools/gen_builtins_json.zig new file mode 100644 index 00000000..71df5307 --- /dev/null +++ b/tools/gen_builtins_json.zig @@ -0,0 +1,14 @@ +//! Writes every builtin as JSON to the path given (docs/typ/builtins-<tty|gui>.json, +//! by way of `zig build builtins-json`). +const std = @import("std"); +const pardes = @import("pardes"); + +pub fn main(init: std.process.Init) !void { + const args = try init.minimal.args.toSlice(init.arena.allocator()); + var file = try std.Io.Dir.cwd().createFile(init.io, args[1], .{}); + defer file.close(init.io); + var buf: [4096]u8 = undefined; + var w = file.writer(init.io, &buf); + try pardes.builtins_json.write(&w.interface); + try w.interface.flush(); +} |
