| author | |
| committer | |
| log | 98814e04e30acd58e15833964b0a216cf36b7a5b |
| tree | 0eae158f61b04d26b652a2ee931dff0e904408be |
| signature | Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU |
Assisted-by: gpt-6-astra1827 files changed, 43966 insertions(+), 0 deletions(-)
.gitignore created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | /target/ | |
| 2 | /corpus/private/ | |
| 3 | /corpus/recovered/ | |
| 4 | /evidence/ | |
| 5 | /.DS_Store | |
| 6 | __pycache__/ | |
| 7 | /fuzz/target/ | |
| 8 | /fuzz/corpus/ | |
| 9 | /fuzz/artifacts/ | |
| 10 | /fuzz/coverage/ | |
| 11 | /tools/w7/payload/vendor/ |
API-AUDIT.md created+69| ... | ... | @@ -0,0 +1,69 @@ |
| 1 | # Public API audit | |
| 2 | ||
| 3 | The current API is reasonable for a Rust reader/canvas prototype and the supported | |
| 4 | text-edit diagnostic tool. It is an experimental interoperability API, not yet a | |
| 5 | stable application SDK. The workspace move preserves every public name and its | |
| 6 | behavior; this audit adds contract documentation without introducing wrappers or | |
| 7 | changing serialization. | |
| 8 | ||
| 9 | ## Consumer boundary | |
| 10 | ||
| 11 | ```text | |
| 12 | owned snapshot bytes | |
| 13 | └─ Store::parse committed storage; checksum diagnostics | |
| 14 | └─ RevisionIndex::parse revision identities and dependencies | |
| 15 | └─ Document::parse semantic views; checksum damage rejected | |
| 16 | ├─ pages() active section pages in stored order | |
| 17 | └─ text_runs() text with inherited formatting and links | |
| 18 | ||
| 19 | snapshot + typed identities + UTF-16 range + replacement | |
| 20 | └─ commit_file_text lock → compare snapshot → append → flush | |
| 21 | └─ Result<(), CommitError> success or explicit publication state | |
| 22 | ``` | |
| 23 | ||
| 24 | A document represents one `.one` or `.onetoc2` file, not a notebook directory. | |
| 25 | The directory, section ordering, native references and report assets are currently | |
| 26 | assembled by the tooling. A second crate can use the semantic model directly and | |
| 27 | keep its layout/cache state separate. Mutating the public model changes only the | |
| 28 | inspection view; writers reparse the supplied snapshot and enforce their own | |
| 29 | invariants. | |
| 30 | ||
| 31 | ## Findings and decisions | |
| 32 | ||
| 33 | | Area | Assessment | Recommendation | | |
| 34 | | --- | --- | --- | | |
| 35 | | Read/write separation | Good: parsed views cannot accidentally save themselves. Snapshot comparison rejects stale writes before publication. | Keep explicit commit operations; do not add a mutable document plus generic `save()`. | | |
| 36 | | Commit outcomes | Good: `NotCommitted`, `Unknown` and `Committed` distinguish retry behavior. An error can still mean the edit persisted. | Keep this distinction at every UI/FFI boundary. Variant documentation now states the caller action. | | |
| 37 | | Borrowing and lifetimes | The model owns decoded strings but borrows payloads. Consumers must retain its source snapshot/store. An application object holding both bytes and borrowed views would require a different ownership design. | Let the canvas prototype determine whether its actual access pattern needs an owned model. Do not add a self-referential owner or duplicate document DTO in advance. | | |
| 38 | | Semantic error classification | `Error` exposes diagnostic text and an offset, with no typed reason. I/O failures already have `ErrorKind`; semantic distinctions such as unsupported edits and temporarily missing contexts require text matching today. | Before adding automatic semantic recovery, choose a small typed classification based on the recovery actions it needs. A detailed variant for every parser message would enlarge the compatibility burden. | | |
| 39 | | Editable text discovery | Readable text is broader than editable text: hidden fields, hyperlinks, equations, generated content, conflicts and protected content can be readable but rejected for writing. Currently callers can try `replace_text` and inspect its result; candidate discovery duplicates some checks in the random-edit example. | For the diagnostic tool, obtain eligibility from the writer's actual validation. If a public eligibility API is added, share that validation rather than maintain a second list of rules. | | |
| 40 | | Identity transport | `ExGuid` is typed, ordered, hashable and serializes to its display string. It has no `FromStr` or `Deserialize`. Existing tools retain or look up typed IDs instead of parsing them. | A Rust canvas can keep typed IDs. A JSON editing endpoint should either map strings back to IDs from its snapshot or justify a canonical parser with round-trip tests. | | |
| 41 | | Raw storage exports | `Header`, nodes, references, property arenas and both revision layers are public. They are useful for diagnostics, but expose implementation details to consumers. | Keep them available during interoperability work; have the UI depend on `onestore::document` plus edit functions. Moving them into a separate module now would create churn without an established consumer requirement. | | |
| 42 | | Public fields and enums | Inspection fields are mutable and enums are exhaustive. Downstream code can depend on the exact shape. | Treat the current Rust and JSON shapes as experimental. Whether to restrict construction or allow future enum variants is an API-evolution tradeoff to decide with the first consumer, not an assumed stability promise. | | |
| 43 | | Document boundaries | `pages()` excludes conflicts/history, returns no visible pages for encryption, and rejects TOC files. All referenced contexts remain in the model. | These boundaries are now documented on the method. Readers must inspect the root kind when distinguishing a locked section from an empty section. | | |
| 44 | | Units and defaults | Coordinates are points, edit/run offsets are UTF-16 units, Time32 values use the 1980 epoch, and `Format` preserves absence separately from explicit false. | Keep the native distinctions; renderers should use resolved runs and convert offsets explicitly when crossing into UTF-8 or browser selection APIs. | | |
| 45 | | In-memory replacements | `replace_text` and `replace_property_bytes` return complete byte images without locking or persistence. Overwriting a live file with those bytes would bypass the commit protocol. | Their documentation now directs existing-file updates to the corresponding commit functions. Raw scalar editing still requires the caller to maintain document semantics. | | |
| 46 | | Scope and dependencies | The library stays native and synchronous, with no network runtime, renderer, process management or platform UI dependency. Internal writer helpers remain crate-private. | Keep the core boundary. Put diagnostic serving and rendering in consumers; expose a C ABI only against concrete embedding needs. | | |
| 47 | ||
| 48 | The two decisions worth reviewing before the diagnostic tool are semantic error | |
| 49 | classification and edit eligibility. Neither requires a broad API redesign. | |
| 50 | The lifetime/ownership question can be informed by the separate canvas prototype. | |
| 51 | ||
| 52 | ## Verification | |
| 53 | ||
| 54 | - Root workspace tests: `evidence/m8/workspace-tests.log`. | |
| 55 | - Clippy and formatting: `workspace-clippy.log`, `workspace-format.log`. | |
| 56 | - Rustdoc and compiled documentation example: `workspace-docs.log`, | |
| 57 | `workspace-doctests.log`. | |
| 58 | - All eight cargo-fuzz targets build against the relocated library: | |
| 59 | `workspace-fuzz-build.log`. | |
| 60 | - Python verification tools: 36 tests in `workspace-python.log`. | |
| 61 | - An independent crate under `evidence/m8/api-consumer` uses only public APIs to | |
| 62 | create a section, traverse pages/runs, serialize identities, commit a Unicode | |
| 63 | edit, reject a stale snapshot through typed commit/I/O state, and reopen the | |
| 64 | exact resulting text. Output: `evidence/m8/api-consumer.log`. | |
| 65 | ||
| 66 | The audit examined exported declarations and their implementations in storage, | |
| 67 | revision resolution, document interpretation, creation, editing and persistence. | |
| 68 | It does not freeze the API or turn the earlier native compatibility evidence into | |
| 69 | a new platform guarantee. |
Cargo.lock created+169| ... | ... | @@ -0,0 +1,169 @@ |
| 1 | # This file is automatically @generated by Cargo. | |
| 2 | # It is not intended for manual editing. | |
| 3 | version = 4 | |
| 4 | ||
| 5 | [[package]] | |
| 6 | name = "bitflags" | |
| 7 | version = "2.13.1" | |
| 8 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 9 | checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" | |
| 10 | ||
| 11 | [[package]] | |
| 12 | name = "cfg-if" | |
| 13 | version = "1.0.4" | |
| 14 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 15 | checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" | |
| 16 | ||
| 17 | [[package]] | |
| 18 | name = "cfg_aliases" | |
| 19 | version = "0.2.2" | |
| 20 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 21 | checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" | |
| 22 | ||
| 23 | [[package]] | |
| 24 | name = "getrandom" | |
| 25 | version = "0.4.3" | |
| 26 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 27 | checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" | |
| 28 | dependencies = [ | |
| 29 | "cfg-if", | |
| 30 | "libc", | |
| 31 | "r-efi", | |
| 32 | ] | |
| 33 | ||
| 34 | [[package]] | |
| 35 | name = "itoa" | |
| 36 | version = "1.0.18" | |
| 37 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 38 | checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" | |
| 39 | ||
| 40 | [[package]] | |
| 41 | name = "libc" | |
| 42 | version = "0.2.189" | |
| 43 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 44 | checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" | |
| 45 | ||
| 46 | [[package]] | |
| 47 | name = "md5" | |
| 48 | version = "0.8.1" | |
| 49 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 50 | checksum = "7ebb8d8732c6a6df3d8f032a82911cfc747e00efb95cc46e8d0acd5b5b88570c" | |
| 51 | ||
| 52 | [[package]] | |
| 53 | name = "memchr" | |
| 54 | version = "2.8.3" | |
| 55 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 56 | checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" | |
| 57 | ||
| 58 | [[package]] | |
| 59 | name = "nix" | |
| 60 | version = "0.31.3" | |
| 61 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 62 | checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" | |
| 63 | dependencies = [ | |
| 64 | "bitflags", | |
| 65 | "cfg-if", | |
| 66 | "cfg_aliases", | |
| 67 | "libc", | |
| 68 | ] | |
| 69 | ||
| 70 | [[package]] | |
| 71 | name = "onestore" | |
| 72 | version = "0.1.0" | |
| 73 | dependencies = [ | |
| 74 | "getrandom", | |
| 75 | "md5", | |
| 76 | "nix", | |
| 77 | "serde", | |
| 78 | "serde_json", | |
| 79 | ] | |
| 80 | ||
| 81 | [[package]] | |
| 82 | name = "proc-macro2" | |
| 83 | version = "1.0.107" | |
| 84 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 85 | checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" | |
| 86 | dependencies = [ | |
| 87 | "unicode-ident", | |
| 88 | ] | |
| 89 | ||
| 90 | [[package]] | |
| 91 | name = "quote" | |
| 92 | version = "1.0.47" | |
| 93 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 94 | checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" | |
| 95 | dependencies = [ | |
| 96 | "proc-macro2", | |
| 97 | ] | |
| 98 | ||
| 99 | [[package]] | |
| 100 | name = "r-efi" | |
| 101 | version = "6.0.0" | |
| 102 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 103 | checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" | |
| 104 | ||
| 105 | [[package]] | |
| 106 | name = "serde" | |
| 107 | version = "1.0.229" | |
| 108 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 109 | checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" | |
| 110 | dependencies = [ | |
| 111 | "serde_core", | |
| 112 | "serde_derive", | |
| 113 | ] | |
| 114 | ||
| 115 | [[package]] | |
| 116 | name = "serde_core" | |
| 117 | version = "1.0.229" | |
| 118 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 119 | checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" | |
| 120 | dependencies = [ | |
| 121 | "serde_derive", | |
| 122 | ] | |
| 123 | ||
| 124 | [[package]] | |
| 125 | name = "serde_derive" | |
| 126 | version = "1.0.229" | |
| 127 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 128 | checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" | |
| 129 | dependencies = [ | |
| 130 | "proc-macro2", | |
| 131 | "quote", | |
| 132 | "syn", | |
| 133 | ] | |
| 134 | ||
| 135 | [[package]] | |
| 136 | name = "serde_json" | |
| 137 | version = "1.0.151" | |
| 138 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 139 | checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" | |
| 140 | dependencies = [ | |
| 141 | "itoa", | |
| 142 | "memchr", | |
| 143 | "serde", | |
| 144 | "serde_core", | |
| 145 | "zmij", | |
| 146 | ] | |
| 147 | ||
| 148 | [[package]] | |
| 149 | name = "syn" | |
| 150 | version = "3.0.5" | |
| 151 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 152 | checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" | |
| 153 | dependencies = [ | |
| 154 | "proc-macro2", | |
| 155 | "quote", | |
| 156 | "unicode-ident", | |
| 157 | ] | |
| 158 | ||
| 159 | [[package]] | |
| 160 | name = "unicode-ident" | |
| 161 | version = "1.0.24" | |
| 162 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 163 | checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" | |
| 164 | ||
| 165 | [[package]] | |
| 166 | name = "zmij" | |
| 167 | version = "1.0.23" | |
| 168 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 169 | checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" |
Cargo.toml created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | [workspace] | |
| 2 | members = ["crates/*"] | |
| 3 | exclude = ["fuzz"] | |
| 4 | resolver = "3" |
FEATURES.md created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | # Milestone 6 feature matrix | |
| 2 | ||
| 3 | The matrix follows MS-ONE's document families, including features absent from the | |
| 4 | personal corpus. Each row requires an independently authored native fixture, | |
| 5 | Rust interpretation checks, and a review-report inspection before acceptance. | |
| 6 | A retained opaque payload is evidence of preservation, not interpreted coverage. | |
| 7 | ||
| 8 | | Family | Required cases | Specification Evidence | | |
| 9 | | --- | --- | --- --- | | |
| 10 | | Notebook structure | Multiple notebooks, section groups, section ordering/colors, duplicate names, empty sections | 2.2.14–18, 2.2.91–96 [Native feature controls](corpus/m6/native-features-01/ORACLE.md); [Rust scale](evidence/m6/rust-scale-final-01.log) | | |
| 11 | | Pages | Titles/alternate titles, order, subpages, duplicate text/titles, authors/timestamps, RTL | 2.2.19, 2.2.29–31, 2.2.58, 2.3.74 [Direction/origin controls](corpus/m6/native-page-direction-03); [private review](evidence/m6/private-current-report-05/qa/review.json) | | |
| 12 | | Outline hierarchy | Positioned outlines, nesting, outline groups, indentation, collapsed/hidden content | 2.2.20–23, 2.3.8, 2.3.18–19 [Structure](corpus/m6/native-structure-01/ORACLE.md); [saved collapse](corpus/m6/rust-collapse-control-01/ORACLE.md) | | |
| 13 | | Text | ASCII/Unicode preference, surrogate pairs, combining marks, mixed scripts, empty/long paragraphs | 2.1.4, 2.2.5, 2.2.23, 2.2.89 [100 native histories](evidence/m6/native-histories-independent-03.log); [break controls](corpus/m6/native-break-controls-02) | | |
| 14 | | Character formatting | Mixed runs, font/size/color/highlight, bold/italic/underline/strike, super/subscript, language | 2.2.43–45, 2.2.76–77, 2.3.9–16 [Native probes](corpus/m6/native-probes-01/ORACLE.md); [private native comparison](evidence/m6/private-current-compare-01.log) | | |
| 15 | | Paragraph formatting | Named styles, alignment, spacing, RTL, style inheritance | 2.2.44, 2.2.80, 2.2.83, 2.3.81–83 [Structure](corpus/m6/native-structure-01/ORACLE.md); [feature report inspection](evidence/m6/features-report-05/qa/review.json) | | |
| 16 | | Lists | Bullets, numbering, restarts, mixed indentation, custom fonts/formats | 2.2.25, 2.2.57, 2.3.20, 2.3.43 [Structure](corpus/m6/native-structure-01/ORACLE.md); [numbering controls](corpus/m6/native-features-01/ORACLE.md) | | |
| 17 | | Tables | Multiple rows/columns, nested content, widths, shading, borders, locked columns | 2.2.26–28, 2.2.66, 2.2.70, 2.2.97 [Widths/locks](corpus/m6/native-structure-01/ORACLE.md); [RTL](corpus/m6/native-page-direction-03); [shading limitation](corpus/m6/cell-shading-control-01/ORACLE.md) | | |
| 18 | | Links | External/internal links, formatted labels, embedded text-run data | 2.2.78, 2.2.82, 2.2.90, 2.3.75–77 [Native link controls](corpus/m6/native-link-controls-01); [empty-label regression](corpus/m6/native-empty-link-01) | | |
| 19 | | Images | Multiple formats, sizes, alt text, filenames, internal/external containers, background/printout images | 2.2.24, 2.2.36, 2.2.59, 2.2.75, 2.2.79 [Native formats/roles](corpus/m6/native-features-01/ORACLE.md); [browser inspection](evidence/m6/features-report-05/qa/review.json) | | |
| 20 | | Files and media | Attachments, original filenames, recording identifiers, audio/video payloads and associated text | 2.2.32–33, 2.2.60–61, 2.2.71–72 [Native attachment/recording controls](corpus/m6/native-features-01/ORACLE.md) | | |
| 21 | | Ink and embedded objects | Strokes, placement, native payload/export comparison, math and embedded text-run objects | Native ink corpus; 2.3.79–80 [Native ink](corpus/native-ink/cold-ui-ink); [math](corpus/m6/native-math-01/ORACLE.md): payload/run preservation, opaque rendering | | |
| 22 | | Tags and tasks | Standard/custom tags, multiple tags, checked/unchecked state, task status/dates | 2.1.9, 2.2.41–42, 2.2.84–88, 2.3.85–96 [Native task controls](corpus/m6/native-features-01/ORACLE.md); [private tags](evidence/m6/private-current-compare-01.log) | | |
| 23 | | History and recovery | Version pages/contexts, recycle-bin pages, conflicts and their source relationships | 2.1.1–2, 2.1.17, 2.2.34–40, 2.2.86 [Private history review](evidence/m6/private-current-report-05/qa/review.json); [live conflicts/recovery](corpus/m6/live-collaboration-15/ORACLE.md) | | |
| 24 | | Protection and unknowns | Locked section identity/ciphertext, unknown JCIDs/properties, malformed structures | MS-ONESTORE encryption; MS-ONE 2.1.5, 2.1.12 [Existing corpus checks](evidence/m6/corpus-regression-01.log); [document fuzzing](evidence/m6/document-public-fuzz-08.log): ciphertext/raw data preserved | | |
| 25 | | Scale and interactions | Rust/native large notebooks, many pages/objects/assets, repeated identities/text, mixed feature histories | All applicable rows [Independent native histories](evidence/m6/native-histories-independent-03.log); [Rust scale](evidence/m6/rust-scale-final-01.log) | | |
| 26 | ||
| 27 | [M6-ACCEPTANCE.md](M6-ACCEPTANCE.md) records the native builds, comparisons, | |
| 28 | report inspections, regression campaigns and interpretation boundaries. `evidence/m6/spec-objects.json` | |
| 29 | is the current object-definition inventory extracted from the supplied markdown. |
M6-ACCEPTANCE.md created+102| ... | ... | @@ -0,0 +1,102 @@ |
| 1 | # Milestone 6 verification | |
| 2 | ||
| 3 | The deliverable is a read-only document model and reading report. Its acceptance | |
| 4 | boundary is the copied personal notebook: automated native comparisons plus a | |
| 5 | page-by-page review with no known easily spottable content failures. Native PDF | |
| 6 | references preserve access to the original canvas arrangement. | |
| 7 | ||
| 8 | ## Personal notebook | |
| 9 | ||
| 10 | [The current report](evidence/m6/private-current-report-05/index.html) includes the | |
| 11 | user-approved newer `Video.one`. [Its source manifest](corpus/private/current-source-manifest.json) | |
| 12 | identifies that snapshot; [the original frozen manifest](corpus/private/source-manifest.json) | |
| 13 | remains separate. The original files are never edited by the library tests. | |
| 14 | ||
| 15 | | Check | Evidence | | |
| 16 | | --- | --- | | |
| 17 | | 26 current/recycle pages, 109 tags, 188,560 explicit character-format comparisons | [Fresh-cache comparison](evidence/m6/private-current-compare-01.log) | | |
| 18 | | 18 historical pages, including all three versions of the updated Video page | [Album](evidence/m6/private-history-final-01.log), [Video](evidence/m6/private-video-current-history-cold-compare-01.log), [deleted page](evidence/m6/private-deleted-history-final-01.log) | | |
| 19 | | All 45 report pages reviewed: ordinary, historical, recycle-bin and default template | [Review record](evidence/m6/private-current-report-05/qa/review.json) | | |
| 20 | | Frozen copy, approved current copy and live sources match their respective manifests | [Integrity check](evidence/m6/source-integrity-current-01.json) | | |
| 21 | ||
| 22 | The updated current page was inspected through eight browser viewports and two | |
| 23 | native PDF pages. Unchanged page bodies inherit their earlier review only after | |
| 24 | an exact rendered-content comparison. All exported image payloads decode. | |
| 25 | History labels use America/Los_Angeles. Seventeen historical dates match native | |
| 26 | UI evidence; copying the sole deleted-page version changes its native displayed | |
| 27 | date, so the report retains the source revision timestamp and records that | |
| 28 | normalization separately. | |
| 29 | ||
| 30 | ## Independent and adversarial checks | |
| 31 | ||
| 32 | | Campaign | Result and evidence | | |
| 33 | | --- | --- | | |
| 34 | | Native edit histories | [100 histories / 2,000 independently specified operations](evidence/m6/native-histories-independent-03.log); [101 resulting pages compared](evidence/m6/native-histories-final-02.log) | | |
| 35 | | Shrinking | [Seed 21](evidence/m6/history-shrink-21/minimal.json) reduced from 20 operations to 3 in 37 fresh-clone replays; [empty-link regression](corpus/m6/native-empty-link-01) | | |
| 36 | | Rust scale generation | [128 sections / 2,097,152 Unicode scalars](evidence/m6/rust-scale-final-01.log), including reverse section ordering after native import | | |
| 37 | | Document fuzzing | [65,736 runs / 121 seconds](evidence/m6/document-public-fuzz-08.log) after the collapse-field change; prior [100,398-run campaign](evidence/m6/document-public-fuzz-07.log) and [11,423 private-seed runs](evidence/m6/document-private-fuzz-03.log) | | |
| 38 | | Rust checks | [All targets](evidence/m6/rust-regression-06.log), [clippy](evidence/m6/clippy-final-04.log) | | |
| 39 | | Native/report tooling | [18 tests](evidence/m6/tool-regression-15.log), including deliberate oracle failures and TIFF/native pixel parity | | |
| 40 | | Existing writer and fault cases | [Writer](evidence/m6/writer-regression-01.log), [collaboration/FLUSH regression](evidence/m6/collaboration-regression-02.log) | | |
| 41 | | Expanded live matrix | [Seven passing cases](corpus/m6/live-collaboration-15/ORACLE.md), [fresh-cache comparison](evidence/m6/live-collaboration-cold-compare-15.log), [native conflict view](corpus/m6/live-collaboration-cold-15/conflict.png) | | |
| 42 | ||
| 43 | The document fuzzer mutates property streams inside native files and repairs | |
| 44 | object checksums, reaching document interpretation beyond header rejection. | |
| 45 | It traverses referenced historical revisions and resolves text runs. Native | |
| 46 | histories have a separate expected-operation model; matching two views derived | |
| 47 | from the Rust decoder is not counted as independent verification. | |
| 48 | ||
| 49 | The live matrix covers disjoint edits, competing edits, Samba restart, per-client | |
| 50 | transport loss, whole-file lock contention, OneNote process termination and abrupt | |
| 51 | VM termination. The process/VM cases recover already server-persisted edits. | |
| 52 | They do not establish unsynchronized-cache durability or physical power-loss | |
| 53 | safety. Earlier stage-5 cases separately cover lost successful SMB FLUSH replies. | |
| 54 | ||
| 55 | ## Interpretation and oracle boundaries | |
| 56 | ||
| 57 | - Native XML omits partial black highlights. Native PDF rectangles supply a | |
| 58 | separate check; the reader retains the stored highlight. | |
| 59 | - RTL native XML column order differs from physical left-to-right storage order. | |
| 60 | Independent PDF coordinates establish the conversion. Page-origin translation, | |
| 61 | locked/unlocked column widths and printout borders have isolated controls. | |
| 62 | - A saved paragraph collapse default differs from a client's transient expanded | |
| 63 | view. [The native UI control](corpus/m6/native-expanded-control-ui-01/ORACLE.md) | |
| 64 | and [Rust-authored control](corpus/m6/rust-collapse-control-01/ORACLE.md) distinguish them. | |
| 65 | - Ink, structured equations, encrypted content and unknown properties retain | |
| 66 | payloads or source identities. Preservation is not decryption or interpretation. | |
| 67 | Structured equation runs expose a native-reference placeholder; ordinary inline | |
| 68 | math text remains readable. | |
| 69 | - TIFF browser previews match OneNote's exported pixels while original TIFF bytes | |
| 70 | remain available. Native image conversion is not a license to replace source data. | |
| 71 | - [Cell shading](corpus/m6/cell-shading-control-01/ORACLE.md) follows the documented | |
| 72 | stored COLORREF value. A fresh OneNote 2010 cache opens the control but omits | |
| 73 | shading from XML and renders the cell white; native rendering parity for that | |
| 74 | property is not claimed. | |
| 75 | ||
| 76 | Verification uses OneNote 2010 build 14.0.4763.1000 in disposable Windows 7 clones. | |
| 77 | The earlier storage/collaboration corpus used build 14.0.7015.1000 on the physical | |
| 78 | machine. Each run records its environment and cleanup. These finite campaigns | |
| 79 | support this milestone's review boundary, not a claim of universal compatibility | |
| 80 | or absence of bugs. | |
| 81 | ||
| 82 | ## Reproduce | |
| 83 | ||
| 84 | Use a new output directory for each native capture or report: | |
| 85 | ||
| 86 | ```sh | |
| 87 | cargo test --all-targets | |
| 88 | cargo clippy --all-targets -- -D warnings | |
| 89 | cargo build --example document | |
| 90 | PYTHONPATH=tools python3 -m unittest discover -s tools -p 'test_*.py' | |
| 91 | python3 tools/native_runner.py COPIED_NOTEBOOK NEW_CAPTURE --pdf | |
| 92 | python3 tools/verify-document.py COPIED_NOTEBOOK NEW_CAPTURE/read | |
| 93 | python3 tools/notebook_report.py COPIED_NOTEBOOK NEW_REPORT \ | |
| 94 | --native NEW_CAPTURE/read --timezone America/Los_Angeles | |
| 95 | cargo +nightly fuzz run document -- -max_total_time=120 -max_len=512 -rss_limit_mb=2048 | |
| 96 | python3 tools/native_collaboration.py NEW_CAPTURE --linux OWNED_LAB_NAME | |
| 97 | ``` | |
| 98 | ||
| 99 | Python native comparison/report tests require Pillow and pdfplumber. Historical | |
| 100 | report references use repeated `--versions CAPTURE_DIRECTORY` arguments after | |
| 101 | `verify-document.py --versions CAPTURE_DIRECTORY/version-ui.json` has checked | |
| 102 | source hashes and associated the native copies with stored revisions. |
MILESTONE6.md created+183| ... | ... | @@ -0,0 +1,183 @@ |
| 1 | # Milestone 6: a reviewable OneNote document model | |
| 2 | ||
| 3 | Completed milestone; verification and review artifacts are recorded in | |
| 4 | [M6-ACCEPTANCE.md](M6-ACCEPTANCE.md). Clover chose | |
| 5 | extracting a real notebook into a readable document model as the first hands-on | |
| 6 | result. This milestone combines document-format work with repeatable native | |
| 7 | verification; completion requires no known easily spottable bugs in her notebook | |
| 8 | after automated native comparisons and an independent page-by-page inspection. | |
| 9 | Her review should find subtle design issues, not serve as the basic QA pass. | |
| 10 | ||
| 11 | ## What Clover receives | |
| 12 | ||
| 13 | A local, read-only review report generated from the copied personal notebook, | |
| 14 | with notebook/section/page navigation, readable content, extracted media, and a | |
| 15 | document-structure view. The report exposes paragraph nesting and ordering, | |
| 16 | text-run styles, outline coordinates, tables, links, tags, and source identities. | |
| 17 | It accompanies a machine-readable model and an asset directory, so the result is | |
| 18 | useful to future applications as well as inspectable by a person. | |
| 19 | ||
| 20 | The report presents a readable interpretation of the document. It does not claim | |
| 21 | to reproduce OneNote's layout engine. Coordinate values and native reference | |
| 22 | captures let Clover assess spatial information without depending on a new canvas | |
| 23 | renderer. Ink, recording data, encrypted sections, and unrecognized structures | |
| 24 | must remain explicitly accounted for, with retained payloads or source references | |
| 25 | as appropriate. Unsupported interpretation must never turn into silent omission. | |
| 26 | ||
| 27 | Feedback should be attached to identifiable pages/objects and answer: | |
| 28 | ||
| 29 | - Does the section/page hierarchy match the notebook, including subpages and order? | |
| 30 | - Does the representation preserve meaningful paragraph/list/table structure? | |
| 31 | - Are text, formatting, links, images, attachments, and tags correctly associated? | |
| 32 | - Where does spatial arrangement communicate something the readable view loses? | |
| 33 | - Which opaque content prevents this model from supporting a useful reader? | |
| 34 | ||
| 35 | The review ends with concrete corrections or priorities for the document model. | |
| 36 | Editing API design follows that feedback; no GUI editor is part of this milestone. | |
| 37 | ||
| 38 | ## Sequence and gates | |
| 39 | ||
| 40 | | Step | Deliverable | Gate before proceeding | | |
| 41 | | --- | --- | --- | | |
| 42 | | 1. Repeatable native oracle | Automated fresh-clone runs using the existing VM controllers, named disposable notebooks, bounded captures, and unconditional teardown | Existing reader/writer native cases replay successfully; intentional content corruption causes a failed comparison; a failed run retains a reproducible artifact bundle and leaves no owned VM running | | |
| 43 | | 2. Document semantics | A typed view over the resolved store graph, independent of COM and filesystem transport | Every interpreted feature has a native fixture and assertions for its semantic invariants; unknown and encrypted content is represented explicitly | | |
| 44 | | 3. Real-notebook review | Machine-readable export, assets, and a human-readable report derived from the same model | All copied sections/pages are accounted for, source hashes remain unchanged, and supported content matches newly captured native evidence | | |
| 45 | | 4. Adversarial validation | Seeded native edit histories, parser fuzzing, and replay of existing commit/concurrency cases | The feature/failure matrix passes, discrepancies have regression cases, and the acceptance report distinguishes exact matches, allowed native normalization, and opaque content | | |
| 46 | ||
| 47 | ## Document scope | |
| 48 | ||
| 49 | Start with notebook and section structure, ordered pages/subpages, titles, outlines, | |
| 50 | paragraphs, and Unicode text runs. Add character/paragraph formatting, list and | |
| 51 | indentation semantics, tables, hyperlinks, images, attachments, and note tags. | |
| 52 | Expose conflict pages and recycle-bin membership separately from ordinary pages; | |
| 53 | retain their relationship to their source page/section. Account for observed | |
| 54 | unrecognized page-like metadata instead of filtering it out of the report. | |
| 55 | ||
| 56 | MS-ONE text-run boundaries use character positions with rules distinct from Rust | |
| 57 | UTF-8 byte indices. Fixtures must cover surrogate pairs, combining marks, RTL text, | |
| 58 | mixed formatting, empty paragraphs, repeated text, and embedded objects. Titles, | |
| 59 | cached title strings, styles, and layout metadata need explicit interpretation; | |
| 60 | generic scalar decoding alone cannot establish those relationships. | |
| 61 | ||
| 62 | Keep document interpretation above `onestore`'s revision/property graph. Retain | |
| 63 | access to raw identities and values for unknown properties. Add types only where | |
| 64 | they express document semantics or prevent invalid interpretation; keep the initial | |
| 65 | export/API provisional until Clover has reviewed actual notebook content. | |
| 66 | ||
| 67 | ## Independent verification | |
| 68 | ||
| 69 | ```text | |
| 70 | Authored operation history ──→ expected document semantics | |
| 71 | │ | |
| 72 | └─→ real OneNote edit/save → captured .one + native XML/payloads | |
| 73 | │ | |
| 74 | └─→ Rust document model | |
| 75 | │ | |
| 76 | compare all three ─┘ | |
| 77 | ||
| 78 | Existing Rust scalar edit → fresh native read/edit/save → Rust reread | |
| 79 | ``` | |
| 80 | ||
| 81 | Native capture runs use a fresh clone/cache for each independent acceptance case. | |
| 82 | Tests of a continuing collaboration session deliberately retain that session's | |
| 83 | cache, then use a separate fresh verifier after synchronization. Completion must | |
| 84 | be observed through file/content state, not inferred from an arbitrary sleep or a | |
| 85 | successful asynchronous COM call. COM IDs are cache identities, not persistent | |
| 86 | notebook identities. | |
| 87 | ||
| 88 | Compare page relationships/order, paragraph boundaries, text runs/styles, table | |
| 89 | cells, positions, links, and payload bytes. Hashes establish artifact integrity; | |
| 90 | they do not establish semantic correctness. Native XML supplies an independent | |
| 91 | view of supported content. Selected UI captures cover facts COM omits, especially | |
| 92 | conflicts and visual interpretation. Whole-file byte equality after a native save | |
| 93 | is not the oracle because OneNote rewrites metadata and representation. | |
| 94 | ||
| 95 | Build native-only control cases for observed normalization, including the previous | |
| 96 | table-width and ink z-order changes. Comparison exceptions require specific | |
| 97 | evidence and a narrow assertion; broad removal of timestamps, IDs, or geometry | |
| 98 | must not conceal meaningful changes. | |
| 99 | ||
| 100 | Use a small independent test model for generated operations; expected values must | |
| 101 | not be reconstructed by the same Rust decoder being checked. Shrink a failed | |
| 102 | history by removing operations and simplifying their parameters, replaying each | |
| 103 | candidate from a clean starting state. Preserve seed, operation history, input and | |
| 104 | output files, model diff, native XML/payloads, app/server versions, and relevant | |
| 105 | trace excerpts. A regression must reproduce the observed discrepancy before its | |
| 106 | fix can be accepted. | |
| 107 | ||
| 108 | Build a specification-derived feature matrix, including features absent from the | |
| 109 | personal and stock notebooks. Produce large synthetic notebooks both through Rust | |
| 110 | and through real OneNote; compare independent generation paths and exercise size, | |
| 111 | ordering, repetition, and mixed-feature interactions. Any unsupported feature must | |
| 112 | be explicitly accounted for and investigated, not silently omitted from coverage. | |
| 113 | ||
| 114 | Initial randomized target: 100 reproducible native histories of roughly 20 | |
| 115 | operations, spanning the supported feature matrix. This is a campaign budget, | |
| 116 | not a statistical safety claim. Native-generated files then seed fast local | |
| 117 | reader fuzzing. Continue the existing stateful short-I/O/partial-persistence | |
| 118 | commit tests; run the existing collaboration scenarios with two Windows clients | |
| 119 | and the disposable Linux server. Process termination, Samba restart, transport | |
| 120 | loss, and abrupt VM termination are distinct fault cases and must be reported as | |
| 121 | such. VM termination does not simulate physical host power loss. | |
| 122 | ||
| 123 | ## Tooling findings and setup work | |
| 124 | ||
| 125 | The implementation is in `tools/w7`. Windows instances use sparse qcow2 overlays | |
| 126 | on a sealed base, unique hostnames/MACs/control targets, and an authenticated agent. | |
| 127 | Linux instances also use overlays. A VDE network connects Windows clients to one | |
| 128 | Linux Samba appliance at `192.168.77.1`; the Mac has forwarded SSH and SMB ports. | |
| 129 | The MCP's up/down/status operations are enough for ordinary fresh-clone tests. | |
| 130 | Reuse those controllers from the test runner rather than implementing another | |
| 131 | QEMU lifecycle. Add a narrow controlled-crash facility only when fault cases need | |
| 132 | it, with ownership checks and restart/recovery of the same overlay. | |
| 133 | ||
| 134 | Start with two Windows clients and one Linux server. Windows uses x86 CPU | |
| 135 | emulation on this host; the suggested 25-client capacity has not been measured. | |
| 136 | Increase concurrency from measured test throughput and resource use. One Linux | |
| 137 | lab address means server restart/configuration tests require exclusive ownership | |
| 138 | of that server; ordinary cases can use separate notebook directories. | |
| 139 | ||
| 140 | The scout confirmed: | |
| 141 | ||
| 142 | - Windows 7 clone `m6scout`, PowerShell 5.1.14409.1005, OneNote 14.0.4763.1000. | |
| 143 | The earlier physical-machine corpus used OneNote 14.0.7015.1000. Record both | |
| 144 | builds' evidence separately; success on one must not be silently attributed to | |
| 145 | the other. | |
| 146 | - The clone desktop was 800×600, so existing 1280×720 AHK coordinates cannot be | |
| 147 | reused without setting and verifying display configuration. | |
| 148 | - Z: mapped to `\\10.0.0.1\agent` (zenith). The disposable Linux share is a | |
| 149 | different destination, `\\192.168.77.1\agent`. Parameterize shared paths rather | |
| 150 | than reusing the old A: convention or remapping Z:. | |
| 151 | - Linux reported Samba 4.22.10 and an ext4 data filesystem. Windows read a | |
| 152 | Linux-created marker and Linux read a Windows-created marker through that share. | |
| 153 | - A fresh native cache opened the template-free Rust notebook and returned its | |
| 154 | expected paragraph through COM. The captured XML is under | |
| 155 | `evidence/milestone6-scout/page.xml`. Cache reset remains necessary when reusing | |
| 156 | file identities within a clone. | |
| 157 | - Procmon started through `win7_spawn` and wrote a PML capture. The unfiltered | |
| 158 | short capture grew to about 126 MB; filter by test process/path and bound capture | |
| 159 | duration before using it in a campaign. Trace contents were not analyzed in this | |
| 160 | scout, and the transient PML was removed with the clone. | |
| 161 | - All six VM-tooling tests passed with the scout running. One test assumed the | |
| 162 | first control port was free; it now checks that the registered target points to | |
| 163 | the allocated port, while retaining the separate uniqueness assertion. | |
| 164 | - Both scout VMs were stopped and deleted after the smoke checks. Neither the | |
| 165 | sealed images nor the personal notebook were edited. | |
| 166 | ||
| 167 | Existing native scripts assume a parked personal Windows profile, fixed A: paths, | |
| 168 | and specific display coordinates. Adapt their orchestration for disposable clones | |
| 169 | while retaining the guards used for the physical laptop. Windows base identity, | |
| 170 | Linux package/server versions, and relevant configuration must accompany every | |
| 171 | run; cloud-init currently installs packages at clone creation time. | |
| 172 | ||
| 173 | ## Completion and review boundary | |
| 174 | ||
| 175 | The milestone is ready after the copied notebook passes automated comparison and | |
| 176 | an independent page-by-page inspection with no known easily spottable bugs. | |
| 177 | Corrections found during that inspection need reproductions and regression checks | |
| 178 | before handoff. Clover's subsequent review addresses subtle representation and | |
| 179 | design decisions. Deliver the report, model, | |
| 180 | assets, acceptance matrix, and reproduction command together. Preserve originals | |
| 181 | and export evidence before automatically deleting all machines created by the | |
| 182 | run. The next decision is which document operations to expose for editing based | |
| 183 | on that review, rather than another general approval to continue infrastructure. |
MILESTONE7.md created+429| ... | ... | @@ -0,0 +1,429 @@ |
| 1 | # Milestone 7: concurrent editing | |
| 2 | ||
| 3 | Acceptance gates passed for the tested macOS Rust, OneNote 2010 and Linux Samba | |
| 4 | configuration. The edited notebook has fresh native references and an HTML | |
| 5 | review; independent operation histories verify overlapping clients, retained | |
| 6 | conflicts and the final notebook after native application closure. | |
| 7 | ||
| 8 | ## Gates | |
| 9 | ||
| 10 | 1. Document edits: publish text and dependent run boundaries atomically; check | |
| 11 | Unicode boundaries, preserve untouched objects and opaque properties, reject | |
| 12 | unsupported edits before writing. Validate native round trips before racing. | |
| 13 | 2. Random-edit CLI: select a page and seed, record the exact intended operation, | |
| 14 | source identity and commit outcome. Operate on disposable notebook copies. | |
| 15 | 3. Local concurrency: independent reader/writer processes, synchronized starts, | |
| 16 | stale snapshots, lock contention, randomized delays and interrupted commits. | |
| 17 | Verify every successful observation and explain every accepted edit. | |
| 18 | 4. Native concurrency: grow from three native clients plus multiple Rust | |
| 19 | processes to larger measured workloads. Mix disjoint and same-paragraph | |
| 20 | changes, ordinary reads, synchronization, disconnects and restarts. Prove | |
| 21 | operation overlap from recorded intervals; do not count open idle clients. | |
| 22 | 5. Adversarial replay: retain seeds, operation logs and snapshots; shrink failures | |
| 23 | and add regressions. Compare the independent operation model with current | |
| 24 | native content and explicitly reachable conflicts, then cold-reopen results. | |
| 25 | 6. Review and cleanup: inspect the edited report and native references, rerun | |
| 26 | prior gates, verify original source hashes, delete owned machines, and record | |
| 27 | observed client counts, operations, faults and the limits of the evidence. | |
| 28 | ||
| 29 | Disjoint acknowledged changes must survive. Competing changes must be accounted | |
| 30 | for by their observed ordering or accessible conflict content; historical bytes | |
| 31 | alone do not prove recovery. Unknown commit outcomes require rereading before a | |
| 32 | retry. Native COM page snapshots must not replay untouched stale containers. | |
| 33 | ||
| 34 | Crash tests distinguish application cache state, server-persisted state and | |
| 35 | storage durability. No finite campaign proves all schedules or hardware | |
| 36 | power-loss behavior. | |
| 37 | ||
| 38 | ## Replay | |
| 39 | ||
| 40 | Use fresh output directories and Linux VM names; the native harness deletes its | |
| 41 | owned machines on exit. The Linux lab address allows one server run at a time. | |
| 42 | ||
| 43 | ```sh | |
| 44 | python3 tools/native_collaboration.py evidence/m7/new-stress --linux new-stress --stress-clients 3 --stress-operations 150 --sync-every 0 --rust-writers 4 --rust-readers 3 --edit --seed 913 | |
| 45 | python3 tools/native_runner.py evidence/m7/new-stress/stress-closed/notebook evidence/m7/new-cold --expected-pages 1 | |
| 46 | python3 tools/verify-document.py evidence/m7/new-stress/stress-closed/notebook evidence/m7/new-cold/read | |
| 47 | python3 tools/native_stress.py evidence/m7/new-stress evidence/m7/new-cold/read | |
| 48 | python3 tools/native_collaboration.py evidence/m7/new-conflict --linux new-conflict --conflict-clients 3 --rust-writers 3 --rust-readers 2 --stress-operations 5 --seed 917 | |
| 49 | cargo +nightly fuzz run edit_text -- -max_total_time=300 -max_len=128 -rss_limit_mb=2048 | |
| 50 | ``` | |
| 51 | ||
| 52 | ## Evidence | |
| 53 | ||
| 54 | - `evidence/m7/text-edit-native-02`: a length-changing Unicode edit reopened in | |
| 55 | a fresh OneNote VM; 297 explicit formatting comparisons passed on one page. | |
| 56 | - `evidence/m7/local-concurrency-02`: ten Rust writers and six readers; | |
| 57 | 600 acknowledged commits and 8,101 checked observations. The final notebook | |
| 58 | reopened in a fresh native cache (`local-concurrency-native-02`). | |
| 59 | - `evidence/m7/edit-text-multi-fuzz-03.log`: 31,394 stateful executions with | |
| 60 | six independently stale writer snapshots and interrupted publication. This | |
| 61 | simulates interleavings; native concurrency is a separate gate. | |
| 62 | - `evidence/m7/native-concurrency-01` and `native-concurrency-02`: three native | |
| 63 | clients, four Rust writers and three Rust readers exposed a macOS SMB lock | |
| 64 | failure. Native COM acknowledgments were not durable synchronization: the | |
| 65 | stalled server copy did not contain those cached native edits. These runs | |
| 66 | failed acceptance and all of their machines were deleted. | |
| 67 | - `evidence/m7/lock-race-default`: a notebook-free, four-process reproducer | |
| 68 | detected overlapping exclusive holders using an independent local marker, | |
| 69 | plus stranded locks when switching read-only and read/write opens. Explicit | |
| 70 | unlock alone did not fix it. Uniform access modes still violated exclusion. | |
| 71 | - `evidence/m7/lock-race-atomic`: atomic open-and-lock passed all three access | |
| 72 | modes without overlap. The macOS file adapter now uses that operation. | |
| 73 | - `evidence/m7/smb-rust-only-04`: the formerly stalled workload completed all | |
| 74 | 120 commits, 940 verified reads and 203 overlapping writer calls after that | |
| 75 | change. Broader acceptance remains active; this does not establish a native | |
| 76 | multi-client pass. | |
| 77 | ||
| 78 | - `evidence/m7/lock-race-atomic-16`: sixteen processes, 4,516 acquired locks | |
| 79 | across read-only, read/write and alternating access; no marker overlap. | |
| 80 | - `evidence/m7/smb-rust-only-05`: ten writers and six readers completed 1,000 | |
| 81 | commits and 14,913 verified observations. The saved result subsequently | |
| 82 | failed fresh-cache native acceptance (`smb-concurrency-native-05`): OneNote | |
| 83 | returned zero pages after five minutes. The dependency-checkpoint fix and subsequent native checks below explain | |
| 84 | and resolve this failure; Rust parsing alone was insufficient acceptance. | |
| 85 | - `evidence/m7/native-concurrency-03`: all 90 native edits and 120 Rust edits | |
| 86 | converged, but the overlap gate correctly rejected the run. Native calls | |
| 87 | began 4.5–5.4 seconds after the first Rust commit; Rust finished at 2.7 | |
| 88 | seconds. The shared-file start marker was delayed. The harness now waits | |
| 89 | for each native client's first-edit acknowledgment before releasing Rust. | |
| 90 | - `evidence/m7/local-stateful-01`: eight writers and five readers, 800 random | |
| 91 | length-changing Unicode replacements, 9,820 verified observations. The | |
| 92 | independent oracle applies recorded UTF-16 edit intents to each committed | |
| 93 | state and checks all reader observations against the resulting history. | |
| 94 | - `evidence/m7/edit-text-multi-fuzz-04.log`: 26,377 renewed stateful fuzz | |
| 95 | executions completed without a failure. | |
| 96 | - `evidence/m7/native-concurrency-04`: all 90 native edits and 120 Rust edits | |
| 97 | converged, but overlap remained zero. Rust's first successful commit occurred | |
| 98 | 10.21 seconds after its start signal, following thousands of busy reads while | |
| 99 | native clients synchronized after every edit. Atomic open requests deny-all | |
| 100 | sharing on this mount; native open handles can postpone Rust admission. | |
| 101 | - `evidence/m7/native-threshold-02` and `native-threshold-03`: a fresh section | |
| 102 | containing the same final text opened normally. The long-history section | |
| 103 | opened after shortening revision dependencies while preserving its resolved | |
| 104 | graph; coalescing file-node fragments alone did not help. Tested histories | |
| 105 | through 676 transactions opened; 701 and longer failed. This bounds an | |
| 106 | observed compatibility failure, not a documented format limit. | |
| 107 | - The writer now appends an independent current-object snapshot before dependency | |
| 108 | depth would exceed 512, retaining all older revisions. Section snapshots reuse | |
| 109 | immutable property and attachment declarations; TOC snapshots remap CompactIDs | |
| 110 | into a complete table. `checkpoint-boundaries-01.log` covers two boundaries in | |
| 111 | both native section and TOC fixtures, with every historical revision checked. | |
| 112 | `checkpoint-publication-01.log` checks interrupted text publication at the | |
| 113 | boundary against complete old/new text and formatting states. | |
| 114 | - `evidence/m7/local-checkpoint-01`: ten writers and six readers completed | |
| 115 | 1,500 randomized Unicode replacements, 22,995 checked observations and 11,966 | |
| 116 | overlapping writer calls. `checkpoint-native-01` cold-opened its saved result; | |
| 117 | native text exactly matched the independently replayed edit history. | |
| 118 | - `evidence/m7/edit-text-checkpoint-fuzz-05.log`: 4,558 stateful executions in | |
| 119 | 302 seconds, including cached snapshots immediately before a full checkpoint, | |
| 120 | with interrupted publication and character/formatting oracles. No failure. | |
| 121 | `checkpoint-regression-02.log`, `checkpoint-clippy-01.log`, and | |
| 122 | `tool-regression-03.log` record passing Rust checks and 22 Python tests. | |
| 123 | - `evidence/m7/checkpoint-attachment-native-01`: a native section retained its | |
| 124 | text, images, attachment and formatting through 2,052 scalar edits and repeated | |
| 125 | snapshots. Fresh-cache reading passed 483 explicit character-format checks; | |
| 126 | all native page XML matched the earlier reference except page modification | |
| 127 | time, recorded separately in `retention.json`. | |
| 128 | - `evidence/m7/checkpoint-toc-native-01`: the native two-page notebook reopened | |
| 129 | after 1,026 TOC edits crossing two dependency checkpoints. The generator and | |
| 130 | input/output hashes are retained in `evidence/m7/checkpoint-fixtures`. | |
| 131 | - `checkpoint-toc-native-02` repeated the TOC check with native PDFs: two pages, | |
| 132 | two tags and 3,562 explicit character-format comparisons passed. PDF geometry | |
| 133 | verified the existing black-highlight case that native XML omits. | |
| 134 | - `native-concurrency-05` established 633 clock-bounded native/Rust call overlaps | |
| 135 | under background synchronization. Its original oracle incorrectly treated | |
| 136 | transaction numbers as permanent across native renumbering. Replaying intent | |
| 137 | content validated all 800 Rust commits and 6,370 reads through one counter | |
| 138 | decrease. The run stopped before explicit native convergence; after cleanup, | |
| 139 | one native paragraph lacked its final three cache-acknowledged edits. It is | |
| 140 | not an acceptance pass. The content-history oracle now rejects branches, | |
| 141 | missing acknowledgements, partial observations and reads inconsistent with | |
| 142 | recorded real-time bounds; its regressions are in `test_native_stress.py`. | |
| 143 | - `native-concurrency-06`: three native writers, four Rust writers and three | |
| 144 | Rust readers passed the overlapping background-sync gate. All 600 native edits | |
| 145 | and 800 Rust commits converged in every native client and the shared file; | |
| 146 | 7,252 Rust reads matched the intent history, with 609 conservatively | |
| 147 | clock-bounded native/Rust call overlaps. A separate cold-cache capture follows | |
| 148 | in `native-concurrency-cold-06`. | |
| 149 | - `random-edit-smb-01.json` and `random-edit-smb-01.one`: the CLI created a | |
| 150 | separate edited file on Samba, with byte equality verified directly at the | |
| 151 | server. Examples share the commit adapter's standard-fsync fallback when | |
| 152 | macOS full-sync is unsupported. Rust commit/edit regressions and clippy passed | |
| 153 | (`flush-regression-01.log`, `flush-clippy-01.log`). | |
| 154 | - `native-concurrency-cold-06`: a separate fresh OneNote cache retained all | |
| 155 | 1,400 intended edits from the successful mixed run. Native comparison passed | |
| 156 | 54,330 explicit character-format checks, and exact paragraph text matched | |
| 157 | the independently replayed operations. All associated machines were deleted. | |
| 158 | ||
| 159 | - `native-concurrency-07`: five native writers, eight Rust writers and five Rust | |
| 160 | readers completed 1,000 native edits and 1,600 Rust commits, with 21,152 checked | |
| 161 | reads and 296 clock-bounded native/Rust call overlaps. All six paragraphs | |
| 162 | converged. `native-concurrency-cold-07` independently retained all 2,600 intended | |
| 163 | edits and passed 95,034 explicit format comparisons. Every owned VM was deleted. | |
| 164 | - `edit-text-checkpoint-fuzz-06.log`: 10,596 stateful executions in 901 seconds, | |
| 165 | without failure. `edit-text-insertion-fuzz-07.log`: 4,639 executions in 301 | |
| 166 | seconds including legacy and empty text properties, without failure. | |
| 167 | - Random edits on the private corpus exposed unsupported legacy Unicode | |
| 168 | promotion and absent initial text properties. The writer now adds Unicode | |
| 169 | text while preserving the original legacy property, as MS-ONE 2.2.23 permits. | |
| 170 | `text-insertion-boundaries-02.log` checks native fixtures, unrelated objects, | |
| 171 | historical revisions, short writes and interrupted publication. | |
| 172 | - A title edit previously left navigation caches stale. Text and cached titles | |
| 173 | now publish in one revision and transaction; `title-atomicity-04.log` and | |
| 174 | `title-regression-02.log` check rename/clear, history and interrupted short | |
| 175 | writes. `private-random-native-01/title-verification.log` demonstrates that | |
| 176 | the strengthened independent verifier rejects the earlier faulty copy. | |
| 177 | CachedTitleStringFromPage's mandatory empty value applies to nonempty Unicode | |
| 178 | titles; original legacy titles may retain it. The writer's modified-title | |
| 179 | checks enforce that condition without rejecting untouched legacy content. | |
| 180 | - `edit-text-title-fuzz-08.log`: 7,383 executions in 301 seconds, adding a native | |
| 181 | title fixture and assertions relating title text, metadata and alternate title | |
| 182 | after every persisted observation. No failure. The later single-title-object | |
| 183 | admission guard was separately covered by `title-regression-02.log`. | |
| 184 | - `title-empty-native-01`: a cleared title cold-opened successfully; two pages, | |
| 185 | two tags and 3,394 explicit format checks passed, with four native-PDF highlight | |
| 186 | checks. OneNote regenerated its empty page name from body text during opening; | |
| 187 | this check establishes text/format retention, not stored automatic-title parity. | |
| 188 | - `private-random-campaign-04`: five seeded edits on each of 26 current pages, | |
| 189 | 130 total. An independent UTF-16 splice model checks all resolved styles, | |
| 190 | unrelated nodes, metadata, contexts, historical revisions and payload hashes | |
| 191 | after every edit. All ten frozen source files remained byte-identical. | |
| 192 | `private-random-native-02/verification-02.log` records a fresh-cache pass on | |
| 193 | all 26 pages, 109 tags and 186,325 explicit format comparisons, with five native | |
| 194 | PDF highlight checks. The capture VM was deleted. | |
| 195 | - `title-all-targets-01.log` records passing Rust all-target tests; | |
| 196 | `title-clippy-01.log` has no warnings. `random-native-oracles-01.log` records | |
| 197 | 30 passing Python tests, including content-chain replacement histories and | |
| 198 | deliberate title-cache damage. | |
| 199 | - `private-random-report-04`: the edited copy is rendered with all 45 stored | |
| 200 | pages and 26 current native references. Browser inspection covered the edited | |
| 201 | Video page; all 2,357 local links resolve (`link-check.json`). The original | |
| 202 | source remains untouched. | |
| 203 | - `native-random-08`: randomized replacements and bold/italic changes exposed | |
| 204 | a test-driver error. On its second edit, Win7's framework left OneNote's | |
| 205 | `&#129408;` entity undecoded, so the script treated entity spelling as text. | |
| 206 | The independent intent oracle rejected that history. This run is not a pass; | |
| 207 | all four machines were deleted. `tools/native/text.ps1` now decodes supplementary | |
| 208 | numeric entities before the framework decoder, preserving escaped literals. | |
| 209 | `native-text-test-01/failure-artifacts/text-result.json` records six passing | |
| 210 | Windows decoder regressions. Its unrelated native-capture phase was correctly | |
| 211 | stopped by the profile-isolation guard because this text-only author script | |
| 212 | had not initialized a test profile; the VM was deleted. | |
| 213 | - `automatic-title-native-01`: 18 application-authored automatic-title cases | |
| 214 | captured trimming, empty paragraphs, formatting, entities and long text. | |
| 215 | Input and stored metadata are retained with the native page names. Additional | |
| 216 | Unicode-boundary and outline-order cases are being measured before extending | |
| 217 | automatic-title updates. | |
| 218 | - `automatic-title-native-02` captured ten more application-authored cases. | |
| 219 | Automatic names select an outline by position (top before bottom, then left), | |
| 220 | use the first text line, and trim whitespace. The 255-UTF-16-unit boundary | |
| 221 | includes a complete supplementary character when it starts at unit 254, | |
| 222 | yielding 256 units. Both fixture sets pass native comparison: 19/11 pages and | |
| 223 | 11,680/5,304 explicit format checks. The first set also establishes OneNote's | |
| 224 | XML omission of an otherwise empty outline containing only ASCII spaces; | |
| 225 | the oracle permits that case while still rejecting omitted text, lists or tags. | |
| 226 | These are measured compatibility rules, not a completed automatic-title writer. | |
| 227 | - `title-checkpoint-atomicity-02.log` passes interrupted multi-object title | |
| 228 | publication both on the native fixture and at a full dependency checkpoint, | |
| 229 | using 17/257-byte short writes respectively. | |
| 230 | - `native-random-09` replayed seed 912 after the native decoder fix: three | |
| 231 | original OneNote writers, four Rust writers and three Rust readers completed | |
| 232 | 450 native replacements with bold/italic changes and 600 Rust Unicode | |
| 233 | replacements. All four paragraphs converged; 8,564 reads matched the | |
| 234 | independently chained replacement intents, with 260 clock-bounded native/Rust | |
| 235 | call overlaps. The final native formatting matched each actor's last recorded | |
| 236 | intent. All three Windows VMs and the Linux server were deleted. | |
| 237 | - `native-random-cold-09`: a separate fresh cache retained the exact final | |
| 238 | text produced by all 1,050 replacement intents. Native comparison passed | |
| 239 | 1,974 explicit format checks; an independent replay also checked 456 character | |
| 240 | bold/italic values against the recorded native editing intent. The cold VM | |
| 241 | was deleted. | |
| 242 | - `random-noop-01` records seed 301 replacing ` café ` with itself and producing | |
| 243 | identical output. The CLI now turns an identical replacement into an insertion. | |
| 244 | `test_random_edit_campaign.py` verifies both new-file and in-place operation; | |
| 245 | `tool-regression-06.log` records 31 passing Python tests and | |
| 246 | `final-clippy-04.log` is clean. | |
| 247 | ||
| 248 | - `automatic-title-native-03`: twelve additional native cases distinguish | |
| 249 | explicit titles (full length, leading whitespace removed, trailing whitespace | |
| 250 | retained, first line) from automatic body summaries (trimmed and bounded). | |
| 251 | Empty lines/paragraphs/outlines fall through to later text; table cells supply | |
| 252 | automatic titles. All 13 captured pages pass 9,744 native format comparisons. | |
| 253 | - The writer now publishes automatic navigation metadata when body text changes | |
| 254 | and when an explicit title is cleared, choosing body outlines by position. | |
| 255 | New sections use the same bounded automatic-title encoding. No public API was | |
| 256 | added. `automatic-title-regression-03.log` passes edit/writer regressions; | |
| 257 | `automatic-title-edit-tests-01.log` covers native line/UTF-16 boundaries and | |
| 258 | multi-object interrupted publication. Historical objects and all non-title | |
| 259 | metadata fields remain checked independently. | |
| 260 | - `automatic-title-edits-01` applies 26 independently checked edits to the 13-page | |
| 261 | native fixture. `automatic-title-edits-native-01` then passes fresh-cache text, | |
| 262 | cached navigation title and 6,992 character-format comparisons. Its VM was | |
| 263 | deleted. `title-empty-native-02` independently confirms the corrected cleared | |
| 264 | title's navigation label, two pages, two tags and 3,394 format checks, with four | |
| 265 | PDF black-highlight checks; its VM was deleted. | |
| 266 | - `edit-text-automatic-title-fuzz-09.log`: 6,550 stateful executions in 301 seconds | |
| 267 | after automatic-title changes, with no failure. `automatic-title-all-targets-01.log` | |
| 268 | passes all Rust targets; `automatic-title-clippy-01.log` has no warnings. | |
| 269 | - `private-random-campaign-05` passes another 130 edits against the whole-document | |
| 270 | and payload-preservation oracle. All ten frozen source files remained unchanged. | |
| 271 | - `private-random-native-03` cold-opens that edited copy: 26 pages, 109 tags, | |
| 272 | 186,325 format checks, five PDF highlight checks, and cached navigation titles | |
| 273 | pass. Its VM was deleted. `private-random-report-05` contains the edited pages | |
| 274 | and fresh native references; all 2,357 local links in 46 HTML files resolve. | |
| 275 | - `automatic-title-native-04/05` establish RTL outline ordering by descending | |
| 276 | x anchor (width does not affect it), reversed RTL table-cell order, skipped | |
| 277 | attachments, and whitespace trimming after UTF-16 truncation. The two public | |
| 278 | fixtures in `corpus/m7/automatic-titles` retain native provenance. Ten direct | |
| 279 | body-edit regressions cover the RTL/attachment selection rules. | |
| 280 | - `automatic-title-edits-02/03` apply 21/18 independently checked edits to these | |
| 281 | fixtures. Fresh native captures pass seven/six pages, cached navigation labels, | |
| 282 | and 2,064/6,288 format checks. Both VMs were deleted. All Rust targets and | |
| 283 | clippy pass in `automatic-title-all-targets-02.log` and | |
| 284 | `automatic-title-clippy-03.log`. | |
| 285 | - `native-random-10` repeats the ten-client replacement workload with seed 913: | |
| 286 | 450 native edits, 600 Rust commits, 5,595 reads, and 466 clock-bounded native/Rust | |
| 287 | call overlaps. All four paragraphs converge. `native-random-cold-10` passes | |
| 288 | 1,740 format comparisons; intent replay independently checks all 1,050 edits | |
| 289 | and 392 native bold/italic character values. All associated VMs were deleted. | |
| 290 | - `tools/native_stress.py RUN CAPTURE/read` now replays saved editing intents | |
| 291 | directly against fresh native XML, including exact paragraph multiplicity and | |
| 292 | native formatting intent. `tool-regression-08.log` records 33 passing tests, | |
| 293 | including rejection of missing/extra content, incorrect formatting, lost edits | |
| 294 | and split surrogate pairs. | |
| 295 | - `recovery-01` repeats all seven shared-notebook scenarios after the writer | |
| 296 | changes: disjoint edits, reachable competing edits, server restart, transport | |
| 297 | reconnect, lock contention, application restart and VM restart. Both Windows | |
| 298 | clients and the Linux server were deleted. `recovery-cold-01` opens the final | |
| 299 | saved notebook in a new cache and passes text, navigation and 641 character | |
| 300 | format checks; its VM was deleted. | |
| 301 | - The conflict oracle follows current page-manifest references only. | |
| 302 | `conflict-oracle-regressions-01.log` checks the native offline-edit fixture and | |
| 303 | rejects treating unreferenced history or detached object spaces as recovery. | |
| 304 | `tool-regression-09.log` records 34 passing Python tests. | |
| 305 | - `edit-text-rtl-fuzz-10.log` adds the native RTL title and non-title body | |
| 306 | candidates to the stateful interrupted-edit workload: 4,531 executions in | |
| 307 | 301 seconds, no failure. | |
| 308 | - `mixed-conflict-01` FAILS acceptance. Three native clients edited the same | |
| 309 | paragraph offline while three Rust writers committed 15 appends and two Rust | |
| 310 | readers observed them. After reconnection, all three native alternatives were | |
| 311 | reachable, but the final Rust text was absent from the current page and its | |
| 312 | conflict pages. The pre-reconnect notebook and every convergence snapshot are | |
| 313 | retained. All three Windows VMs and the Linux server were deleted. Rust edits | |
| 314 | changed the text object's modification time while ancestor paragraph/outline/ | |
| 315 | page times stayed unchanged; native edits changed those ancestors too. That | |
| 316 | difference is a hypothesis for investigation, not an established cause. | |
| 317 | - `mixed-conflict-02` reduces the workload to one native client, two Rust writers, | |
| 318 | one reader and two Rust commits. Both competing results remain reachable; this | |
| 319 | reduction does not reproduce the failure. Its Windows and Linux VMs were deleted. | |
| 320 | - `mixed-conflict-cold-01` independently opens the failed final notebook in a | |
| 321 | fresh cache. The native conflict UI shows only the three native alternatives; | |
| 322 | clipboard captures recover the exact Unicode text of both conflict pages. | |
| 323 | The Rust result is also absent from all exported stored revision objects in | |
| 324 | the last convergence snapshot (`mixed-conflict-01/lost-edit.json`). Native | |
| 325 | comparison passes 200 format checks on the surviving main page; that reader | |
| 326 | agreement does not validate retention of the missing edits. The VM was deleted. | |
| 327 | - `mixed-conflict-03` tests ancestor modification timestamps with the original | |
| 328 | three-native/three-Rust-writer workload, using the separate | |
| 329 | `evidence/m7/ancestor-timestamp-probe.py`. The first reconnect capture referenced | |
| 330 | three conflict spaces without default revisions, so the strict reader stopped | |
| 331 | the run. After client teardown, two references remained unresolved. All VMs | |
| 332 | were deleted. `mixed-conflict-cold-03` nevertheless opens the saved file in a | |
| 333 | fresh OneNote cache with the full Rust text; its VM was deleted. This is an | |
| 334 | inconclusive experiment, not acceptance of a timestamp fix. | |
| 335 | - The native checkpoint observer now preserves each distinct incomplete snapshot | |
| 336 | and retries missing document contexts for at most two minutes. Other parse | |
| 337 | errors still fail immediately, and retention still requires every competing | |
| 338 | result to be reachable. This allows the next experiment to distinguish an | |
| 339 | intermediate cross-space save from a persistent missing conflict. | |
| 340 | - `mixed-conflict-04` repeats the timestamp experiment with that observer. One | |
| 341 | incomplete snapshot resolves, then all three native alternatives and the full | |
| 342 | 15-commit Rust result are reachable. All Windows and Linux VMs were deleted. | |
| 343 | - Text edits now publish existing ancestor modification timestamps in the same | |
| 344 | transaction as text, run boundaries and navigation caches. Preservation tests | |
| 345 | independently follow raw object references and compare every unrelated field; | |
| 346 | interrupted title/checkpoint publication also checks all modification times. | |
| 347 | `ancestor-edit-regressions-04.log`, `ancestor-all-targets-01.log`, | |
| 348 | `ancestor-clippy-01.log` and `ancestor-tool-regressions-01.log` pass. | |
| 349 | Native acceptance of the atomic implementation is recorded below, separately | |
| 350 | from the timestamp experiment. | |
| 351 | - `mixed-conflict-05` stopped before any Rust commit: disconnecting native NICs | |
| 352 | stranded an existing SMB handle and correctly excluded Rust. The setup now | |
| 353 | holds the file's exclusive lock while disconnecting clients. Rust readers | |
| 354 | back off during contention. All owned VMs were deleted; the final stopped | |
| 355 | clone's removal is recorded in `cleanup-confirmed.json`. | |
| 356 | - `private-random-campaign-06` applies 130 edits with seed 918 and verifies all | |
| 357 | ten frozen source files unchanged. Fresh native capture | |
| 358 | `private-random-native-04/verification-02.log` passes 26 pages, 109 tags, | |
| 359 | 188,956 character-format comparisons and five black-highlight paragraphs. | |
| 360 | Its PDF maps a rendered combining-accent glyph to a space. The PDF oracle | |
| 361 | checks the uniquely located paragraph and the unhighlighted glyph's inline | |
| 362 | region; missing ordinary text, ambiguous matches and black rectangles in that | |
| 363 | region fail. `tool-regression-14.log` passes all 35 Python tests. | |
| 364 | `private-random-report-06` associates all 26 current pages with the fresh | |
| 365 | native references; all 2,357 local links resolve. Its VM was deleted. | |
| 366 | - `edit-text-ancestor-fuzz-11.log` exercises stateful edits and interrupted | |
| 367 | publication after ancestor timestamp propagation: 4,236 runs in 301 seconds, | |
| 368 | no failure. | |
| 369 | - `mixed-conflict-06` passes with the atomic implementation: three native | |
| 370 | alternatives and the full 15-commit Rust result remain reachable after all | |
| 371 | three native clients close. A transient incomplete save resolves before | |
| 372 | acceptance. All Windows and Linux VMs were deleted. `mixed-conflict-cold-06` | |
| 373 | opens the closed result in a fresh cache; native conflict UI clipboard | |
| 374 | captures independently match all four intended results exactly. That VM was | |
| 375 | deleted too. The ordinary page comparison passes separately; its zero | |
| 376 | explicit format checks do not substitute for the four intent comparisons. | |
| 377 | - The native clone cleanup now handles the VM helper's `SystemExit` on shutdown | |
| 378 | timeout, terminates the owned VM and deletes its overlay. The regression | |
| 379 | checks deletion and the teardown record; `tool-regression-17.log` passes all | |
| 380 | 36 Python tests, and the private native comparison still passes. | |
| 381 | - `native-random-11` never reached notebook editing: YAML parsed its all-digit | |
| 382 | WAN MAC address as a sexagesimal integer, so cloud-init could not configure | |
| 383 | the interface. The failed boot log is preserved and its VM was deleted. | |
| 384 | Quoting both MAC addresses fixes the seed. `linux-lab-regression-01.log` | |
| 385 | passes the two lifecycle tests; `native-random-12` reuses the same VM name | |
| 386 | and deterministic MAC after deletion and reaches ready Windows clients. | |
| 387 | - `native-random-12` passes seed 918 with the ancestor fix: three native | |
| 388 | writers, four Rust writers and three Rust readers; 450 native edits, 600 | |
| 389 | Rust commits, 2,471 checked reads and 428 clock-bounded overlapping native/Rust | |
| 390 | calls. All four intended paragraphs converge and native formatting matches | |
| 391 | the recorded operations. All task-owned Windows and Linux VMs were deleted. | |
| 392 | - `native-random-cold-12` independently reopens that result and compares every | |
| 393 | recorded native/Rust edit with the native XML. Its VM was deleted. | |
| 394 | - `same-second-build` is an isolated controlled-clock build with one recorded | |
| 395 | source substitution: a text edit uses its baseline element timestamp. | |
| 396 | `same-second-equivalence/result.json` confirms that its resolved revision | |
| 397 | exactly matches a production-library edit completed in the same actual | |
| 398 | second. The production clock and library are unchanged. `mixed-conflict-07` | |
| 399 | uses that build to test baseline-equal timestamps with three native writers, | |
| 400 | three Rust writers and two Rust readers. | |
| 401 | - `mixed-conflict-07` passes: the four page-content element timestamps remain | |
| 402 | exactly equal to the cached baseline across all 15 Rust commits, and all | |
| 403 | four competing results survive reconnect and application closure. The three | |
| 404 | Windows VMs and Linux server were deleted. This distinguishes valid equal | |
| 405 | timestamps from the inconsistent descendant/ancestor times in the original | |
| 406 | failing writer; it does not require inventing future timestamps. | |
| 407 | - `mixed-conflict-cold-07` independently opens the same-second result and | |
| 408 | captures exact Unicode clipboard text from the main page and all three | |
| 409 | native conflict pages. All four results match the recorded intent, and the | |
| 410 | VM was deleted. Conflict retention now counts duplicate text instead of | |
| 411 | collapsing it into a set: `exact-retention.json` rechecks both successful | |
| 412 | closed notebooks against the exact four-result multiset. | |
| 413 | - `native-random-13` passes seed 919 with twelve clients: four native writers, | |
| 414 | five Rust writers and three Rust readers; 600 native edits, 750 Rust commits, | |
| 415 | 1,903 checked reads and 456 clock-bounded overlapping native/Rust calls. | |
| 416 | All five intended paragraphs converge. The harness now captures | |
| 417 | `stress-closed` after every native client closes; fresh-cache acceptance uses | |
| 418 | this snapshot instead of the earlier live checkpoint. | |
| 419 | - `native-random-cold-13` opens that closed snapshot in a fresh native cache: | |
| 420 | all 1,350 recorded edits match exactly across five paragraphs, with 1,672 | |
| 421 | explicit character-format comparisons and 390 checks against the native | |
| 422 | writers' formatting intents. Its VM and all campaign VMs were deleted. | |
| 423 | - Final cleanup records are `final-teardown-check.json` and | |
| 424 | `final-source-check.json`: 21 owned Windows clone identities and five Linux | |
| 425 | VM identities are absent, and all ten frozen private source files retain | |
| 426 | their hashes. `tool-regression-19.log` passes 36 Python tests. The HTML review | |
| 427 | is `private-random-report-06/index.html`; its 26 current pages link to the | |
| 428 | verified native references. Physical power-loss and unsynchronized native | |
| 429 | cache durability remain outside these guarantees. |
MILESTONE8.md created+84| ... | ... | @@ -0,0 +1,84 @@ |
| 1 | # Workspace, crash recovery and diagnostic editing | |
| 2 | ||
| 3 | Goal resumed after the user accepted the workspace split and public API audit. | |
| 4 | API boundary changes remain authorized when justified by implementation needs. | |
| 5 | ||
| 6 | ## Acceptance gates | |
| 7 | ||
| 8 | 1. **Workspace:** move the existing library, tests and examples into | |
| 9 | `crates/onestore`, preserve the root corpus and example executable paths, | |
| 10 | and pass Rust, Python and fuzz build checks. A sibling crate can consume | |
| 11 | the library without reaching into its source directory. | |
| 12 | 2. **Public API audit:** review exported types, ownership, validation, edit | |
| 13 | contracts and consumer ergonomics; verify a separate crate can read and edit | |
| 14 | through public APIs; present [API-AUDIT.md](API-AUDIT.md) before continuing. | |
| 15 | 3. **Storage interruption:** verify durable images after every write/flush | |
| 16 | boundary, including dropped unflushed writes, partial persistence, counter | |
| 17 | rollover and revision checkpoints. Reopen the persisted image, continue | |
| 18 | editing it, retain reproducible failures, and independently validate a | |
| 19 | representative image matrix with OneNote. | |
| 20 | 4. **Abrupt VM stops:** stop disposable Windows clients and the Samba server | |
| 21 | without guest shutdown during normal concurrent editing. Preserve disks, | |
| 22 | restart the same machines, compare acknowledged operations and reachable | |
| 23 | conflicts, and cold-open the recovered server notebook in fresh OneNote. | |
| 24 | Track native cache acceptance separately from server durability. | |
| 25 | 5. **Diagnostic editor:** extend the HTML reading report with supported text | |
| 26 | edits on a task-owned notebook copy. Edits use the Rust library, reject stale | |
| 27 | snapshots, preserve unrelated content and expose ambiguous commit outcomes | |
| 28 | without automatic replay. Verify browser interaction, two-reader stale-edit | |
| 29 | handling, Unicode and native round trips. This is a diagnostic interface; | |
| 30 | canvas rendering and product UI remain separate work. | |
| 31 | 6. **Closure:** rerun affected checks, review the implementation for unnecessary | |
| 32 | state and abstractions, verify source hashes, retain evidence and replay | |
| 33 | commands, delete owned VMs, and provide the running diagnostic tool. | |
| 34 | ||
| 35 | Abrupt VM stops discard guest memory while the host remains powered. Simulated | |
| 36 | storage loss exercises the library's ordered-flush contract; neither establishes | |
| 37 | the physical drive's behavior during actual host power loss. | |
| 38 | ||
| 39 | ## Evidence | |
| 40 | ||
| 41 | Evidence belongs under `evidence/m8/`. Original notebooks are never edited. | |
| 42 | ||
| 43 | ### Workspace and API review checkpoint | |
| 44 | ||
| 45 | The workspace gate passed: 56 Rust integration tests (one intentional local | |
| 46 | fuzz-seed generator ignored), 36 Python tests, all example builds, all eight fuzz | |
| 47 | target builds, Clippy, formatting, rustdoc and its compiled example. The external | |
| 48 | API consumer also passes. Logs are listed in [API-AUDIT.md](API-AUDIT.md). | |
| 49 | ||
| 50 | The user accepted the public API audit and authorized continuation. The checkpoint | |
| 51 | changed source locations and documented existing contracts, preserving signatures | |
| 52 | and runtime behavior. No VMs were started for that checkpoint. | |
| 53 | ||
| 54 | ### Storage interruption campaign | |
| 55 | ||
| 56 | `power-loss-02` passed 2,508 persisted-image checks and subsequent edits across | |
| 57 | native Unicode text, 255→256 and 65535→65536 counter rollover, an attachment page, | |
| 58 | and a pending 512-revision checkpoint. Each write/flush boundary is exercised with | |
| 59 | six persistence policies, including complete loss of unflushed writes and partial, | |
| 60 | reordered persistence. Comparisons cover every resolved current object, including | |
| 61 | raw properties and payloads. Acknowledged publication must select the complete | |
| 62 | new state; earlier cuts may select only the complete old or new state. | |
| 63 | ||
| 64 | `power-loss-03` repeats the same checks with exact source and failure-image | |
| 65 | retention added to the harness. `edit-text-fuzz-01.log` records 4,327 stateful | |
| 66 | inputs over 302 seconds without failure. The 22 retained boundary images from | |
| 67 | `power-loss-02` are undergoing fresh OneNote captures in `power-native-01`. | |
| 68 | ||
| 69 | Replay: | |
| 70 | ||
| 71 | ```sh | |
| 72 | cargo run --release -p onestore --example power_loss -- /new/matrix-directory | |
| 73 | python3 tools/power_loss_native.py /new/matrix-directory /new/native-directory | |
| 74 | cargo +nightly fuzz run edit_text -- -max_total_time=300 -timeout=60 -max_len=128 | |
| 75 | ``` | |
| 76 | ||
| 77 | The TOC extension (`power-toc-01`) passes another 918 persisted images and | |
| 78 | subsequent color edits, including counter rollover and a pending checkpoint. | |
| 79 | `power-loss-04` passes the combined 3,426-image matrix with exact source/failure | |
| 80 | retention after the harness refactor. The native gate uses the 22 retained images | |
| 81 | from `power-loss-02` and 13 from `power-toc-01`; captures verify those exact source | |
| 82 | hashes. All 22 section captures in `power-native-01` passed. The TOC captures in | |
| 83 | `power-toc-native-01` also compare OneNote's notebook color to the persisted value | |
| 84 | and are still running at this checkpoint. |
PROGRESS.md created+227| ... | ... | @@ -0,0 +1,227 @@ |
| 1 | # OneNote interoperability | |
| 2 | ||
| 3 | Target: an embeddable Rust library that reads and writes revision stores, | |
| 4 | preserves unedited content, and collaborates with OneNote 2010 over SMB. | |
| 5 | ||
| 6 | | Stage | Acceptance evidence | State | | |
| 7 | | --- | --- | --- | | |
| 8 | | 1. Corpus | Native single-operation fixtures, private corpus integrity, independent cold reopen, semantic assertions, reproducible provenance | Passed current corpus gate | | |
| 9 | | 2. Storage | Committed revision/object resolution, opaque preservation, malformed-input tests and fuzzing against native fixtures | Passed current corpus gate | | |
| 10 | | 3. Writer | Create and edit through the native open/edit/save/read loop without collateral changes | Passed current corpus gate | | |
| 11 | | 4. Durability | Injected write/flush failures, interrupted commits, acknowledged persistence, native recovery | Passed implemented scalar-commit gate | | |
| 12 | | 5. Collaboration | Observed locks and I/O, deliberate contention, competing edits and reconnect convergence | Passed tested scalar collaboration gate | | |
| 13 | ||
| 14 | The personal source is `/Volumes/clover/Documents/OneNote`. It is read only. | |
| 15 | `corpus/private/original` holds the copied baseline; `source-manifest.json` records | |
| 16 | SHA-256 hashes and source modification times. Native automation must operate on | |
| 17 | disposable copies, with the personal Windows registry and cache parked first. | |
| 18 | ||
| 19 | Wayback already contained `C:\one-tests\profile-original.reg` and | |
| 20 | `C:\one-tests\profile-original-cache` at task start. Native tests used an isolated | |
| 21 | profile with UnfiledNotesSection at `C:\one-tests\Loose.one`. After the stage-5 | |
| 22 | captures, Restore returned the original registry and cache to their active paths; | |
| 23 | Status confirmed restoration, with test backups parked and OneNote closed. | |
| 24 | The primary native run is `corpus/native/20260905-05`, generated by OneNote | |
| 25 | 14.0.7015.1000. Its nine snapshots were independently opened from fresh caches | |
| 26 | under `cold-05-*`. Text, styles, outline position, table cells, image bytes, and | |
| 27 | attachment bytes pass `python3 tools/verify-corpus.py`. Transactions in the | |
| 28 | synthetic section grow from 4 to 28 across the captured operations. | |
| 29 | ||
| 30 | `corpus/native-ink` records two native mouse-drawn strokes and their cold-open | |
| 31 | binary XML payloads. `evidence/stage1/native-ink.png` shows the page. | |
| 32 | `corpus/native-delete` records a page before deletion and its cold-open recovery | |
| 33 | from the notebook recycle bin. The AHK ink recipe requires the displayed | |
| 34 | 1280x720 maximized OneNote layout; semantic XML verifies that strokes survived. | |
| 35 | ||
| 36 | The private corpus has 26 pages including two recycle-bin pages. A fresh read | |
| 37 | can return partial page content while loading; the reader now checks the final | |
| 38 | hierarchy against all captured page IDs. `corpus/private/exact-native` passed an | |
| 39 | independent cold read with 26 expected pages. It includes images, ink, tags, | |
| 40 | lists, OCR, and media. All ten original source hashes and modification times | |
| 41 | were rechecked unchanged after native testing. COM IDs change across cache | |
| 42 | resets and must not serve as the file-identity oracle. | |
| 43 | ||
| 44 | `corpus/native-encrypted` records native password protection and a fresh-cache | |
| 45 | unlock with password `fictitious-only`. The cold XML and attachment bytes pass | |
| 46 | the corpus verifier. OneNote's UI introduced one leading empty paragraph; | |
| 47 | that paragraph is retained in the fixture oracle. `read.ps1 -UseCurrentCache` | |
| 48 | captures the manually unlocked test session; the caller closes its UI afterward. | |
| 49 | ||
| 50 | The corpus is a starting interoperability gate, not a complete feature matrix. | |
| 51 | Shared-file conflicts now have native evidence in the stage-5 corpus; ordinary | |
| 52 | user-visible page version history is outside this corpus gate. | |
| 53 | ||
| 54 | The Rust reader follows committed transactions, resolves revision dependencies, | |
| 55 | global IDs, roles, contexts, roots, reference-count overrides, and file payloads. | |
| 56 | Checks cover object and object-space cycles, missing targets, immutable data, | |
| 57 | MD5 hashes, override CRCs, and reference counts. All revisions in the ten private | |
| 58 | files pass the current unencrypted checks. The encrypted fixture retains opaque | |
| 59 | ciphertext and explicitly refuses property traversal. | |
| 60 | ||
| 61 | Native compatibility findings: | |
| 62 | - Transaction CRCs accumulate across prior sentinel entries and fragment links | |
| 63 | are excluded. Native transaction fragments can leave four bytes after the link. | |
| 64 | - Reference counts include repeated references from the same source object. | |
| 65 | - Table-of-contents override CRCs include preceding object declaration counts, | |
| 66 | although that format does not use object groups. | |
| 67 | - Encryption-key containers can have zero padding after the footer when their | |
| 68 | compressed chunk references round the size to eight bytes. | |
| 69 | ||
| 70 | Coverage-guided runs recorded under `evidence/stage2` completed 5,529,107 storage | |
| 71 | inputs, 6,537,029 property inputs, and 2,998,472 revision inputs without crashes. | |
| 72 | These are bounded initial runs, not durability or interoperability proofs. | |
| 73 | An independent 100,000-level property nesting test checks parse and drop safety. | |
| 74 | The extended revision run completed 20,718,981 inputs in 601 seconds with a | |
| 75 | 262,144-byte input limit and no crashes. `tools/verify-reader.py` independently | |
| 76 | matches 26 private pages and 581 nonempty text objects by page, three hyperlink | |
| 77 | targets, 18 image payloads byte for byte, and three native GIF-to-PNG conversions | |
| 78 | pixel for pixel. It requires Pillow. Whitespace-only paragraphs and boilerplate | |
| 79 | date/time text remain in the raw graph but are outside this text comparison. | |
| 80 | One page-like object space has undocumented metadata JCID 0x0002003E; it remains | |
| 81 | in the raw graph and is excluded from the ordinary-page inventory. | |
| 82 | ||
| 83 | Specs in `resources/md` are the implementation references. File-format conformance, | |
| 84 | actual OneNote acceptance, and SMB durability are separate checks. | |
| 85 | ||
| 86 | The first stage-3 encoding of `replace_property_bytes` appended new chunks, | |
| 87 | replaced the affected list path with fresh list identities, copied committed | |
| 88 | transaction entries, and published new header references. Every original byte | |
| 89 | outside the header remained unchanged. The stage-4 append protocol below | |
| 90 | superseded that encoding; the stage-3 fixtures retain its native acceptance. | |
| 91 | ||
| 92 | `corpus/writer` records the first native cycle: Rust replaces the plain-text | |
| 93 | fixture with `Portable plain text...`; OneNote reads that text from a fresh cache; | |
| 94 | OneNote changes it back to `Fictitious plain text.` and saves; Rust reads and edits | |
| 95 | that file again; a second fresh native read returns `Portable plain text...`. | |
| 96 | The native test uses equal-length text. Storage tests also replace the scalar | |
| 97 | with lengths 0 through 40 and re-resolve every prior revision unchanged. | |
| 98 | ||
| 99 | Stage 3 now includes template-free `create_section` and `create_table_of_contents`. | |
| 100 | The first creates one page with one plain-text paragraph and an explicit author; | |
| 101 | the second records ordered section filenames and their file identities. Native | |
| 102 | fresh-cache reads verify Unicode including a surrogate pair, both newly created | |
| 103 | notebook files, native editing/saving of the created section, and a subsequent | |
| 104 | longer Rust text replacement. `replace_property_bytes` also edits `.onetoc2` | |
| 105 | scalars; OneNote independently confirms the requested notebook color. | |
| 106 | `tools/verify-writer.py` verifies the captured native semantics and artifact hashes. | |
| 107 | ||
| 108 | The writer preserves unknown data and every prior revision. Native XML comparison | |
| 109 | of the ink fixture retains formatting, positions, tables, image data, two ink | |
| 110 | strokes, and attachment bytes; the changed outline height is allowed to reflow. | |
| 111 | Creation initially exposed two malformed sequences: an object group needs its | |
| 112 | following dependency-override node, and a root-space selector must follow that | |
| 113 | space's declaration. The reader now rejects both. An isolated byte-order probe | |
| 114 | changed a rejected empty section into a native-readable one. Failed creation | |
| 115 | experiments live under evidence rather than the accepted writer corpus. | |
| 116 | ||
| 117 | The native capture script now filters exact `.one` extensions: Windows wildcard | |
| 118 | matching had also matched `.onetoc2` and created an extra empty section. Old | |
| 119 | captures retain that provenance; newer reads verify one section and one page. | |
| 120 | Writer fuzzing completed 2,386,509 scalar inputs and 2,900,483 template-free | |
| 121 | section inputs without crashes. A subsequent combined section/TOC run covers | |
| 122 | variable section counts and reference graphs (statistics in evidence/stage3). | |
| 123 | The corpus gates describe these tested operations, not every MS-ONE feature. | |
| 124 | ||
| 125 | Stage 4 begins with a concrete failure: directly copying the standalone writer's | |
| 126 | header over a live file leaves 82 of 1025 prefix-tear states invalid on the small | |
| 127 | native text fixture. `examples/header_faults.rs` reproduces this. Standalone | |
| 128 | serialization must not be mistaken for an in-place commit protocol. | |
| 129 | ||
| 130 | The stage-4 writer now extends the existing revision-manifest list and transaction | |
| 131 | log instead of replacing their header pointers. Original committed nodes, property | |
| 132 | blobs, and prior revisions remain unchanged; unused fragment tails and log capacity | |
| 133 | are populated. Restoring the previous header resolves the previous graph. This | |
| 134 | encoding now passes independent native reads; the earlier stage-3 evidence used | |
| 135 | the standalone encoding. | |
| 136 | ||
| 137 | `commit_property_bytes` accepts a storage implementation through `CommitIo`. | |
| 138 | Its caller must supply OneNote-compatible exclusion and durable ordered flushes. | |
| 139 | A locked snapshot comparison precedes writes. Data and metadata flush before a | |
| 140 | one-byte publication write. At counter-byte rollover the log includes empty | |
| 141 | transactions up to the largest intermediate count; a flush of the highest changed | |
| 142 | counter byte precedes cleanup of lower bytes. An interrupted cleanup still resolves | |
| 143 | the new revision. Failures distinguish NotCommitted, Unknown, and Committed. | |
| 144 | The in-memory crash model exercises short reads/writes, every I/O failure point, | |
| 145 | and arbitrary subsets of unflushed byte changes for ordinary commits and 255→256. | |
| 146 | It passes, including log-fragment rollover; this is not yet a native crash test. | |
| 147 | Updated append scalar fuzzing completed 465,817 inputs in 181 seconds, no crashes. | |
| 148 | The combined section/TOC creation fuzz run completed 350,293 inputs in 181 seconds. | |
| 149 | ||
| 150 | The Windows laptop became reachable again with no Procmon or OneNote process; | |
| 151 | the user confirmed its battery had run out. The personal profile and cache | |
| 152 | remained isolated. Procmon 4.1 produced no trace, and | |
| 153 | the native agent is not elevated. Shared testing continued without that driver. | |
| 154 | `corpus/append/round-01` records independent cold native reads of plain and complex | |
| 155 | appended edits, TOC color, counter 255→256 and 65535→65536, their interrupted | |
| 156 | cleanup states, and all eight combinations of the tested numeric metadata tears. | |
| 157 | OneNote reads the expected old/new text, preserves the complex fixture's full XML | |
| 158 | and attachment bytes, and can edit/save after an interrupted counter cleanup. | |
| 159 | The manifest records artifact hashes; `tools/verify-writer.py` checks the captures. | |
| 160 | ||
| 161 | The crash model now includes read failures and has a shared implementation used by | |
| 162 | `fuzz/fuzz_targets/commit.rs`. Stateful fuzzing completed 21,506 inputs in 302 | |
| 163 | seconds with no crash, retrying from partially persisted files at ordinary and | |
| 164 | 255→256 commits. Full Rust tests, clippy, original corpus integrity, the private | |
| 165 | reader oracle, and native writer comparisons pass. | |
| 166 | ||
| 167 | `commit_file_property` acquires a whole-file filesystem lock and serializes calls | |
| 168 | inside the process because macOS SMB flock is reentrant within a process. POSIX | |
| 169 | byte-range locking returned ENOTSUP on this mount. Flock produced a server-visible | |
| 170 | exclusive 0+UINT64_MAX lock, blocked a Windows read, and rejected a second Mac | |
| 171 | process's lock. Rust sync_all uses F_FULLFSYNC on macOS; when that extension is | |
| 172 | unsupported, the adapter uses standard fsync. Apple's SMB source routes it through | |
| 173 | the ordinary SMB flush path. A real committed edit through the mount passed a | |
| 174 | subsequent independent cold OneNote read. This depends on the filesystem/server | |
| 175 | honoring flush and exclusion; it does not claim physical server power-loss testing. | |
| 176 | Native shared activity exposed read locks at 0xFFFFFFFB and write locks at | |
| 177 | 0xFFFFFFFD in `evidence/stage4/shared-native-locks-02.log`. | |
| 178 | ||
| 179 | Stage 5 acceptance is captured in `corpus/collaboration/round-01`, with artifact | |
| 180 | hashes and `tools/verify-collaboration.py`. Each final notebook was independently | |
| 181 | reopened from a fresh native cache on OneNote 2010 14.0.7015.1000. | |
| 182 | ||
| 183 | | Scenario | Observed result | | |
| 184 | | --- | --- | | |
| 185 | | Whole-file lock contention | The native edit/sync calls completed while the file remained byte-identical under the lock; the saved edit appeared after release and survived cold reopen | | |
| 186 | | Different paragraphs | The main page contained both Rust's Unicode edit and the native outline edit | | |
| 187 | | Same paragraph | Rust text remained on the main page; native competing text survived in a conflict object space | | |
| 188 | | Native offline edit | With A: disconnected, the server retained the old text; another SMB session committed Rust text; native reconnect preserved both versions | | |
| 189 | | Lost preparation FLUSH reply | `NotCommitted`; native cold read retained the old paragraph | | |
| 190 | | Lost publication FLUSH reply | `Unknown`; native cold read recovered the new paragraph | | |
| 191 | | Lost counter-cleanup FLUSH reply | `Committed`; native cold read recovered the new paragraph after 255→511→256 publication | | |
| 192 | ||
| 193 | The dedicated loopback SMB session recorded server-visible whole-file locks, | |
| 194 | actual write ranges/counter values, and successful FLUSH replies withheld before | |
| 195 | client delivery. The trace verifies a successful flush of counter 511 before | |
| 196 | cleanup to 256. macOS revoked the disconnected file handles; the adapter returned | |
| 197 | errors rather than treating reconnection as acknowledgement. The proxy was stopped | |
| 198 | and its temporary mount directory removed after capture. A: was restored to its | |
| 199 | existing `\\zenith.miku-sun.ts.net\agent` mapping; the unrelated Z: mapping and | |
| 200 | personal macOS mounts were left in place. | |
| 201 | ||
| 202 | OneNote's COM hierarchy omits conflict pages. The reader resolves their metadata | |
| 203 | JCID 0x20038 and retained text; the offline fixture additionally includes a native | |
| 204 | UI screenshot showing the conflicting edit. The full-page COM update harness | |
| 205 | produced a redundant conflict copy even for different paragraphs. Its first merge | |
| 206 | also changed one table column from 39.14614105224609 to 38.61000061035156 points | |
| 207 | and one ink z-order from 7 to 6. The verifier binds those exact changes and checks | |
| 208 | retained image/ink payloads, table contents/styles, attachment bytes, quick styles, | |
| 209 | and outline positions; it does not claim pixel-identical native layout. | |
| 210 | ||
| 211 | An unlocked snapshot caught during native saving referenced an object space that | |
| 212 | had not yet been written. It is retained as `corpus/malformed/native-inflight.one`. | |
| 213 | `read_file` now shares the commit exclusion, and writer preflight validates the | |
| 214 | whole current graph. A regression verifies that even a no-op request against this | |
| 215 | intermediate graph fails before any storage I/O. Diagnostic inventory and edit | |
| 216 | selection also validate the graph before traversing it. | |
| 217 | ||
| 218 | Final coverage-guided revision fuzzing, seeded with native collaboration and | |
| 219 | transport-recovery files, completed 1,453,528 inputs in 122 seconds without a crash | |
| 220 | (608 MB peak RSS). The final stateful commit run completed 4,992 inputs in 91 | |
| 221 | seconds without a crash (483 MB peak RSS), following the earlier 21,506-input run. | |
| 222 | All Rust targets, clippy, the corpus/private reader oracles, writer comparisons, | |
| 223 | and collaboration verification pass. The ten personal source files still match | |
| 224 | their original hashes, sizes, and modification times. This completes the bounded | |
| 225 | stage-5 scalar collaboration gate on the tested Windows/macOS/Samba combination; | |
| 226 | physical power-loss durability and other client/server implementations are not | |
| 227 | established by these protocol-failure captures. |
README.md created+208| ... | ... | @@ -0,0 +1,208 @@ |
| 1 | # onestore | |
| 2 | ||
| 3 | An experimental native Rust library for OneNote revision stores (`.one` and | |
| 4 | `.onetoc2`). It reads committed object graphs, creates a small notebook without | |
| 5 | a template, appends scalar-property and text edits with a recoverable commit protocol, | |
| 6 | and interprets MS-ONE document structure, formatting, media, and historical pages. | |
| 7 | The storage gates are recorded in [PROGRESS.md](PROGRESS.md); document-model | |
| 8 | verification is recorded in [M6-ACCEPTANCE.md](M6-ACCEPTANCE.md). Concurrent-editing | |
| 9 | verification is recorded in [MILESTONE7.md](MILESTONE7.md). | |
| 10 | ||
| 11 | Text edits publish ancestor modification timestamps with the changed content. | |
| 12 | Omitting those timestamps caused acknowledged edits to disappear during native | |
| 13 | conflict merging. The repaired eight-client replay retains all four competing | |
| 14 | results after reconnection, application closure and fresh-cache native inspection; | |
| 15 | see `mixed-conflict-06` in the milestone evidence. Use disposable copies for | |
| 16 | notebook editing. | |
| 17 | ||
| 18 | ## Workspace | |
| 19 | ||
| 20 | `crates/onestore` contains the library, examples and integration tests. New Rust | |
| 21 | prototypes belong in sibling directories under `crates/` and depend on | |
| 22 | `onestore = { path = "../onestore" }`. The root manifest discovers these crates. | |
| 23 | The consumer boundary and API tradeoffs are recorded in [API-AUDIT.md](API-AUDIT.md). | |
| 24 | Shared native fixtures, specifications, evidence and Python/VM tools stay at the | |
| 25 | repository root; `fuzz/` remains an independent cargo-fuzz workspace. | |
| 26 | ||
| 27 | Run Cargo commands from the root. Select `-p onestore` when working only on the | |
| 28 | library, or `--workspace` for checks across all crates. Example binary paths | |
| 29 | remain `target/debug/examples/…` for the native verification tools. | |
| 30 | ||
| 31 | ## Supported surface | |
| 32 | ||
| 33 | | API | Contract | | |
| 34 | | --- | --- | | |
| 35 | | `Store`, `RevisionIndex`, `ResolvedRevision` | Parse storage, resolve revisions and reference graphs, expose roots and objects | | |
| 36 | | `PropertySets`, `Object::references` | Decode properties and ID streams while retaining raw values | | |
| 37 | | `Object::file_reference`, `Store::file_data` | Identify internal/external payloads and read internal payload bytes | | |
| 38 | | `document::Document`, `Revision::text_runs` | Interpret document objects and inherited text formatting while retaining unknown properties and revision identities | | |
| 39 | | `create_section` | Create one page containing one plain-text paragraph and an author, including Unicode | | |
| 40 | | `create_table_of_contents` | Create ordered section entries from filenames and file identities | | |
| 41 | | `replace_property_bytes` | Append one scalar-property revision; preserve prior revisions and unrelated property values and references | | |
| 42 | | `replace_text`, `commit_text`, `commit_file_text` | Replace a UTF-16 range within one ordinary text run; publish text, run boundaries and modification time together | | |
| 43 | | `read_file` | Read a snapshot under whole-file exclusion | | |
| 44 | | `commit_file_property` | Lock, compare the source snapshot, append and flush, then publish the revision | | |
| 45 | | `CommitIo`, `commit_property_bytes` | Supply another storage backend with equivalent exclusion and ordered durability | | |
| 46 | ||
| 47 | Scalar edits accept encoded values and require the caller to maintain MS-ONE | |
| 48 | semantics. Text edits maintain run boundaries, inherit the insertion run's formatting, | |
| 49 | and promote legacy text to Unicode when needed. Explicit and body-derived | |
| 50 | navigation titles update in the same transaction; unsupported fields, | |
| 51 | protected objects and split surrogate pairs are | |
| 52 | rejected before writing. Appended snapshots cap revision dependency depth at 512 | |
| 53 | while retaining historical revisions. TOC snapshots can remap encoded CompactIDs | |
| 54 | without changing their resolved references. Password-protected | |
| 55 | sections retain their encrypted structure and payloads; the library does not | |
| 56 | derive password keys or decrypt their pages. | |
| 57 | External `.onebin` references identify payloads for the caller to obtain. Cloud | |
| 58 | FSSHTTP synchronization and a C ABI are outside the implemented surface. | |
| 59 | ||
| 60 | ## Try it | |
| 61 | ||
| 62 | Requires Rust 1.97 or later for the verified build. Examples create new destinations | |
| 63 | and refuse to overwrite them. The Python report requires Pillow. | |
| 64 | ||
| 65 | ```sh | |
| 66 | cargo run --example create_notebook -- /tmp/one-demo 'Hello from Rust.' 'Example Author' | |
| 67 | cargo run --example inventory -- /tmp/one-demo/synthetic.one | |
| 68 | cargo run --example inspect -- /tmp/one-demo/synthetic.one | |
| 69 | cargo run --example document -- /tmp/one-demo/synthetic.one /tmp/one-model | |
| 70 | python3 tools/notebook_report.py /tmp/one-demo /tmp/one-report --timezone America/Los_Angeles | |
| 71 | ``` | |
| 72 | ||
| 73 | A seeded text edit on a disposable copy records its page, UTF-16 range, | |
| 74 | replacement and outcome as JSON: | |
| 75 | ||
| 76 | ```sh | |
| 77 | cargo run --example random_edit -- /tmp/one-demo/synthetic.one /tmp/edited.one 42 | |
| 78 | ``` | |
| 79 | ||
| 80 | The report contains readable pages, document JSON, assets, source identities and | |
| 81 | coordinates. It preserves paragraph nesting, lists, tables, links and tags. | |
| 82 | Historical contexts, recycle-bin pages and default templates are represented | |
| 83 | separately. Native ink and structured equations retain their source data and | |
| 84 | appear explicitly as opaque content. The report is a reading view; its native | |
| 85 | PDF references supply the original canvas layout. | |
| 86 | ||
| 87 | Read and validate a snapshot before interpreting its graph: | |
| 88 | ||
| 89 | ```rust,no_run | |
| 90 | use onestore::{read_file, RevisionIndex, Store}; | |
| 91 | ||
| 92 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 93 | let bytes = read_file("notebook/synthetic.one")?; | |
| 94 | let store = Store::parse(&bytes)?; | |
| 95 | if !store.checksum_mismatches.is_empty() { | |
| 96 | return Err("Transaction checksum damage".into()); | |
| 97 | } | |
| 98 | let index = RevisionIndex::parse(&store)?; | |
| 99 | index.validate_current()?; | |
| 100 | Ok(()) | |
| 101 | } | |
| 102 | ``` | |
| 103 | ||
| 104 | `Store::parse` exposes checksum mismatches for diagnostic readers; the writer | |
| 105 | rejects them. The resolved graph borrows the snapshot. Select the object-space ID, | |
| 106 | object ID, and property from that graph, then pass those IDs, the same snapshot, | |
| 107 | and the replacement's encoded bytes to `commit_file_property`. The | |
| 108 | `edit_property` example demonstrates selection by JCID/property/expected bytes, | |
| 109 | with optional explicit IDs when conflict copies contain identical text. | |
| 110 | ||
| 111 | ## Commit behavior | |
| 112 | ||
| 113 | ```text | |
| 114 | exclusive lock → exact snapshot comparison | |
| 115 | → append data → flush | |
| 116 | → prepare header metadata → flush | |
| 117 | → publish transaction counter → flush | |
| 118 | → finish counter rollover → flush → unlock | |
| 119 | ``` | |
| 120 | ||
| 121 | Stale snapshots fail before writing. Live readers must use equivalent exclusion. | |
| 122 | Native conflict creation can still expose cross-space references before their | |
| 123 | targets are saved; such snapshots must be rejected and reread while synchronization | |
| 124 | proceeds. `read_file` and `commit_file_property` serialize within the process because | |
| 125 | macOS SMB locks can be reentrant. The lock is nonblocking across processes; | |
| 126 | contention requires a fresh read and a later retry. | |
| 127 | ||
| 128 | | Error state | Meaning and caller action | | |
| 129 | | --- | --- | | |
| 130 | | `NotCommitted` | This edit was not published. Preparation bytes may exist. Reread before retrying. | | |
| 131 | | `Unknown` | Publication may have persisted despite the error. Reread and resolve the intended edit before retrying. | | |
| 132 | | `Committed` | Publication was durably acknowledged; counter cleanup or lock release failed. Reopen the committed result instead of replaying the edit. | | |
| 133 | ||
| 134 | At counter rollover, empty transactions make intermediate published counts valid. | |
| 135 | The highest changed byte is flushed before lower bytes are cleaned up. The | |
| 136 | 255→256 and 65535→65536 boundaries and interrupted cleanup states have independent | |
| 137 | native acceptance captures. A no-op still flushes; a failed flush has an unknown | |
| 138 | durability outcome. | |
| 139 | ||
| 140 | The filesystem adapter uses whole-file locking. On macOS it acquires the lock | |
| 141 | as part of opening the file (`O_EXLOCK | O_NONBLOCK`): separate open and `flock` | |
| 142 | calls allowed overlapping exclusive holders and stranded server locks under | |
| 143 | multi-process SMB contention. `tools/smb_lock_race.py` reproduces that failure | |
| 144 | without notebook parsing or writing. On the tested macOS SMB mount, | |
| 145 | POSIX byte-range locks returned `ENOTSUP`; whole-file locks excluded native | |
| 146 | OneNote's lock ranges. `sync_all` falls back to `fsync` on macOS only when | |
| 147 | `F_FULLFSYNC` is unsupported. Successful SMB FLUSH replies were observed on the | |
| 148 | wire. Correctness requires the backend to honor exclusion and ordered flushes. | |
| 149 | The evidence covers transport failures, not physical server power loss or every | |
| 150 | filesystem's lock implementation. | |
| 151 | ||
| 152 | ## Verification | |
| 153 | ||
| 154 | ```sh | |
| 155 | cargo test --all-targets | |
| 156 | cargo clippy --all-targets -- -D warnings | |
| 157 | python3 tools/verify-corpus.py | |
| 158 | python3 tools/verify-reader.py # requires Pillow and the local private corpus | |
| 159 | python3 tools/verify-writer.py | |
| 160 | python3 tools/verify-collaboration.py | |
| 161 | python3 tools/verify-document.py /path/to/copied/notebook /path/to/native/read | |
| 162 | ``` | |
| 163 | ||
| 164 | The frozen private corpus is excluded from version control. Its verifier checks 26 pages, | |
| 165 | 581 text objects, hyperlink targets, exact image bytes, and native image conversions. | |
| 166 | Synthetic corpus manifests bind binary fixtures to independent native XML and | |
| 167 | attachment captures. `verify-corpus.py` also requires that private corpus. | |
| 168 | ||
| 169 | Storage tests exercise malformed references, deep properties, historical revision | |
| 170 | preservation, short I/O, stale snapshots, counter tears, and every injected I/O | |
| 171 | failure point at ordinary and rollover commits. The crash model persists arbitrary | |
| 172 | subsets of unflushed bytes and is shared with the stateful commit fuzzer. | |
| 173 | ||
| 174 | ```sh | |
| 175 | cargo +nightly fuzz run revisions -- -max_total_time=120 -max_len=262144 -rss_limit_mb=2048 | |
| 176 | cargo +nightly fuzz run commit -- -max_total_time=300 -max_len=4096 -rss_limit_mb=2048 | |
| 177 | ``` | |
| 178 | ||
| 179 | Fuzz targets cover storage, properties, revisions, scalar edits, creation, and | |
| 180 | multi-edit interrupted commits. Seed the revision target with native `.one` files | |
| 181 | using symlinks under `fuzz/corpus/revisions`; empty seed directories mostly exercise | |
| 182 | header rejection. Bounded run counts and native findings live in `PROGRESS.md`. | |
| 183 | ||
| 184 | The document fuzzer mutates native property streams, repairs their checksums, and | |
| 185 | traverses every retained revision and resolved text run. Its public seeds live in | |
| 186 | the source target; private seeds are supplied only at runtime. Native edit-history | |
| 187 | tests compare independently generated operations, OneNote XML and the Rust model; | |
| 188 | failed histories can be replayed and shrunk in fresh disposable clones. The | |
| 189 | document feature matrix is in [FEATURES.md](FEATURES.md), and the milestone's | |
| 190 | acceptance contract is in [MILESTONE6.md](MILESTONE6.md). | |
| 191 | ||
| 192 | The stage-5 gate uses OneNote 2010 build 14.0.7015.1000 on Windows 7, a macOS SMB | |
| 193 | mount, and Samba on zenith. [The collaboration corpus](corpus/collaboration/round-01) | |
| 194 | captures native lock contention, different-paragraph merging, same-paragraph | |
| 195 | conflicts, offline editing/reconnection, and lost successful FLUSH replies at | |
| 196 | preparation, publication, and counter cleanup. Each final notebook was reopened | |
| 197 | from a fresh native cache. Competing text survives as native conflict pages; | |
| 198 | OneNote's COM hierarchy omits those pages, so the offline case also includes a | |
| 199 | native UI capture. Full-page COM updates produced an extra conflict copy during | |
| 200 | the disjoint case and two recorded geometry changes; the verifier checks those | |
| 201 | exact changes as well as retained image, ink, table, and attachment content. | |
| 202 | ||
| 203 | `tools/native/profile.ps1` parks/restores the personal native profile and cache; | |
| 204 | `cold.ps1`, `read.ps1`, and `collaborate.ps1` operate on disposable test roots. | |
| 205 | `tools/zenith-locks` observes server locks. `tools/smb-proxy.py` traces and interrupts | |
| 206 | a dedicated loopback test session; its control JSON selects the successful response | |
| 207 | and occurrence to withhold. The captured trace and result files are the regression | |
| 208 | oracle; replaying the native experiments requires the supplied Windows/share setup. |
corpus/append/round-01/complex/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/append/round-01/complex/notebook/Open Notebook.onetoc2 differ |
corpus/append/round-01/complex/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/complex/notebook/synthetic.one differ |
corpus/append/round-01/manifest.json created+415| ... | ... | @@ -0,0 +1,415 @@ |
| 1 | { | |
| 2 | "provenance": "Rust append encoding; native OneNote 2010 14.0.7015.1000, independently cold caches. tx-65535 uses independently generated cumulative-CRC empty transactions. tx-511, tx-131071, tx-130816 are durable counter cleanup interruption states; metadata-0..7 enumerate old/new changed numeric header bytes with mixed GUID bytes. shared-rust-after was committed through macOS SMB flock and fsync.", | |
| 3 | "files": [ | |
| 4 | { | |
| 5 | "path": "complex/notebook/Open Notebook.onetoc2", | |
| 6 | "bytes": 4816, | |
| 7 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 8 | }, | |
| 9 | { | |
| 10 | "path": "complex/notebook/synthetic.one", | |
| 11 | "bytes": 28296, | |
| 12 | "sha256": "3990a286cb7e2b4f94e295a915f3d254645b8231d087c2566f4673dcb19cb5a2" | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "metadata-0/notebook/Open Notebook.onetoc2", | |
| 16 | "bytes": 4816, | |
| 17 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 18 | }, | |
| 19 | { | |
| 20 | "path": "metadata-0/notebook/synthetic.one", | |
| 21 | "bytes": 114080, | |
| 22 | "sha256": "bca790bb1c4ba245987e74946e208e3e4434235b12468171cfd75d7c46e92ff1" | |
| 23 | }, | |
| 24 | { | |
| 25 | "path": "metadata-1/notebook/Open Notebook.onetoc2", | |
| 26 | "bytes": 4816, | |
| 27 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 28 | }, | |
| 29 | { | |
| 30 | "path": "metadata-1/notebook/synthetic.one", | |
| 31 | "bytes": 114080, | |
| 32 | "sha256": "175bb2b208d429c9d30d09360cc837830b027ecf8f1421ada14006e8cb4f62bc" | |
| 33 | }, | |
| 34 | { | |
| 35 | "path": "metadata-2/notebook/Open Notebook.onetoc2", | |
| 36 | "bytes": 4816, | |
| 37 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 38 | }, | |
| 39 | { | |
| 40 | "path": "metadata-2/notebook/synthetic.one", | |
| 41 | "bytes": 114080, | |
| 42 | "sha256": "d84bd1a6151f9366d085a92de9ca38528582e3f35bf87d6703461392f38e0a46" | |
| 43 | }, | |
| 44 | { | |
| 45 | "path": "metadata-3/notebook/Open Notebook.onetoc2", | |
| 46 | "bytes": 4816, | |
| 47 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 48 | }, | |
| 49 | { | |
| 50 | "path": "metadata-3/notebook/synthetic.one", | |
| 51 | "bytes": 114080, | |
| 52 | "sha256": "daf502c1bd12230395eeefdadbc70f1060086088d0b3e6c3de83ad792590e2a2" | |
| 53 | }, | |
| 54 | { | |
| 55 | "path": "metadata-4/notebook/Open Notebook.onetoc2", | |
| 56 | "bytes": 4816, | |
| 57 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 58 | }, | |
| 59 | { | |
| 60 | "path": "metadata-4/notebook/synthetic.one", | |
| 61 | "bytes": 114080, | |
| 62 | "sha256": "b413ca9927a4c3cc5b865384cdb3e3860f4c93bab7e362dc16d3c3d448294f09" | |
| 63 | }, | |
| 64 | { | |
| 65 | "path": "metadata-5/notebook/Open Notebook.onetoc2", | |
| 66 | "bytes": 4816, | |
| 67 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 68 | }, | |
| 69 | { | |
| 70 | "path": "metadata-5/notebook/synthetic.one", | |
| 71 | "bytes": 114080, | |
| 72 | "sha256": "30632c658b5d0efb3c20f37d8eedef3d4d9f93d8dc5a7bfe6150324c7c0c4f6b" | |
| 73 | }, | |
| 74 | { | |
| 75 | "path": "metadata-6/notebook/Open Notebook.onetoc2", | |
| 76 | "bytes": 4816, | |
| 77 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 78 | }, | |
| 79 | { | |
| 80 | "path": "metadata-6/notebook/synthetic.one", | |
| 81 | "bytes": 114080, | |
| 82 | "sha256": "06a4991c3c009871ced86eb445fb698b448a05f6d8c6288ca09adfbe022f8f03" | |
| 83 | }, | |
| 84 | { | |
| 85 | "path": "metadata-7/notebook/Open Notebook.onetoc2", | |
| 86 | "bytes": 4816, | |
| 87 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 88 | }, | |
| 89 | { | |
| 90 | "path": "metadata-7/notebook/synthetic.one", | |
| 91 | "bytes": 114080, | |
| 92 | "sha256": "40e70f53134c94e95289e22c877060c1cff33e184753b600834c3519e0bdbcef" | |
| 93 | }, | |
| 94 | { | |
| 95 | "path": "native/append-01-complex/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment", | |
| 96 | "bytes": 43, | |
| 97 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7" | |
| 98 | }, | |
| 99 | { | |
| 100 | "path": "native/append-01-complex/read/hierarchy.xml", | |
| 101 | "bytes": 747, | |
| 102 | "sha256": "62c88e89c3a71bb5a1225070bf73353fa27b064232c8cf94d2c0786a529e3d2a" | |
| 103 | }, | |
| 104 | { | |
| 105 | "path": "native/append-01-complex/read/page-000.xml", | |
| 106 | "bytes": 7402, | |
| 107 | "sha256": "2aebcefeef2441ff237fdd46330fa7be92f0c74cff67fc3def7152247df876ae" | |
| 108 | }, | |
| 109 | { | |
| 110 | "path": "native/append-01-metadata-0/read/hierarchy.xml", | |
| 111 | "bytes": 738, | |
| 112 | "sha256": "eeed5291ed6e908169f6880d46bb3e500781cd1c65aa1efdd7eef98f5e9bada3" | |
| 113 | }, | |
| 114 | { | |
| 115 | "path": "native/append-01-metadata-0/read/page-000.xml", | |
| 116 | "bytes": 1202, | |
| 117 | "sha256": "ccc3da7267deb0c9095898dab1f7e6e6d46194a8ffe924fb58b97d4400d8c045" | |
| 118 | }, | |
| 119 | { | |
| 120 | "path": "native/append-01-metadata-1/read/hierarchy.xml", | |
| 121 | "bytes": 738, | |
| 122 | "sha256": "4e964ca1ae4f920c56a23d14e8d4e818399d15b54a825b5eb646f047774ef918" | |
| 123 | }, | |
| 124 | { | |
| 125 | "path": "native/append-01-metadata-1/read/page-000.xml", | |
| 126 | "bytes": 1202, | |
| 127 | "sha256": "b8417bf1f532bde8b537cb8a7847f019b0272b05e92fef47a72e391287110d2b" | |
| 128 | }, | |
| 129 | { | |
| 130 | "path": "native/append-01-metadata-2/read/hierarchy.xml", | |
| 131 | "bytes": 738, | |
| 132 | "sha256": "6057ffef5a578927eca6406d8abf46f70b1184dace9cb25bb1a2ce4ad40a8183" | |
| 133 | }, | |
| 134 | { | |
| 135 | "path": "native/append-01-metadata-2/read/page-000.xml", | |
| 136 | "bytes": 1202, | |
| 137 | "sha256": "b150316fd63eb98e8c8b2444e14d0aa892a6668589d47a7dd3eda848ab9827d7" | |
| 138 | }, | |
| 139 | { | |
| 140 | "path": "native/append-01-metadata-3/read/hierarchy.xml", | |
| 141 | "bytes": 738, | |
| 142 | "sha256": "d8cdfe9fd6f82dc16d460c58115a4eb7d28f2e0a25f445ec0fa18a5f4ba2918f" | |
| 143 | }, | |
| 144 | { | |
| 145 | "path": "native/append-01-metadata-3/read/page-000.xml", | |
| 146 | "bytes": 1202, | |
| 147 | "sha256": "a4c9b4be4f0ea2991895c569ef1d31090b3444766c39f87dee334c28f2b21e38" | |
| 148 | }, | |
| 149 | { | |
| 150 | "path": "native/append-01-metadata-4/read/hierarchy.xml", | |
| 151 | "bytes": 738, | |
| 152 | "sha256": "02069bd647e10d6fadfdde753d9f83c7e395fe761a1cc6451d3898b3cd9a843f" | |
| 153 | }, | |
| 154 | { | |
| 155 | "path": "native/append-01-metadata-4/read/page-000.xml", | |
| 156 | "bytes": 1202, | |
| 157 | "sha256": "3d60a915876474bf5b336840f3843035d9742654d4a7ddaf9cbff5238afeac77" | |
| 158 | }, | |
| 159 | { | |
| 160 | "path": "native/append-01-metadata-5/read/hierarchy.xml", | |
| 161 | "bytes": 738, | |
| 162 | "sha256": "9c3eda81d9b9724eef1c58190544bea05e2b1e17f8506303760e51bbef1d5a3d" | |
| 163 | }, | |
| 164 | { | |
| 165 | "path": "native/append-01-metadata-5/read/page-000.xml", | |
| 166 | "bytes": 1202, | |
| 167 | "sha256": "de123c6cc23aef198900b51acbf4ebc5ecf3aad91c600a1a7a9c17dbabb37a85" | |
| 168 | }, | |
| 169 | { | |
| 170 | "path": "native/append-01-metadata-6/read/hierarchy.xml", | |
| 171 | "bytes": 738, | |
| 172 | "sha256": "e33da4f0fe2be615dd67d92a81b2bee4bda66a8d9281c7266eeb44ff5d6dd294" | |
| 173 | }, | |
| 174 | { | |
| 175 | "path": "native/append-01-metadata-6/read/page-000.xml", | |
| 176 | "bytes": 1202, | |
| 177 | "sha256": "da4c3b236b0480cf370bd3cdae0758ba73a4ceaa142702f95c58f0e63a5db449" | |
| 178 | }, | |
| 179 | { | |
| 180 | "path": "native/append-01-metadata-7/read/hierarchy.xml", | |
| 181 | "bytes": 738, | |
| 182 | "sha256": "7cfd8d3b52839813e29fb186c96d63bfdd3bc5e4233042e9b4046fb63da3f5b2" | |
| 183 | }, | |
| 184 | { | |
| 185 | "path": "native/append-01-metadata-7/read/page-000.xml", | |
| 186 | "bytes": 1202, | |
| 187 | "sha256": "63ee2f1019c19966b4987780bf50705f49eb02572f0b01ae2b536792b6151516" | |
| 188 | }, | |
| 189 | { | |
| 190 | "path": "native/append-01-prepared-old/read/hierarchy.xml", | |
| 191 | "bytes": 742, | |
| 192 | "sha256": "17a91bb968574445d4a6669c6349f2c665ae70e85a725e19f60f1fb17dc2d534" | |
| 193 | }, | |
| 194 | { | |
| 195 | "path": "native/append-01-prepared-old/read/page-000.xml", | |
| 196 | "bytes": 1202, | |
| 197 | "sha256": "f5d15cd05e7248f4b72b8044c792193f831b8278a0ac62316f06c7dfcd078862" | |
| 198 | }, | |
| 199 | { | |
| 200 | "path": "native/append-01-shared-result/read/hierarchy.xml", | |
| 201 | "bytes": 741, | |
| 202 | "sha256": "ebae2f490304ca18c0a567eac82bb8d5b8f634978c6f218b6ee42182deeeebee" | |
| 203 | }, | |
| 204 | { | |
| 205 | "path": "native/append-01-shared-result/read/page-000.xml", | |
| 206 | "bytes": 1245, | |
| 207 | "sha256": "44e8a0be5f8826f770d35f1c0bf7fe13083ea1c337235da96d20cbc18a628d9e" | |
| 208 | }, | |
| 209 | { | |
| 210 | "path": "native/append-01-toc/read/hierarchy.xml", | |
| 211 | "bytes": 724, | |
| 212 | "sha256": "e9b208e602b66dac470cebb47cfabeff638e57ebf6f1b0c9cbc8da01671140cd" | |
| 213 | }, | |
| 214 | { | |
| 215 | "path": "native/append-01-toc/read/page-000.xml", | |
| 216 | "bytes": 1209, | |
| 217 | "sha256": "a38fb74b77388ca883a2473e3c7ae11006b2e1be53ec6776b53a1c50ddd23815" | |
| 218 | }, | |
| 219 | { | |
| 220 | "path": "native/append-01-tx-130816/read/hierarchy.xml", | |
| 221 | "bytes": 736, | |
| 222 | "sha256": "66e57c0265c3ea61d6b7e906f960e9ea7bc085c8d3d48c71bcd3ad387e2e441d" | |
| 223 | }, | |
| 224 | { | |
| 225 | "path": "native/append-01-tx-130816/read/page-000.xml", | |
| 226 | "bytes": 1219, | |
| 227 | "sha256": "05f01f494097b73a942536d09b6ed2b3e5c867f41fca5839c543d3579fe11097" | |
| 228 | }, | |
| 229 | { | |
| 230 | "path": "native/append-01-tx-131071/read/hierarchy.xml", | |
| 231 | "bytes": 736, | |
| 232 | "sha256": "4cbab0226ae4f5324afe9532936f7104af1412783397c60fa8c060dfd527873a" | |
| 233 | }, | |
| 234 | { | |
| 235 | "path": "native/append-01-tx-131071/read/page-000.xml", | |
| 236 | "bytes": 1219, | |
| 237 | "sha256": "751d83958e6eedf8532cf68da32c9257277b2b278c1374fa97ef6c8d66fc5946" | |
| 238 | }, | |
| 239 | { | |
| 240 | "path": "native/append-01-tx-17/read/hierarchy.xml", | |
| 241 | "bytes": 728, | |
| 242 | "sha256": "8b11acb9971beb4300a50dcd3515a85a5857610ee6a1172feeb05af8dc5bad47" | |
| 243 | }, | |
| 244 | { | |
| 245 | "path": "native/append-01-tx-17/read/page-000.xml", | |
| 246 | "bytes": 1201, | |
| 247 | "sha256": "48272b3869ce89f3c9380025f9e9b5a59dd87fbe425e8b265e900095f7c86863" | |
| 248 | }, | |
| 249 | { | |
| 250 | "path": "native/append-01-tx-255/read/hierarchy.xml", | |
| 251 | "bytes": 730, | |
| 252 | "sha256": "ce8a9ff8d234180ba85a97cf9e948404ca99812b1ab867c0a612abebf9e008bf" | |
| 253 | }, | |
| 254 | { | |
| 255 | "path": "native/append-01-tx-255/read/page-000.xml", | |
| 256 | "bytes": 1202, | |
| 257 | "sha256": "643edfa2fa699a5167cc67cba4c6fda19000f18cd92c83a7194a075377b4ca36" | |
| 258 | }, | |
| 259 | { | |
| 260 | "path": "native/append-01-tx-256/read/hierarchy.xml", | |
| 261 | "bytes": 730, | |
| 262 | "sha256": "4676661c992cb6dac83e8af638f36eba9dcbea10e74a4b1455b5001a192aab70" | |
| 263 | }, | |
| 264 | { | |
| 265 | "path": "native/append-01-tx-256/read/page-000.xml", | |
| 266 | "bytes": 1202, | |
| 267 | "sha256": "dbcd161997db31953e9ebe8ef54dce4c978d672e126eaccb19b693ed078dd6a1" | |
| 268 | }, | |
| 269 | { | |
| 270 | "path": "native/append-01-tx-511/read/hierarchy.xml", | |
| 271 | "bytes": 730, | |
| 272 | "sha256": "81bbba3b9b33e85e0b3680a7b60d8ce4b67062ba8a55adb0b3040f0e1439c048" | |
| 273 | }, | |
| 274 | { | |
| 275 | "path": "native/append-01-tx-511/read/page-000.xml", | |
| 276 | "bytes": 1202, | |
| 277 | "sha256": "4f1e5fbc8eee10bae325bda0153f957f441b992c47b1820976ab7452079b2091" | |
| 278 | }, | |
| 279 | { | |
| 280 | "path": "native/append-01-tx-65535/read/hierarchy.xml", | |
| 281 | "bytes": 734, | |
| 282 | "sha256": "ef03baeb1aeebc307cc0aafd38a4bac8999ad5f21eae6858f883e8da9f2c1732" | |
| 283 | }, | |
| 284 | { | |
| 285 | "path": "native/append-01-tx-65535/read/page-000.xml", | |
| 286 | "bytes": 1209, | |
| 287 | "sha256": "3cabdf2c22f76583046a0d7ad8889d363381ccb66d740b34bc2c68cb85fb9fb5" | |
| 288 | }, | |
| 289 | { | |
| 290 | "path": "native/append-01-tx-65536/read/hierarchy.xml", | |
| 291 | "bytes": 734, | |
| 292 | "sha256": "0d5f678afb1744415ff6590b59a38114b262436014dcce6399a7be0ecfdb89ea" | |
| 293 | }, | |
| 294 | { | |
| 295 | "path": "native/append-01-tx-65536/read/page-000.xml", | |
| 296 | "bytes": 1219, | |
| 297 | "sha256": "cf0a27b4b60a017a8a3ffff096d6bab48413c8e70f19eb5a596b277f05539e59" | |
| 298 | }, | |
| 299 | { | |
| 300 | "path": "native-after-511.one", | |
| 301 | "bytes": 123432, | |
| 302 | "sha256": "3bcdc91527414ad8bb285057deb90655f38722d8f430062a7970fb54b273bc75" | |
| 303 | }, | |
| 304 | { | |
| 305 | "path": "prepared-old/notebook/Open Notebook.onetoc2", | |
| 306 | "bytes": 4816, | |
| 307 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 308 | }, | |
| 309 | { | |
| 310 | "path": "prepared-old/notebook/synthetic.one", | |
| 311 | "bytes": 114080, | |
| 312 | "sha256": "35ba5beccee3c74e683f8c18cd693916bf20c2648762d5295468ad363d8430c7" | |
| 313 | }, | |
| 314 | { | |
| 315 | "path": "shared-native-before.one", | |
| 316 | "bytes": 10188, | |
| 317 | "sha256": "afb2d75f474fcb098c22177f58271a148af5cef1b27794eb98d0d4ef188420f9" | |
| 318 | }, | |
| 319 | { | |
| 320 | "path": "shared-rust-after.one", | |
| 321 | "bytes": 10608, | |
| 322 | "sha256": "06dea7721a4ad44c09589f9b32f270e3fcd3d3e0f87b653368a78c56dd247f02" | |
| 323 | }, | |
| 324 | { | |
| 325 | "path": "toc/notebook/Open Notebook.onetoc2", | |
| 326 | "bytes": 5032, | |
| 327 | "sha256": "222ad33bf9471e6e0748ccad3cb1573e351cd12df7a44a1217f5ebd368457c3c" | |
| 328 | }, | |
| 329 | { | |
| 330 | "path": "toc/notebook/synthetic.one", | |
| 331 | "bytes": 11808, | |
| 332 | "sha256": "2237e5fdfeb8d71410b585159bdfb6724599f40dfcda2795794d8e1e47a20058" | |
| 333 | }, | |
| 334 | { | |
| 335 | "path": "tx-130816/notebook/Open Notebook.onetoc2", | |
| 336 | "bytes": 4816, | |
| 337 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 338 | }, | |
| 339 | { | |
| 340 | "path": "tx-130816/notebook/synthetic.one", | |
| 341 | "bytes": 1078200, | |
| 342 | "sha256": "cd3c471b1e0d339b85413ddf4b9615133d3c46aa2284b3d50fa9c8f97a12b382" | |
| 343 | }, | |
| 344 | { | |
| 345 | "path": "tx-131071/notebook/Open Notebook.onetoc2", | |
| 346 | "bytes": 4816, | |
| 347 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 348 | }, | |
| 349 | { | |
| 350 | "path": "tx-131071/notebook/synthetic.one", | |
| 351 | "bytes": 1078200, | |
| 352 | "sha256": "7f9a13ec489750dc3792bc3b3e8f349a21dfa836165964b1649863e9726c6655" | |
| 353 | }, | |
| 354 | { | |
| 355 | "path": "tx-17/notebook/Open Notebook.onetoc2", | |
| 356 | "bytes": 4816, | |
| 357 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 358 | }, | |
| 359 | { | |
| 360 | "path": "tx-17/notebook/synthetic.one", | |
| 361 | "bytes": 12200, | |
| 362 | "sha256": "ed7d6f2721a95e207a67f2a5e16a1bf1ceed52321faf8b716029d703deb99570" | |
| 363 | }, | |
| 364 | { | |
| 365 | "path": "tx-255/notebook/Open Notebook.onetoc2", | |
| 366 | "bytes": 4816, | |
| 367 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 368 | }, | |
| 369 | { | |
| 370 | "path": "tx-255/notebook/synthetic.one", | |
| 371 | "bytes": 111640, | |
| 372 | "sha256": "1448079e91f656513d5f0cb36a35480aab8f9184a3ce33d64c6199285ca3a521" | |
| 373 | }, | |
| 374 | { | |
| 375 | "path": "tx-256/notebook/Open Notebook.onetoc2", | |
| 376 | "bytes": 4816, | |
| 377 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 378 | }, | |
| 379 | { | |
| 380 | "path": "tx-256/notebook/synthetic.one", | |
| 381 | "bytes": 114080, | |
| 382 | "sha256": "66770e32eeddc265b21cdb093ab4d15073de45f53cb790c2ee1bc8a42e6d60ef" | |
| 383 | }, | |
| 384 | { | |
| 385 | "path": "tx-511/notebook/Open Notebook.onetoc2", | |
| 386 | "bytes": 4816, | |
| 387 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 388 | }, | |
| 389 | { | |
| 390 | "path": "tx-511/notebook/synthetic.one", | |
| 391 | "bytes": 114080, | |
| 392 | "sha256": "2ced768e1a8e0ba2a0660df7c0191ca10837e86ac983790c433f6141ddb7b3fa" | |
| 393 | }, | |
| 394 | { | |
| 395 | "path": "tx-65535/notebook/Open Notebook.onetoc2", | |
| 396 | "bytes": 4816, | |
| 397 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 398 | }, | |
| 399 | { | |
| 400 | "path": "tx-65535/notebook/synthetic.one", | |
| 401 | "bytes": 545312, | |
| 402 | "sha256": "cc8821d487195f7cac1822d3ef127867db7a2435ddddc54b7c5d183532248861" | |
| 403 | }, | |
| 404 | { | |
| 405 | "path": "tx-65536/notebook/Open Notebook.onetoc2", | |
| 406 | "bytes": 4816, | |
| 407 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 408 | }, | |
| 409 | { | |
| 410 | "path": "tx-65536/notebook/synthetic.one", | |
| 411 | "bytes": 1078200, | |
| 412 | "sha256": "7bc58f1acda7fcb2a86dfe36912a91874c3e4095192688be97104aa3e6d77f2f" | |
| 413 | } | |
| 414 | ] | |
| 415 | } |
corpus/append/round-01/metadata-0/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/metadata-0/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/metadata-0/notebook/synthetic.one differ |
corpus/append/round-01/metadata-1/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/metadata-1/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/metadata-1/notebook/synthetic.one differ |
corpus/append/round-01/metadata-2/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/metadata-2/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/metadata-2/notebook/synthetic.one differ |
corpus/append/round-01/metadata-3/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/metadata-3/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/metadata-3/notebook/synthetic.one differ |
corpus/append/round-01/metadata-4/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/metadata-4/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/metadata-4/notebook/synthetic.one differ |
corpus/append/round-01/metadata-5/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/metadata-5/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/metadata-5/notebook/synthetic.one differ |
corpus/append/round-01/metadata-6/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/metadata-6/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/metadata-6/notebook/synthetic.one differ |
corpus/append/round-01/metadata-7/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/metadata-7/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/metadata-7/notebook/synthetic.one differ |
corpus/append/round-01/native-after-511.one created| Binary files /dev/null and b/corpus/append/round-01/native-after-511.one differ |
corpus/append/round-01/native/append-01-complex/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/append/round-01/native/append-01-complex/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{E76B715B-2305-4D80-AC9F-D127D70B1655}{1}{B0}" path="C:\one-tests\runs\append-01-complex\notebook" lastModifiedTime="2026-09-05T07:51:42.000Z" color="#9595AA"><one:Section name="synthetic" ID="{B065864F-382B-0EBB-2713-082655F385C2}{1}{B0}" path="C:\one-tests\runs\append-01-complex\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:51:42.000Z" color="#8AA8E4"><one:Page ID="{9C2C75C9-B1E0-4DAA-A074-A0B7A9CB99DD}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-complex/read/page-000.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C2C75C9-B1E0-4DAA-A074-A0B7A9CB99DD}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{FBE0DD75-FA95-4E1C-AF86-2C6C56577CBC}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="26.58905601501465"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{FBE0DD75-FA95-4E1C-AF86-2C6C56577CBC}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Compatible: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{D90DF1E7-A27D-40AF-B21E-8EE496D71168}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{D90DF1E7-A27D-40AF-B21E-8EE496D71168}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{AD500160-49C0-4441-B530-AEE4F25B98F5}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{AD500160-49C0-4441-B530-AEE4F25B98F5}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{907969EF-AF5A-4DEF-8340-05101E36D07B}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{907969EF-AF5A-4DEF-8340-05101E36D07B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{1563718F-6922-4E29-A6ED-62EE2AE71F48}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{1563718F-6922-4E29-A6ED-62EE2AE71F48}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{3BBC08DF-08B2-45A9-B9E5-80BB02B4E40E}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-metadata-0/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{3AB6BCB8-F1A9-41C5-9535-AF75E4433181}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-0\notebook" lastModifiedTime="2026-09-05T08:02:51.000Z" color="#9595AA"><one:Section name="synthetic" ID="{C59CF8C2-CEEC-07F7-0388-20DF4796708B}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-0\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:02:51.000Z" color="#8AA8E4"><one:Page ID="{E9D50B44-4727-44E6-84EF-884EBBAE6C94}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:51.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-metadata-0/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E9D50B44-4727-44E6-84EF-884EBBAE6C94}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:51.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{8E19A3F8-0C52-4750-8B1D-0495443289F5}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{8E19A3F8-0C52-4750-8B1D-0495443289F5}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-metadata-1/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{14255E9E-8EF6-4CC4-9943-989FBA23E181}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-1\notebook" lastModifiedTime="2026-09-05T08:02:53.000Z" color="#9595AA"><one:Section name="synthetic" ID="{F6EF3A3F-BC8E-0DA8-118B-15F80F6AB880}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-1\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:02:53.000Z" color="#8AA8E4"><one:Page ID="{DAA6C9B9-3545-4EB9-96EC-BD69F352A49F}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:53.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-metadata-1/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DAA6C9B9-3545-4EB9-96EC-BD69F352A49F}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:53.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{BD6A6105-7E30-4D0F-991E-31B20CCE41FE}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{BD6A6105-7E30-4D0F-991E-31B20CCE41FE}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-metadata-2/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4374AB57-5D96-4D15-B86F-9CDA2E2AD321}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-2\notebook" lastModifiedTime="2026-09-05T08:02:56.000Z" color="#9595AA"><one:Section name="synthetic" ID="{313673B6-A8AF-0C93-1FBB-1188FFF8D1D4}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-2\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:02:56.000Z" color="#8AA8E4"><one:Page ID="{1D7F8030-2164-4F82-98DC-B91903C0CDCB}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:56.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-metadata-2/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1D7F8030-2164-4F82-98DC-B91903C0CDCB}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:56.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{7AB3288C-6A11-4C34-972E-35C2FC5C28AA}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{7AB3288C-6A11-4C34-972E-35C2FC5C28AA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-metadata-3/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{3ECD975D-2AAE-483E-A912-116C62065CAC}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-3\notebook" lastModifiedTime="2026-09-05T08:02:58.000Z" color="#9595AA"><one:Section name="synthetic" ID="{94940BF6-8410-0862-1E8E-63EA808FAC94}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-3\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:02:58.000Z" color="#8AA8E4"><one:Page ID="{B8DDF870-0DDB-4B73-99E9-CB7B7CB7B08B}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:58.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-metadata-3/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B8DDF870-0DDB-4B73-99E9-CB7B7CB7B08B}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:02:58.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{DF1150CC-46AE-48C5-961B-47A0832B55EA}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{DF1150CC-46AE-48C5-961B-47A0832B55EA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-metadata-4/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{E1C6F095-7594-470E-8E59-BA6239406A54}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-4\notebook" lastModifiedTime="2026-09-05T08:03:01.000Z" color="#9595AA"><one:Section name="synthetic" ID="{90098287-9DBB-0ADF-0342-BDC5A5313ED9}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-4\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:01.000Z" color="#8AA8E4"><one:Page ID="{BC407101-1470-49CE-8425-1554590922C6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:01.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-metadata-4/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BC407101-1470-49CE-8425-1554590922C6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{DB8CD9BD-5F05-4A78-8BD7-998FA695C7A7}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{DB8CD9BD-5F05-4A78-8BD7-998FA695C7A7}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-metadata-5/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{B2B9A6F6-0441-4EA0-9CE4-1C47A957D5F8}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-5\notebook" lastModifiedTime="2026-09-05T08:03:03.000Z" color="#9595AA"><one:Section name="synthetic" ID="{FE0EA620-DF0F-04E0-09AC-977C9413377D}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-5\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:03.000Z" color="#8AA8E4"><one:Page ID="{D24755A6-56C4-47F1-8ECB-3FED682B2B62}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:03.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-metadata-5/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D24755A6-56C4-47F1-8ECB-3FED682B2B62}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{B58BFD1A-1DB1-4447-8139-B33697B7CE03}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{B58BFD1A-1DB1-4447-8139-B33697B7CE03}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-metadata-6/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{137A1D8E-FF8C-4584-8319-139CBCD3343A}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-6\notebook" lastModifiedTime="2026-09-05T08:03:05.000Z" color="#9595AA"><one:Section name="synthetic" ID="{5BC77D29-1236-0B2E-3F82-404C74A416C0}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-6\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:05.000Z" color="#8AA8E4"><one:Page ID="{778E8EAF-9BFD-483F-B8E5-E8DD889C0ADF}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:05.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-metadata-6/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{778E8EAF-9BFD-483F-B8E5-E8DD889C0ADF}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:05.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{10422613-D088-4B89-B717-64067700EFBE}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{10422613-D088-4B89-B717-64067700EFBE}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-metadata-7/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{C4082E23-843A-403F-8C17-1BD6526ECF65}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-7\notebook" lastModifiedTime="2026-09-05T08:03:08.000Z" color="#9595AA"><one:Section name="synthetic" ID="{465A6838-A8FA-0E00-35C8-C441C8A5000C}{1}{B0}" path="C:\one-tests\runs\append-01-metadata-7\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:08.000Z" color="#8AA8E4"><one:Page ID="{6A139BBE-2131-4D11-B2AF-6CD0349D1C13}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:08.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-metadata-7/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6A139BBE-2131-4D11-B2AF-6CD0349D1C13}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:03:08.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{0DDF3302-6A44-4EA7-BD5D-E00BCB01F972}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{0DDF3302-6A44-4EA7-BD5D-E00BCB01F972}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-prepared-old/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{282B0FAF-619A-4537-8D34-64C31EAF3358}{1}{B0}" path="C:\one-tests\runs\append-01-prepared-old\notebook" lastModifiedTime="2026-09-05T07:50:51.000Z" color="#9595AA"><one:Section name="synthetic" ID="{0211D584-B6C7-070C-3B17-7A80D4BA09C5}{1}{B0}" path="C:\one-tests\runs\append-01-prepared-old\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:51.000Z" color="#8AA8E4"><one:Page ID="{2E582602-3F0C-441D-BC70-D211288215DA}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:51.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-prepared-old/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2E582602-3F0C-441D-BC70-D211288215DA}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:51.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{49948EBE-7479-47AB-B382-5ECAD71EF0BB}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{49948EBE-7479-47AB-B382-5ECAD71EF0BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-shared-result/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{373F231A-4BB2-4946-8E51-385FCCCDC755}{1}{B0}" path="C:\one-tests\runs\append-01-shared-result\notebook" lastModifiedTime="2026-09-05T08:03:29.000Z" color="#AB9CB7"><one:Section name="synthetic" ID="{1DC7297F-64C9-0AA4-2A05-39BAF248A606}{1}{B0}" path="C:\one-tests\runs\append-01-shared-result\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:03:29.000Z" color="#8AA8E4"><one:Page ID="{7249344D-66D4-0954-0E58-19F00CC6EF8F}{1}{B0}" name="Native shared edit." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T08:03:29.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-shared-result/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7249344D-66D4-0954-0E58-19F00CC6EF8F}{1}{B0}" name="Native shared edit." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T08:03:29.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:56:09.000Z" objectID="{1DC7297F-64C9-0AA4-2A05-39BAF248A606}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="26.85543441772461"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:56:09.000Z" lastModifiedTime="2026-09-05T07:56:09.000Z" objectID="{1DC7297F-64C9-0AA4-2A05-39BAF248A606}{24}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Rust committed through the SMB mount.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-toc/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{85F1E6EF-E586-4E30-A5E3-E8E262087F14}{1}{B0}" path="C:\one-tests\runs\append-01-toc\notebook" lastModifiedTime="2026-09-05T07:51:44.000Z" color="#336699"><one:Section name="synthetic" ID="{F1C26AD6-E201-0CE7-1621-A86369528E7F}{1}{B0}" path="C:\one-tests\runs\append-01-toc\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:51:44.000Z" color="#8AA8E4"><one:Page ID="{DD8B9950-6BCA-4FF6-9146-00F2956A9260}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:51:44.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-toc/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DD8B9950-6BCA-4FF6-9146-00F2956A9260}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:51:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{BA4731EC-20BF-4C40-9EB4-8C296AF67701}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{BA4731EC-20BF-4C40-9EB4-8C296AF67701}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-tx-130816/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FB475126-038D-4C01-B7AF-987C7FD54982}{1}{B0}" path="C:\one-tests\runs\append-01-tx-130816\notebook" lastModifiedTime="2026-09-05T08:05:39.000Z" color="#9595AA"><one:Section name="synthetic" ID="{9C3C28E3-43D6-0AE2-3D7B-DE55938CC743}{1}{B0}" path="C:\one-tests\runs\append-01-tx-130816\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:05:39.000Z" color="#8AA8E4"><one:Page ID="{B075DB65-CA1D-49F3-BA1C-76C46FB4DB5C}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:39.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-tx-130816/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B075DB65-CA1D-49F3-BA1C-76C46FB4DB5C}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:39.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{D7B973D9-8168-4A45-B5EE-FA1F90283E3D}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="189.4747161865234" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{D7B973D9-8168-4A45-B5EE-FA1F90283E3D}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Crossed the second counter byte.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-tx-131071/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{5834363B-1560-4E9B-8BF6-D0CF75BAE5A1}{1}{B0}" path="C:\one-tests\runs\append-01-tx-131071\notebook" lastModifiedTime="2026-09-05T08:05:36.000Z" color="#9595AA"><one:Section name="synthetic" ID="{E769A2E6-2AE3-0B02-3344-63CF0D79B07D}{1}{B0}" path="C:\one-tests\runs\append-01-tx-131071\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:05:36.000Z" color="#8AA8E4"><one:Page ID="{CB205160-A328-4813-B423-CB5EF141AC62}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:36.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-tx-131071/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CB205160-A328-4813-B423-CB5EF141AC62}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:36.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{ACECF9DC-E85D-4BA5-BBD1-47850EDD4903}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="189.4747161865234" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{ACECF9DC-E85D-4BA5-BBD1-47850EDD4903}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Crossed the second counter byte.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-tx-17/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{955E37FA-F272-4BB0-AA5F-6F5B0A30EF74}{1}{B0}" path="C:\one-tests\runs\append-01-tx-17\notebook" lastModifiedTime="2026-09-05T07:50:34.000Z" color="#9595AA"><one:Section name="synthetic" ID="{07A244D5-BB9B-0196-363B-77C0DFCAEC85}{1}{B0}" path="C:\one-tests\runs\append-01-tx-17\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:34.000Z" color="#8AA8E4"><one:Page ID="{2BEBB753-3250-4287-B15C-DF5123F2F09A}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:34.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-tx-17/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2BEBB753-3250-4287-B15C-DF5123F2F09A}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:34.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{4C271FEF-7925-4131-BEAE-538ADC6E15FB}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="105.6425933837891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{4C271FEF-7925-4131-BEAE-538ADC6E15FB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 17]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-tx-255/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BA6FAECB-26E5-4931-95D4-9271A543D226}{1}{B0}" path="C:\one-tests\runs\append-01-tx-255\notebook" lastModifiedTime="2026-09-05T07:50:44.000Z" color="#9595AA"><one:Section name="synthetic" ID="{9EBFA2F0-2AB3-05DE-2945-1BC0C5FBD906}{1}{B0}" path="C:\one-tests\runs\append-01-tx-255\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:44.000Z" color="#8AA8E4"><one:Page ID="{B2F65176-A378-46CF-AE22-B35139C3C519}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:44.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-tx-255/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B2F65176-A378-46CF-AE22-B35139C3C519}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{D53AF9CA-E80D-4579-A1D0-3F8AC65F2078}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{D53AF9CA-E80D-4579-A1D0-3F8AC65F2078}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 255]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-tx-256/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{579B79F8-C44C-47C6-8D52-6525264926A6}{1}{B0}" path="C:\one-tests\runs\append-01-tx-256\notebook" lastModifiedTime="2026-09-05T07:50:46.000Z" color="#9595AA"><one:Section name="synthetic" ID="{D995E3A3-E3B1-0530-24A5-8DD1D1FEBED2}{1}{B0}" path="C:\one-tests\runs\append-01-tx-256\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:46.000Z" color="#8AA8E4"><one:Page ID="{F5DC1025-6A7A-4621-A3C2-25402DC6A2CD}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:46.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-tx-256/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F5DC1025-6A7A-4621-A3C2-25402DC6A2CD}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:46.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{9210B899-210F-4597-AC30-A99BD25A47AC}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{9210B899-210F-4597-AC30-A99BD25A47AC}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 256]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-tx-511/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{8789DE91-7A15-4E5E-92BC-018055BA3ADD}{1}{B0}" path="C:\one-tests\runs\append-01-tx-511\notebook" lastModifiedTime="2026-09-05T07:50:49.000Z" color="#9595AA"><one:Section name="synthetic" ID="{8F7FF8E2-0AEE-0832-09AB-313786565862}{1}{B0}" path="C:\one-tests\runs\append-01-tx-511\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:50:49.000Z" color="#8AA8E4"><one:Page ID="{A3360B64-8325-4B23-8ECC-99A67A6E447D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:49.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-tx-511/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A3360B64-8325-4B23-8ECC-99A67A6E447D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T07:50:49.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{C4FAA3D8-C850-4895-813E-157D85F2A11C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="111.2177886962891" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{C4FAA3D8-C850-4895-813E-157D85F2A11C}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Transaction 256]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-tx-65535/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{215096A4-9C90-4505-AEE3-64CFEDCAEFBA}{1}{B0}" path="C:\one-tests\runs\append-01-tx-65535\notebook" lastModifiedTime="2026-09-05T08:05:31.000Z" color="#9595AA"><one:Section name="synthetic" ID="{BCE82EE0-590D-0E7E-18F2-2286549FEB07}{1}{B0}" path="C:\one-tests\runs\append-01-tx-65535\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:05:31.000Z" color="#8AA8E4"><one:Page ID="{90A1DD66-D0C6-4D6F-9F95-8A17A8A7F718}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:31.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-tx-65535/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{90A1DD66-D0C6-4D6F-9F95-8A17A8A7F718}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:31.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{F76D75DA-9BB3-4ED9-9067-06CC573B1279}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{F76D75DA-9BB3-4ED9-9067-06CC573B1279}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/native/append-01-tx-65536/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{06A26144-28AD-4A7F-B061-C61B88D72B64}{1}{B0}" path="C:\one-tests\runs\append-01-tx-65536\notebook" lastModifiedTime="2026-09-05T08:05:33.000Z" color="#9595AA"><one:Section name="synthetic" ID="{B0488AD5-BC29-091A-1420-89651BFA797D}{1}{B0}" path="C:\one-tests\runs\append-01-tx-65536\notebook\synthetic.one" lastModifiedTime="2026-09-05T08:05:33.000Z" color="#8AA8E4"><one:Page ID="{9C017953-35E2-4A0B-9347-21F4E7C26562}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:33.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/append/round-01/native/append-01-tx-65536/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C017953-35E2-4A0B-9347-21F4E7C26562}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T08:05:33.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{FBCDD1EF-7E97-49BD-9CB5-AD2F185E8003}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="189.4747161865234" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{FBCDD1EF-7E97-49BD-9CB5-AD2F185E8003}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Crossed the second counter byte.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/append/round-01/prepared-old/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/prepared-old/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/prepared-old/notebook/synthetic.one differ |
corpus/append/round-01/shared-native-before.one created| Binary files /dev/null and b/corpus/append/round-01/shared-native-before.one differ |
corpus/append/round-01/shared-rust-after.one created| Binary files /dev/null and b/corpus/append/round-01/shared-rust-after.one differ |
corpus/append/round-01/toc/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/append/round-01/toc/notebook/Open Notebook.onetoc2 differ |
corpus/append/round-01/toc/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/toc/notebook/synthetic.one differ |
corpus/append/round-01/tx-130816/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/tx-130816/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/tx-130816/notebook/synthetic.one differ |
corpus/append/round-01/tx-131071/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/tx-131071/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/tx-131071/notebook/synthetic.one differ |
corpus/append/round-01/tx-17/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/tx-17/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/tx-17/notebook/synthetic.one differ |
corpus/append/round-01/tx-255/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/tx-255/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/tx-255/notebook/synthetic.one differ |
corpus/append/round-01/tx-256/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/tx-256/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/tx-256/notebook/synthetic.one differ |
corpus/append/round-01/tx-511/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/tx-511/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/tx-511/notebook/synthetic.one differ |
corpus/append/round-01/tx-65535/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/tx-65535/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/tx-65535/notebook/synthetic.one differ |
corpus/append/round-01/tx-65536/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/append/round-01/tx-65536/notebook/synthetic.one created| Binary files /dev/null and b/corpus/append/round-01/tx-65536/notebook/synthetic.one differ |
corpus/collaboration/round-01/contention/controller/closed created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | closed | |
| \ No newline at end of file |
corpus/collaboration/round-01/contention/controller/inbox/0002.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "A notebook created in Rust.", "text": "Native edit waited for the lock."} | |
| \ No newline at end of file |
corpus/collaboration/round-01/contention/controller/outbox/2/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/collaboration/round-01/contention/controller/outbox/3/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../2/done | |
| \ No newline at end of file |
corpus/collaboration/round-01/contention/lock-result.json created+5| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | { | |
| 2 | "changed_while_locked": false, | |
| 3 | "before_sha256": "5104afd78109ccaec78a31717aac12c27ec3dd3b830c2fc7399037ad40f7eac1", | |
| 4 | "after_sha256": "5104afd78109ccaec78a31717aac12c27ec3dd3b830c2fc7399037ad40f7eac1" | |
| 5 | } | |
| \ No newline at end of file |
corpus/collaboration/round-01/contention/locks.txt created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | FILE PID USER CLIENT OFFSET LENGTH TYPE | |
| 2 | agent/synthetic.one 2721277 clo 10.0.0.222 0 -1 write |
corpus/collaboration/round-01/contention/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/collaboration/round-01/contention/notebook/Open Notebook.onetoc2 differ |
corpus/collaboration/round-01/contention/notebook/synthetic.one created| Binary files /dev/null and b/corpus/collaboration/round-01/contention/notebook/synthetic.one differ |
corpus/collaboration/round-01/fault-01/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../../writer/create-notebook-01/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/collaboration/round-01/fault-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/collaboration/round-01/fault-01/notebook/synthetic.one differ |
corpus/collaboration/round-01/fault-01/result.json created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | { | |
| 2 | "exit": 1, | |
| 3 | "state": "NotCommitted", | |
| 4 | "error": "Invalid argument (os error 22)", | |
| 5 | "cut": "Successful reply to first data FLUSH was withheld; recovered file retains original text." | |
| 6 | } |
corpus/collaboration/round-01/fault-02/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../fault-01/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/collaboration/round-01/fault-02/notebook/synthetic.one created| Binary files /dev/null and b/corpus/collaboration/round-01/fault-02/notebook/synthetic.one differ |
corpus/collaboration/round-01/fault-02/result.json created+5| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | { | |
| 2 | "exit": 1, | |
| 3 | "stdout": "", | |
| 4 | "stderr": "Error: CommitError { state: Unknown, error: Os { code: 22, kind: InvalidInput, message: \"Invalid argument\" } }\n" | |
| 5 | } | |
| \ No newline at end of file |
corpus/collaboration/round-01/fault-03/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../../append/round-01/complex/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/collaboration/round-01/fault-03/notebook/synthetic.one created| Binary files /dev/null and b/corpus/collaboration/round-01/fault-03/notebook/synthetic.one differ |
corpus/collaboration/round-01/fault-03/result.json created+5| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | { | |
| 2 | "exit": 1, | |
| 3 | "stdout": "", | |
| 4 | "stderr": "Error: CommitError { state: Committed, error: Os { code: 57, kind: NotConnected, message: \"Socket is not connected\" } }\n" | |
| 5 | } | |
| \ No newline at end of file |
corpus/collaboration/round-01/live/before-native-conflict.xml created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BDAB66B3-3592-4615-A173-262DBD9DE9A7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{DA67CE0F-7EE7-45A3-AE81-AAF642010CC6}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{DA67CE0F-7EE7-45A3-AE81-AAF642010CC6}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Live Rust: café, 東</span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>京,</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US> </span><span | |
| 6 | style='font-weight:bold;font-family:Calibri;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>م</span><span style='font-weight:bold;font-family:Arial;direction: | |
| 8 | rtl;unicode-bidi:embed' lang=ar-SA>رحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F88AE29D-260F-4B10-B319-087E82816112}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 9 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 10 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 11 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 12 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 13 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 14 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 15 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 16 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 17 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 18 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 19 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 20 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F88AE29D-260F-4B10-B319-087E82816112}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 21 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 22 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 23 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 24 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 25 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 26 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{8CD7121A-CDB2-4FFE-B437-287EE60DE88F}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T08:12:07.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{8CD7121A-CDB2-4FFE-B437-287EE60DE88F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native edited the other outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{B1FE7A95-2B28-4650-8247-838A0A60A001}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{B1FE7A95-2B28-4650-8247-838A0A60A001}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 27 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{34E462F5-ED50-4596-A7EA-E4743EB16F32}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{34E462F5-ED50-4596-A7EA-E4743EB16F32}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="91.88566589355469" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T08:12:07.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{47}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{48}{B0}"><one:Columns><one:Column index="0" width="38.61000061035156"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{49}{B0}" lastModifiedTime="2026-09-05T08:12:07.000Z"><one:Cell lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{50}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T08:12:07.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{4CB3A4FE-04D0-4EB4-8A43-D39A841530D6}{57}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T08:12:07.000Z" lastModifiedTime="2026-09-05T08:12:07.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/live/before-native-edit.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BDAB66B3-3592-4615-A173-262DBD9DE9A7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{DA67CE0F-7EE7-45A3-AE81-AAF642010CC6}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{DA67CE0F-7EE7-45A3-AE81-AAF642010CC6}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F88AE29D-260F-4B10-B319-087E82816112}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F88AE29D-260F-4B10-B319-087E82816112}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8CD7121A-CDB2-4FFE-B437-287EE60DE88F}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8CD7121A-CDB2-4FFE-B437-287EE60DE88F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B1FE7A95-2B28-4650-8247-838A0A60A001}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B1FE7A95-2B28-4650-8247-838A0A60A001}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{34E462F5-ED50-4596-A7EA-E4743EB16F32}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{34E462F5-ED50-4596-A7EA-E4743EB16F32}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1A3B1BA5-8CC0-4E16-B8E2-062116E29474}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/live/before.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | before-native-edit.xml | |
| \ No newline at end of file |
corpus/collaboration/round-01/live/merged.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | before-native-conflict.xml | |
| \ No newline at end of file |
corpus/collaboration/round-01/live/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../fault-03/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/collaboration/round-01/live/notebook/synthetic.one created| Binary files /dev/null and b/corpus/collaboration/round-01/live/notebook/synthetic.one differ |
corpus/collaboration/round-01/manifest.json created+215| ... | ... | @@ -0,0 +1,215 @@ |
| 1 | { | |
| 2 | "provenance": "OneNote 2010 14.0.7015.1000 on Windows 7; Rust over macOS SMB to Samba zenith. Disposable synthetic notebooks. Separate native cold-cache reads after live competing edits, offline native edit/reconnect, whole-file lock contention, and lost successful SMB FLUSH replies. Native conflict UI confirms offline competing text; COM hierarchy omits conflict pages. fault-01 result transcribed from tool output; fault-02/03 capture subprocess results. Contention controller completed edit/sync while locked and closed at its deadline; queued commands 4-6 were submitted after it had closed and are excluded. All snapshots are final files, not live reads.", | |
| 3 | "files": [ | |
| 4 | { | |
| 5 | "path": "contention/controller/closed", | |
| 6 | "bytes": 6, | |
| 7 | "sha256": "c3eefb58d7c42440a9d4abec51d629544d635a6d936ff3c4d3fca96d611b3cf3" | |
| 8 | }, | |
| 9 | { | |
| 10 | "path": "contention/controller/inbox/0002.json", | |
| 11 | "bytes": 105, | |
| 12 | "sha256": "3eee25e32b408cf11a968933daf88e42b20b264bef3a8202f8a52b5f84059561" | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "contention/controller/outbox/2/done", | |
| 16 | "bytes": 2, | |
| 17 | "sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df" | |
| 18 | }, | |
| 19 | { | |
| 20 | "path": "contention/controller/outbox/3/done", | |
| 21 | "bytes": 2, | |
| 22 | "sha256": "2689367b205c16ce32ed4200942b8b8b1e262dfc70d9bc9fbc77c49699a4f1df" | |
| 23 | }, | |
| 24 | { | |
| 25 | "path": "contention/lock-result.json", | |
| 26 | "bytes": 208, | |
| 27 | "sha256": "08ac88cb982b2bdd57b44b75392f5f4dac2d5a4c20dede2c54a458df62636e1c" | |
| 28 | }, | |
| 29 | { | |
| 30 | "path": "contention/locks.txt", | |
| 31 | "bytes": 139, | |
| 32 | "sha256": "9ffd453cecbc7f6b7824c24a49eae96f60bdb0fff11fd9364cd88af89332fdf1" | |
| 33 | }, | |
| 34 | { | |
| 35 | "path": "contention/notebook/Open Notebook.onetoc2", | |
| 36 | "bytes": 3780, | |
| 37 | "sha256": "5d29939d775452394e16c4850ecf98a35ccbb4da1ffdea148f8999fb69a89eaf" | |
| 38 | }, | |
| 39 | { | |
| 40 | "path": "contention/notebook/synthetic.one", | |
| 41 | "bytes": 10548, | |
| 42 | "sha256": "b1b553e571ebcd39dbc35d73817d6c0b7dabadf28dd849fc2cf7fb59f4a97c83" | |
| 43 | }, | |
| 44 | { | |
| 45 | "path": "fault-01/notebook/Open Notebook.onetoc2", | |
| 46 | "bytes": 1612, | |
| 47 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86" | |
| 48 | }, | |
| 49 | { | |
| 50 | "path": "fault-01/notebook/synthetic.one", | |
| 51 | "bytes": 4784, | |
| 52 | "sha256": "c099cc85d9e4e48a568ce1fdc89aafb15a727523cef20bf5c7bfd2bf07fe40f8" | |
| 53 | }, | |
| 54 | { | |
| 55 | "path": "fault-01/result.json", | |
| 56 | "bytes": 189, | |
| 57 | "sha256": "076b8f75581c9e52f9e53bb2ba33f3e4d492908fb12421a05d0b017e88a2d50d" | |
| 58 | }, | |
| 59 | { | |
| 60 | "path": "fault-02/notebook/Open Notebook.onetoc2", | |
| 61 | "bytes": 1612, | |
| 62 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86" | |
| 63 | }, | |
| 64 | { | |
| 65 | "path": "fault-02/notebook/synthetic.one", | |
| 66 | "bytes": 4800, | |
| 67 | "sha256": "6a1b3b9816497d27648747d7be61582cac3b0405239098d759858a6d46f65199" | |
| 68 | }, | |
| 69 | { | |
| 70 | "path": "fault-02/result.json", | |
| 71 | "bytes": 161, | |
| 72 | "sha256": "179e92f32c2c70b9bfbc982ac15f4942ce414ca3d75c906f4ef2aa86a8e4f475" | |
| 73 | }, | |
| 74 | { | |
| 75 | "path": "fault-03/notebook/Open Notebook.onetoc2", | |
| 76 | "bytes": 4816, | |
| 77 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 78 | }, | |
| 79 | { | |
| 80 | "path": "fault-03/notebook/synthetic.one", | |
| 81 | "bytes": 114096, | |
| 82 | "sha256": "fd5927a433a4d054567e109e3694e343678c519f291da26e8e4792e782ee72ea" | |
| 83 | }, | |
| 84 | { | |
| 85 | "path": "fault-03/result.json", | |
| 86 | "bytes": 170, | |
| 87 | "sha256": "6aeb222bff02c90a101628ba2525e7ed1df6408890edb0cc161f424cd2b44703" | |
| 88 | }, | |
| 89 | { | |
| 90 | "path": "live/before-native-conflict.xml", | |
| 91 | "bytes": 7507, | |
| 92 | "sha256": "a79f4aed3a44587e609d2c53fc63a544dda46cec2ae23385eeb8772c0b7fc76c" | |
| 93 | }, | |
| 94 | { | |
| 95 | "path": "live/before-native-edit.xml", | |
| 96 | "bytes": 7402, | |
| 97 | "sha256": "0a07362ebfed561f8e694a34537fdd8afc0ff52ba92c1afca4c69ec68b3abe13" | |
| 98 | }, | |
| 99 | { | |
| 100 | "path": "live/before.xml", | |
| 101 | "bytes": 7402, | |
| 102 | "sha256": "0a07362ebfed561f8e694a34537fdd8afc0ff52ba92c1afca4c69ec68b3abe13" | |
| 103 | }, | |
| 104 | { | |
| 105 | "path": "live/merged.xml", | |
| 106 | "bytes": 7507, | |
| 107 | "sha256": "a79f4aed3a44587e609d2c53fc63a544dda46cec2ae23385eeb8772c0b7fc76c" | |
| 108 | }, | |
| 109 | { | |
| 110 | "path": "live/notebook/Open Notebook.onetoc2", | |
| 111 | "bytes": 4816, | |
| 112 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 113 | }, | |
| 114 | { | |
| 115 | "path": "live/notebook/synthetic.one", | |
| 116 | "bytes": 55352, | |
| 117 | "sha256": "9802336c345c6d8cea9e7058bf9b2c43d1202fd8087d7422313d8d4e112bff3a" | |
| 118 | }, | |
| 119 | { | |
| 120 | "path": "native/stage5-cold-contention-01/read/hierarchy.xml", | |
| 121 | "bytes": 758, | |
| 122 | "sha256": "2e87cb096dad398e1bcd43853ad42edb75f973565251ec547ded270d23943e27" | |
| 123 | }, | |
| 124 | { | |
| 125 | "path": "native/stage5-cold-contention-01/read/page-000.xml", | |
| 126 | "bytes": 1252, | |
| 127 | "sha256": "9d8ddcaba0afe75a8be771204439df454d529f23e47c27b7e259ae35b5afd610" | |
| 128 | }, | |
| 129 | { | |
| 130 | "path": "native/stage5-cold-fault-01/read/hierarchy.xml", | |
| 131 | "bytes": 743, | |
| 132 | "sha256": "14a1da18d6cb76351dd56645a3a7b7d3842eab0cef42233c1b09cd354b5b694c" | |
| 133 | }, | |
| 134 | { | |
| 135 | "path": "native/stage5-cold-fault-01/read/page-000.xml", | |
| 136 | "bytes": 1113, | |
| 137 | "sha256": "8caa2b1c4200f31898d672ca7d968c41736eff8e7942af8d74a1794fefa2427c" | |
| 138 | }, | |
| 139 | { | |
| 140 | "path": "native/stage5-cold-fault-02/read/hierarchy.xml", | |
| 141 | "bytes": 743, | |
| 142 | "sha256": "5a47a77898a95d6c0d552403b32283cc42e977e7645b2ea52b104dafe6d209d6" | |
| 143 | }, | |
| 144 | { | |
| 145 | "path": "native/stage5-cold-fault-02/read/page-000.xml", | |
| 146 | "bytes": 1120, | |
| 147 | "sha256": "ab729b2bb889b8fcdd48529e1243fbac4ecfd1bb3131ee08048eed3d5b52c18f" | |
| 148 | }, | |
| 149 | { | |
| 150 | "path": "native/stage5-cold-fault-03/read/hierarchy.xml", | |
| 151 | "bytes": 738, | |
| 152 | "sha256": "b8e03039b6d6e79d96807ef5697ea361a1cbd9f7bdbd427ddd3ab7a41d189ce8" | |
| 153 | }, | |
| 154 | { | |
| 155 | "path": "native/stage5-cold-fault-03/read/page-000.xml", | |
| 156 | "bytes": 1217, | |
| 157 | "sha256": "0fdea4db019303f8d193996bf5870d3f441dc921ed24c34fcfa8594213da9058" | |
| 158 | }, | |
| 159 | { | |
| 160 | "path": "native/stage5-cold-live-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment", | |
| 161 | "bytes": 43, | |
| 162 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7" | |
| 163 | }, | |
| 164 | { | |
| 165 | "path": "native/stage5-cold-live-01/read/hierarchy.xml", | |
| 166 | "bytes": 750, | |
| 167 | "sha256": "9b7f7de8fc505667e1c30679069cf28042b874388f01f8310ba360db9dfaa67b" | |
| 168 | }, | |
| 169 | { | |
| 170 | "path": "native/stage5-cold-live-01/read/page-000.xml", | |
| 171 | "bytes": 7494, | |
| 172 | "sha256": "82f0c26d1168925781e454b2d3194f210cd9bcd970c2938a5aec9a25651a245c" | |
| 173 | }, | |
| 174 | { | |
| 175 | "path": "native/stage5-cold-offline-02/read/hierarchy.xml", | |
| 176 | "bytes": 753, | |
| 177 | "sha256": "bbf7435614ff86c8593ec53e0cd6cb06a12da6773bef70dbfccfdf0a0f3edde0" | |
| 178 | }, | |
| 179 | { | |
| 180 | "path": "native/stage5-cold-offline-02/read/page-000.xml", | |
| 181 | "bytes": 1130, | |
| 182 | "sha256": "b4d1a857928c4c329cfe976dcf0a039796e3a651383108d506c8638c238584a4" | |
| 183 | }, | |
| 184 | { | |
| 185 | "path": "offline/native-conflict.png", | |
| 186 | "bytes": 170526, | |
| 187 | "sha256": "77871e4f23011227a80c8dc8d7cdd5883979763a1ebe0697b733a86fdbdd49b1" | |
| 188 | }, | |
| 189 | { | |
| 190 | "path": "offline/notebook/Open Notebook.onetoc2", | |
| 191 | "bytes": 3780, | |
| 192 | "sha256": "f5631f3953cdfb7da6ab48a690265bc8558b1800793adcf63290b63cfdf85889" | |
| 193 | }, | |
| 194 | { | |
| 195 | "path": "offline/notebook/synthetic.one", | |
| 196 | "bytes": 15400, | |
| 197 | "sha256": "01a35591f453c097f544912a69925d2568700bf19f81558ff2c2de35cb66961e" | |
| 198 | }, | |
| 199 | { | |
| 200 | "path": "offline/reconnected.xml", | |
| 201 | "bytes": 1146, | |
| 202 | "sha256": "f026355e1f746aa915ce4fef4db9cd17a8f3e92ba4fa3c9d91ff9f4e3bf1d455" | |
| 203 | }, | |
| 204 | { | |
| 205 | "path": "smb-faults.jsonl", | |
| 206 | "bytes": 58820, | |
| 207 | "sha256": "7e482527401fda4d2cd5a80cc6b3bc75c91a3bcb39245f979491c7e0ad89dd09" | |
| 208 | }, | |
| 209 | { | |
| 210 | "path": "smb-success.jsonl", | |
| 211 | "bytes": 17076, | |
| 212 | "sha256": "f26096684d19aec09af27baf9b7ba9c52e2e423c246963b823ab95473d75b754" | |
| 213 | } | |
| 214 | ] | |
| 215 | } |
corpus/collaboration/round-01/native/stage5-cold-contention-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{36E3AD50-1F6D-4144-B4D3-1682E090A0C9}{1}{B0}" path="C:\one-tests\runs\stage5-cold-contention-01\notebook" lastModifiedTime="2026-09-05T16:37:50.000Z" color="#4DBCCA"><one:Section name="synthetic" ID="{6409769D-B5DE-01D8-2306-416593E9176B}{1}{B0}" path="C:\one-tests\runs\stage5-cold-contention-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T16:37:50.000Z" color="#8AA8E4"><one:Page ID="{0B876BAF-B7C3-0228-075B-612F6D675EE2}{1}{B0}" name="Native edit waited for the lock." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T16:37:50.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/collaboration/round-01/native/stage5-cold-contention-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0B876BAF-B7C3-0228-075B-612F6D675EE2}{1}{B0}" name="Native edit waited for the lock." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T16:37:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T16:16:51.000Z" objectID="{6409769D-B5DE-01D8-2306-416593E9176B}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T16:16:51.000Z" lastModifiedTime="2026-09-05T16:16:51.000Z" objectID="{6409769D-B5DE-01D8-2306-416593E9176B}{24}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native edit waited for the lock.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/native/stage5-cold-fault-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D64C5C16-BF7D-4383-ACE9-D6931A97D6D4}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-01\notebook" lastModifiedTime="2026-09-05T15:06:39.000Z" color="#F5F96F"><one:Section name="synthetic" ID="{347E5EA7-97D5-0E2A-292A-9537C06C238A}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:39.000Z" color="#8AA8E4"><one:Page ID="{5BF04395-95C8-0DDA-0D77-B57D3EE26A03}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:39.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/collaboration/round-01/native/stage5-cold-fault-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5BF04395-95C8-0DDA-0D77-B57D3EE26A03}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:39.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{347E5EA7-97D5-0E2A-292A-9537C06C238A}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{347E5EA7-97D5-0E2A-292A-9537C06C238A}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/native/stage5-cold-fault-02/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{6023DB28-99AA-470E-9D9B-276B28BBB7BF}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-02\notebook" lastModifiedTime="2026-09-05T15:06:41.000Z" color="#ADE792"><one:Section name="synthetic" ID="{11827B51-CA10-03DC-3D55-5963318595A5}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-02\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:41.000Z" color="#8AA8E4"><one:Page ID="{7E0C6663-C80D-002C-1908-7929CF0BDC2C}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:41.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/collaboration/round-01/native/stage5-cold-fault-02/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7E0C6663-C80D-002C-1908-7929CF0BDC2C}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:41.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{11827B51-CA10-03DC-3D55-5963318595A5}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="211.2754974365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{11827B51-CA10-03DC-3D55-5963318595A5}{24}{B0}" alignment="left"><one:T><![CDATA[Publication survived a lost reply.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/native/stage5-cold-fault-03/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{CDE3124B-4D46-4CE8-A83C-60F57AA9BA66}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-03\notebook" lastModifiedTime="2026-09-05T15:06:44.000Z" color="#9595AA"><one:Section name="synthetic" ID="{8E6E2AC8-0065-011D-2A8C-84C21FB66ADF}{1}{B0}" path="C:\one-tests\runs\stage5-cold-fault-03\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:44.000Z" color="#8AA8E4"><one:Page ID="{A227D94E-89AE-420C-ADEB-2C53E38E76C0}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T15:06:44.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/collaboration/round-01/native/stage5-cold-fault-03/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A227D94E-89AE-420C-ADEB-2C53E38E76C0}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T15:06:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{C5EB71F2-C2DB-41BA-A219-A0881C1293A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="170.7457275390625" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{C5EB71F2-C2DB-41BA-A219-A0881C1293A1}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cleanup survived a lost reply.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/native/stage5-cold-live-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../../../append/round-01/native/append-01-complex/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment | |
| \ No newline at end of file |
corpus/collaboration/round-01/native/stage5-cold-live-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BD00DC11-C4C1-43F8-B3DF-91FAE9E05753}{1}{B0}" path="C:\one-tests\runs\stage5-cold-live-01\notebook" lastModifiedTime="2026-09-05T15:06:46.000Z" color="#9595AA"><one:Section name="synthetic" ID="{B3C916BE-6612-0082-04A5-395D1AF0F5D1}{1}{B0}" path="C:\one-tests\runs\stage5-cold-live-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:46.000Z" color="#8AA8E4"><one:Page ID="{9F80E538-EFD9-4393-83C2-91CCE6C8E9CE}{1}{B0}" name="Live Rust: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/collaboration/round-01/native/stage5-cold-live-01/read/page-000.xml created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9F80E538-EFD9-4393-83C2-91CCE6C8E9CE}{1}{B0}" name="Live Rust: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{F84C4D84-A4AC-4025-8C30-1D1719540CAF}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{F84C4D84-A4AC-4025-8C30-1D1719540CAF}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Live Rust: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京,</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US> </span><span | |
| 6 | style='font-weight:bold;font-family:Calibri;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>م</span><span style='font-weight:bold;font-family:Arial;direction: | |
| 8 | rtl;unicode-bidi:embed' lang=ar-SA>رحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{DAA16116-FC44-4E96-91A8-BF9FD9D4617B}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 9 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 10 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 11 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 12 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 13 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 14 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 15 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 16 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 17 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 18 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 19 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 20 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{DAA16116-FC44-4E96-91A8-BF9FD9D4617B}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 21 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 22 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 23 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 24 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 25 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 26 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{AEFC9191-17F9-4A78-9686-9F9FBD58E8E6}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="137.0636138916016" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T08:15:46.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{AEFC9191-17F9-4A78-9686-9F9FBD58E8E6}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Rust same paragraph.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{93D5F91E-F163-43D6-A0F6-346B5135A068}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{93D5F91E-F163-43D6-A0F6-346B5135A068}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 27 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{16CFE17E-371B-4010-855B-539565E46F5B}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{16CFE17E-371B-4010-855B-539565E46F5B}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{3810982E-568B-4B90-9A53-B1C04DB7941D}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="91.88566589355469" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T08:15:46.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{47}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{48}{B0}"><one:Columns><one:Column index="0" width="38.61000061035156"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{49}{B0}" lastModifiedTime="2026-09-05T08:15:47.000Z"><one:Cell lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{50}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T08:15:46.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{3810982E-568B-4B90-9A53-B1C04DB7941D}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{FDCEF74C-55C9-4DEB-B595-8A5224C3AC56}{57}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T08:15:46.000Z" lastModifiedTime="2026-09-05T08:15:47.000Z" objectID="{3810982E-568B-4B90-9A53-B1C04DB7941D}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/native/stage5-cold-offline-02/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{AA14B9DD-CDD1-44A5-B05C-4CD9C0504725}{1}{B0}" path="C:\one-tests\runs\stage5-cold-offline-02\notebook" lastModifiedTime="2026-09-05T15:06:48.000Z" color="#E8D199"><one:Section name="synthetic" ID="{9C2CF3DE-83C9-0751-3128-C47540B049CD}{1}{B0}" path="C:\one-tests\runs\stage5-cold-offline-02\notebook\synthetic.one" lastModifiedTime="2026-09-05T15:06:48.000Z" color="#8AA8E4"><one:Page ID="{F3A2EEEC-81D4-04A1-1575-E43FBE3E0044}{1}{B0}" name="Native edited while disconnected." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:48.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/collaboration/round-01/native/stage5-cold-offline-02/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F3A2EEEC-81D4-04A1-1575-E43FBE3E0044}{1}{B0}" name="Native edited while disconnected." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T15:06:48.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T08:30:43.000Z" objectID="{9C2CF3DE-83C9-0751-3128-C47540B049CD}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="26.85543441772461"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T08:28:45.000Z" lastModifiedTime="2026-09-05T08:30:43.000Z" objectID="{9C2CF3DE-83C9-0751-3128-C47540B049CD}{24}{B0}" alignment="left"><one:T><![CDATA[Rust edited during the native outage.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/offline/native-conflict.png created| Binary files /dev/null and b/corpus/collaboration/round-01/offline/native-conflict.png differ |
corpus/collaboration/round-01/offline/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/collaboration/round-01/offline/notebook/Open Notebook.onetoc2 differ |
corpus/collaboration/round-01/offline/notebook/synthetic.one created| Binary files /dev/null and b/corpus/collaboration/round-01/offline/notebook/synthetic.one differ |
corpus/collaboration/round-01/offline/reconnected.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8790AC5D-C4A3-02BA-2755-75762E8F11F0}{1}{B0}" name="Native edited while disconnected." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T08:30:56.000Z" pageLevel="1" isUnread="true" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T08:30:43.000Z" objectID="{E81EB16F-C6BE-014A-0308-553CD0015879}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="26.85543441772461"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T08:28:45.000Z" lastModifiedTime="2026-09-05T08:30:43.000Z" objectID="{E81EB16F-C6BE-014A-0308-553CD0015879}{24}{B0}" alignment="left"><one:T><![CDATA[Rust edited during the native outage.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/collaboration/round-01/smb-faults.jsonl created+627| ... | ... | @@ -0,0 +1,627 @@ |
| 1 | {"time": 1788596794.48568, "listening": 11445} | |
| 2 | {"time": 1788596795.602871, "direction": "response", "command": 0, "message": 0, "status": "0x0"} | |
| 3 | {"time": 1788596795.603053, "direction": "request", "command": 0, "message": 1} | |
| 4 | {"time": 1788596795.603626, "direction": "response", "command": 0, "message": 1, "status": "0x0"} | |
| 5 | {"time": 1788596795.6214411, "direction": "request", "command": 1, "message": 2} | |
| 6 | {"time": 1788596795.622229, "direction": "response", "command": 1, "message": 2, "status": "0xc0000016"} | |
| 7 | {"time": 1788596795.6231859, "direction": "request", "command": 1, "message": 3} | |
| 8 | {"time": 1788596795.6254468, "direction": "response", "command": 1, "message": 3, "status": "0x0"} | |
| 9 | {"time": 1788596795.62623, "direction": "request", "command": 3, "message": 4} | |
| 10 | {"time": 1788596795.641889, "direction": "response", "command": 3, "message": 4, "status": "0x0"} | |
| 11 | {"time": 1788596795.803332, "direction": "request", "command": 5, "message": 5} | |
| 12 | {"time": 1788596795.8033862, "direction": "request", "command": 16, "message": 6} | |
| 13 | {"time": 1788596795.8033988, "direction": "request", "command": 6, "message": 7} | |
| 14 | {"time": 1788596795.804718, "direction": "response", "command": 5, "message": 5, "status": "0x0"} | |
| 15 | {"time": 1788596795.804736, "direction": "response", "command": 16, "message": 6, "status": "0x0"} | |
| 16 | {"time": 1788596795.804745, "direction": "response", "command": 6, "message": 7, "status": "0x0"} | |
| 17 | {"time": 1788596795.8049338, "direction": "request", "command": 5, "message": 8} | |
| 18 | {"time": 1788596795.804957, "direction": "request", "command": 16, "message": 9} | |
| 19 | {"time": 1788596795.8049679, "direction": "request", "command": 6, "message": 10} | |
| 20 | {"time": 1788596795.805514, "direction": "response", "command": 5, "message": 8, "status": "0x0"} | |
| 21 | {"time": 1788596795.805526, "direction": "response", "command": 16, "message": 9, "status": "0x0"} | |
| 22 | {"time": 1788596795.805535, "direction": "response", "command": 6, "message": 10, "status": "0x0"} | |
| 23 | {"time": 1788596795.805697, "direction": "request", "command": 5, "message": 11} | |
| 24 | {"time": 1788596795.805706, "direction": "request", "command": 16, "message": 12} | |
| 25 | {"time": 1788596795.805713, "direction": "request", "command": 6, "message": 13} | |
| 26 | {"time": 1788596795.806253, "direction": "response", "command": 5, "message": 11, "status": "0x0"} | |
| 27 | {"time": 1788596795.806262, "direction": "response", "command": 16, "message": 12, "status": "0x0"} | |
| 28 | {"time": 1788596795.806269, "direction": "response", "command": 6, "message": 13, "status": "0x0"} | |
| 29 | {"time": 1788596795.806425, "direction": "request", "command": 5, "message": 14} | |
| 30 | {"time": 1788596795.8064342, "direction": "request", "command": 11, "message": 15} | |
| 31 | {"time": 1788596795.8064399, "direction": "request", "command": 6, "message": 16} | |
| 32 | {"time": 1788596795.806939, "direction": "response", "command": 5, "message": 14, "status": "0x0"} | |
| 33 | {"time": 1788596795.8069482, "direction": "response", "command": 11, "message": 15, "status": "0x0"} | |
| 34 | {"time": 1788596795.806955, "direction": "response", "command": 6, "message": 16, "status": "0x0"} | |
| 35 | {"time": 1788596795.8071191, "direction": "request", "command": 5, "message": 17} | |
| 36 | {"time": 1788596795.807126, "direction": "request", "command": 16, "message": 18} | |
| 37 | {"time": 1788596795.807133, "direction": "request", "command": 6, "message": 19} | |
| 38 | {"time": 1788596795.8071492, "direction": "request", "command": 15, "message": 20} | |
| 39 | {"time": 1788596795.807737, "direction": "response", "command": 5, "message": 17, "status": "0x0"} | |
| 40 | {"time": 1788596795.807746, "direction": "response", "command": 16, "message": 18, "status": "0x0"} | |
| 41 | {"time": 1788596795.807752, "direction": "response", "command": 6, "message": 19, "status": "0x0"} | |
| 42 | {"time": 1788596795.807768, "direction": "response", "command": 15, "message": 20, "status": "0xc0000128"} | |
| 43 | {"time": 1788596795.811281, "direction": "request", "command": 5, "message": 21} | |
| 44 | {"time": 1788596795.8113012, "direction": "request", "command": 8, "message": 22, "length": 60, "offset": 0} | |
| 45 | {"time": 1788596795.81131, "direction": "request", "command": 6, "message": 23} | |
| 46 | {"time": 1788596795.8121111, "direction": "response", "command": 5, "message": 21, "status": "0xc0000034"} | |
| 47 | {"time": 1788596795.812144, "direction": "response", "command": 8, "message": 22, "status": "0xc0000034"} | |
| 48 | {"time": 1788596795.81215, "direction": "response", "command": 6, "message": 23, "status": "0xc0000034"} | |
| 49 | {"time": 1788596795.8132281, "direction": "request", "command": 5, "message": 24} | |
| 50 | {"time": 1788596795.813237, "direction": "request", "command": 6, "message": 25} | |
| 51 | {"time": 1788596795.8139038, "direction": "response", "command": 5, "message": 24, "status": "0x0"} | |
| 52 | {"time": 1788596795.8139122, "direction": "response", "command": 6, "message": 25, "status": "0x0"} | |
| 53 | {"time": 1788596795.818496, "direction": "request", "command": 5, "message": 26} | |
| 54 | {"time": 1788596795.8185039, "direction": "request", "command": 14, "message": 27} | |
| 55 | {"time": 1788596795.81851, "direction": "request", "command": 6, "message": 28} | |
| 56 | {"time": 1788596795.819212, "direction": "response", "command": 5, "message": 26, "status": "0x0"} | |
| 57 | {"time": 1788596795.819221, "direction": "response", "command": 14, "message": 27, "status": "0xc000000f"} | |
| 58 | {"time": 1788596795.819226, "direction": "response", "command": 6, "message": 28, "status": "0x0"} | |
| 59 | {"time": 1788596795.819457, "direction": "request", "command": 5, "message": 29} | |
| 60 | {"time": 1788596795.819465, "direction": "request", "command": 14, "message": 30} | |
| 61 | {"time": 1788596795.8194702, "direction": "request", "command": 6, "message": 31} | |
| 62 | {"time": 1788596795.820155, "direction": "response", "command": 5, "message": 29, "status": "0x0"} | |
| 63 | {"time": 1788596795.820163, "direction": "response", "command": 14, "message": 30, "status": "0xc000000f"} | |
| 64 | {"time": 1788596795.820169, "direction": "response", "command": 6, "message": 31, "status": "0x0"} | |
| 65 | {"time": 1788596795.820367, "direction": "request", "command": 5, "message": 32} | |
| 66 | {"time": 1788596795.820373, "direction": "request", "command": 14, "message": 33} | |
| 67 | {"time": 1788596795.820378, "direction": "request", "command": 6, "message": 34} | |
| 68 | {"time": 1788596795.8209631, "direction": "response", "command": 5, "message": 32, "status": "0x0"} | |
| 69 | {"time": 1788596795.820971, "direction": "response", "command": 14, "message": 33, "status": "0xc000000f"} | |
| 70 | {"time": 1788596795.820976, "direction": "response", "command": 6, "message": 34, "status": "0x0"} | |
| 71 | {"time": 1788596795.821236, "direction": "request", "command": 5, "message": 35} | |
| 72 | {"time": 1788596795.8212428, "direction": "request", "command": 14, "message": 36} | |
| 73 | {"time": 1788596795.821248, "direction": "request", "command": 6, "message": 37} | |
| 74 | {"time": 1788596795.821866, "direction": "response", "command": 5, "message": 35, "status": "0x0"} | |
| 75 | {"time": 1788596795.821878, "direction": "response", "command": 14, "message": 36, "status": "0xc000000f"} | |
| 76 | {"time": 1788596795.8218849, "direction": "response", "command": 6, "message": 37, "status": "0x0"} | |
| 77 | {"time": 1788596795.8225238, "direction": "request", "command": 5, "message": 38} | |
| 78 | {"time": 1788596795.822531, "direction": "request", "command": 14, "message": 39} | |
| 79 | {"time": 1788596795.822536, "direction": "request", "command": 6, "message": 40} | |
| 80 | {"time": 1788596795.8228428, "direction": "request", "command": 5, "message": 41} | |
| 81 | {"time": 1788596795.8228621, "direction": "request", "command": 14, "message": 42} | |
| 82 | {"time": 1788596795.8228722, "direction": "request", "command": 6, "message": 43} | |
| 83 | {"time": 1788596795.8231611, "direction": "response", "command": 5, "message": 38, "status": "0x0"} | |
| 84 | {"time": 1788596795.823172, "direction": "response", "command": 14, "message": 39, "status": "0xc000000f"} | |
| 85 | {"time": 1788596795.823179, "direction": "response", "command": 6, "message": 40, "status": "0x0"} | |
| 86 | {"time": 1788596795.8235352, "direction": "response", "command": 5, "message": 41, "status": "0x0"} | |
| 87 | {"time": 1788596795.823543, "direction": "response", "command": 14, "message": 42, "status": "0xc000000f"} | |
| 88 | {"time": 1788596795.823549, "direction": "response", "command": 6, "message": 43, "status": "0x0"} | |
| 89 | {"time": 1788596799.7892811, "direction": "request", "command": 5, "message": 44} | |
| 90 | {"time": 1788596799.789431, "direction": "request", "command": 16, "message": 45} | |
| 91 | {"time": 1788596799.789449, "direction": "request", "command": 6, "message": 46} | |
| 92 | {"time": 1788596799.7907782, "direction": "response", "command": 5, "message": 44, "status": "0x0"} | |
| 93 | {"time": 1788596799.790837, "direction": "response", "command": 16, "message": 45, "status": "0x0"} | |
| 94 | {"time": 1788596799.790874, "direction": "response", "command": 6, "message": 46, "status": "0x0"} | |
| 95 | {"time": 1788596810.810456, "direction": "request", "command": 15, "message": 47} | |
| 96 | {"time": 1788596810.811786, "direction": "response", "command": 15, "message": 47, "status": "0xc0000128"} | |
| 97 | {"time": 1788596825.814044, "direction": "request", "command": 15, "message": 48} | |
| 98 | {"time": 1788596825.815031, "direction": "response", "command": 15, "message": 48, "status": "0xc0000128"} | |
| 99 | {"time": 1788596835.7812622, "direction": "request", "command": 5, "message": 49} | |
| 100 | {"time": 1788596835.781305, "direction": "request", "command": 16, "message": 50} | |
| 101 | {"time": 1788596835.7813172, "direction": "request", "command": 6, "message": 51} | |
| 102 | {"time": 1788596835.782187, "direction": "response", "command": 5, "message": 49, "status": "0x0"} | |
| 103 | {"time": 1788596835.7822, "direction": "response", "command": 16, "message": 50, "status": "0x0"} | |
| 104 | {"time": 1788596835.782208, "direction": "response", "command": 6, "message": 51, "status": "0x0"} | |
| 105 | {"time": 1788596835.7823849, "direction": "request", "command": 5, "message": 52} | |
| 106 | {"time": 1788596835.7823958, "direction": "request", "command": 14, "message": 53} | |
| 107 | {"time": 1788596835.782403, "direction": "request", "command": 6, "message": 54} | |
| 108 | {"time": 1788596835.783127, "direction": "response", "command": 5, "message": 52, "status": "0x0"} | |
| 109 | {"time": 1788596835.783138, "direction": "response", "command": 14, "message": 53, "status": "0x0"} | |
| 110 | {"time": 1788596835.783146, "direction": "response", "command": 6, "message": 54, "status": "0x0"} | |
| 111 | {"time": 1788596835.78332, "direction": "request", "command": 5, "message": 55} | |
| 112 | {"time": 1788596835.783329, "direction": "request", "command": 14, "message": 56} | |
| 113 | {"time": 1788596835.783336, "direction": "request", "command": 6, "message": 57} | |
| 114 | {"time": 1788596835.783911, "direction": "response", "command": 5, "message": 55, "status": "0x0"} | |
| 115 | {"time": 1788596835.783921, "direction": "response", "command": 14, "message": 56, "status": "0xc000000f"} | |
| 116 | {"time": 1788596835.7839282, "direction": "response", "command": 6, "message": 57, "status": "0x0"} | |
| 117 | {"time": 1788596835.784095, "direction": "request", "command": 5, "message": 58} | |
| 118 | {"time": 1788596835.784103, "direction": "request", "command": 6, "message": 59} | |
| 119 | {"time": 1788596835.78494, "direction": "response", "command": 5, "message": 58, "status": "0x0"} | |
| 120 | {"time": 1788596835.784949, "direction": "response", "command": 6, "message": 59, "status": "0x0"} | |
| 121 | {"time": 1788596835.785124, "direction": "request", "command": 5, "message": 60} | |
| 122 | {"time": 1788596835.7851331, "direction": "request", "command": 8, "message": 61, "length": 64, "offset": 0} | |
| 123 | {"time": 1788596835.785141, "direction": "request", "command": 6, "message": 62} | |
| 124 | {"time": 1788596835.7857149, "direction": "response", "command": 5, "message": 60, "status": "0xc0000034"} | |
| 125 | {"time": 1788596835.7857249, "direction": "response", "command": 8, "message": 61, "status": "0xc0000034"} | |
| 126 | {"time": 1788596835.785732, "direction": "response", "command": 6, "message": 62, "status": "0xc0000034"} | |
| 127 | {"time": 1788596835.78588, "direction": "request", "command": 5, "message": 63} | |
| 128 | {"time": 1788596835.785889, "direction": "request", "command": 9, "message": 64, "length": 11, "offset": 0} | |
| 129 | {"time": 1788596835.7858958, "direction": "request", "command": 17, "message": 65} | |
| 130 | {"time": 1788596835.7859032, "direction": "request", "command": 6, "message": 66} | |
| 131 | {"time": 1788596835.7868109, "direction": "response", "command": 5, "message": 63, "status": "0x0"} | |
| 132 | {"time": 1788596835.7868218, "direction": "response", "command": 9, "message": 64, "status": "0x0"} | |
| 133 | {"time": 1788596835.786829, "direction": "response", "command": 17, "message": 65, "status": "0x0"} | |
| 134 | {"time": 1788596835.786837, "direction": "response", "command": 6, "message": 66, "status": "0x0"} | |
| 135 | {"time": 1788596835.787012, "direction": "request", "command": 5, "message": 67} | |
| 136 | {"time": 1788596835.787037, "direction": "request", "command": 14, "message": 68} | |
| 137 | {"time": 1788596835.787045, "direction": "request", "command": 6, "message": 69} | |
| 138 | {"time": 1788596835.7875898, "direction": "response", "command": 5, "message": 67, "status": "0x0"} | |
| 139 | {"time": 1788596835.787599, "direction": "response", "command": 14, "message": 68, "status": "0xc000000f"} | |
| 140 | {"time": 1788596835.787605, "direction": "response", "command": 6, "message": 69, "status": "0x0"} | |
| 141 | {"time": 1788596835.787787, "direction": "request", "command": 5, "message": 70} | |
| 142 | {"time": 1788596835.7877939, "direction": "request", "command": 14, "message": 71} | |
| 143 | {"time": 1788596835.7877991, "direction": "request", "command": 6, "message": 72} | |
| 144 | {"time": 1788596835.788331, "direction": "response", "command": 5, "message": 70, "status": "0x0"} | |
| 145 | {"time": 1788596835.7883399, "direction": "response", "command": 14, "message": 71, "status": "0xc000000f"} | |
| 146 | {"time": 1788596835.788346, "direction": "response", "command": 6, "message": 72, "status": "0x0"} | |
| 147 | {"time": 1788596835.788512, "direction": "request", "command": 5, "message": 73} | |
| 148 | {"time": 1788596835.788519, "direction": "request", "command": 16, "message": 74} | |
| 149 | {"time": 1788596835.78955, "direction": "response", "command": 5, "message": 73, "status": "0x0"} | |
| 150 | {"time": 1788596835.789558, "direction": "response", "command": 16, "message": 74, "status": "0x0"} | |
| 151 | {"time": 1788596835.7897558, "direction": "request", "command": 5, "message": 106} | |
| 152 | {"time": 1788596835.7897768, "direction": "request", "command": 8, "message": 107, "length": 64, "offset": 0} | |
| 153 | {"time": 1788596835.789788, "direction": "request", "command": 6, "message": 108} | |
| 154 | {"time": 1788596835.790401, "direction": "response", "command": 5, "message": 106, "status": "0xc0000034"} | |
| 155 | {"time": 1788596835.7904131, "direction": "response", "command": 8, "message": 107, "status": "0xc0000034"} | |
| 156 | {"time": 1788596835.790421, "direction": "response", "command": 6, "message": 108, "status": "0xc0000034"} | |
| 157 | {"time": 1788596835.790595, "direction": "request", "command": 5, "message": 109} | |
| 158 | {"time": 1788596835.790604, "direction": "request", "command": 9, "message": 110, "length": 11, "offset": 0} | |
| 159 | {"time": 1788596835.790611, "direction": "request", "command": 17, "message": 111} | |
| 160 | {"time": 1788596835.790617, "direction": "request", "command": 6, "message": 112} | |
| 161 | {"time": 1788596835.791643, "direction": "response", "command": 5, "message": 109, "status": "0x0"} | |
| 162 | {"time": 1788596835.7916539, "direction": "response", "command": 9, "message": 110, "status": "0x0"} | |
| 163 | {"time": 1788596835.79166, "direction": "response", "command": 17, "message": 111, "status": "0x0"} | |
| 164 | {"time": 1788596835.791666, "direction": "response", "command": 6, "message": 112, "status": "0x0"} | |
| 165 | {"time": 1788596835.791858, "direction": "request", "command": 5, "message": 113} | |
| 166 | {"time": 1788596835.7918668, "direction": "request", "command": 8, "message": 114, "length": 64, "offset": 0} | |
| 167 | {"time": 1788596835.791874, "direction": "request", "command": 6, "message": 115} | |
| 168 | {"time": 1788596835.7926972, "direction": "response", "command": 5, "message": 113, "status": "0x0"} | |
| 169 | {"time": 1788596835.792707, "direction": "response", "command": 8, "message": 114, "status": "0x0"} | |
| 170 | {"time": 1788596835.792713, "direction": "response", "command": 6, "message": 115, "status": "0x0"} | |
| 171 | {"time": 1788596835.792902, "direction": "request", "command": 5, "message": 116} | |
| 172 | {"time": 1788596835.79291, "direction": "request", "command": 8, "message": 117, "length": 64, "offset": 0} | |
| 173 | {"time": 1788596835.792916, "direction": "request", "command": 6, "message": 118} | |
| 174 | {"time": 1788596835.793588, "direction": "response", "command": 5, "message": 116, "status": "0x0"} | |
| 175 | {"time": 1788596835.7935958, "direction": "response", "command": 8, "message": 117, "status": "0x0"} | |
| 176 | {"time": 1788596835.793602, "direction": "response", "command": 6, "message": 118, "status": "0x0"} | |
| 177 | {"time": 1788596835.793757, "direction": "request", "command": 5, "message": 119} | |
| 178 | {"time": 1788596835.793764, "direction": "request", "command": 16, "message": 120} | |
| 179 | {"time": 1788596835.793781, "direction": "request", "command": 6, "message": 121} | |
| 180 | {"time": 1788596835.7945652, "direction": "response", "command": 5, "message": 119, "status": "0x0"} | |
| 181 | {"time": 1788596835.794572, "direction": "response", "command": 16, "message": 120, "status": "0x0"} | |
| 182 | {"time": 1788596835.7945778, "direction": "response", "command": 6, "message": 121, "status": "0x0"} | |
| 183 | {"time": 1788596835.794724, "direction": "request", "command": 17, "message": 122} | |
| 184 | {"time": 1788596835.795155, "direction": "response", "command": 17, "message": 122, "status": "0x0"} | |
| 185 | {"time": 1788596835.795328, "direction": "request", "command": 17, "message": 123} | |
| 186 | {"time": 1788596835.795807, "direction": "response", "command": 17, "message": 123, "status": "0x0"} | |
| 187 | {"time": 1788596835.795975, "direction": "request", "command": 5, "message": 124} | |
| 188 | {"time": 1788596835.795983, "direction": "request", "command": 8, "message": 125, "length": 64, "offset": 0} | |
| 189 | {"time": 1788596835.795989, "direction": "request", "command": 6, "message": 126} | |
| 190 | {"time": 1788596835.796745, "direction": "response", "command": 5, "message": 124, "status": "0x0"} | |
| 191 | {"time": 1788596835.796754, "direction": "response", "command": 8, "message": 125, "status": "0x0"} | |
| 192 | {"time": 1788596835.79676, "direction": "response", "command": 6, "message": 126, "status": "0x0"} | |
| 193 | {"time": 1788596835.796928, "direction": "request", "command": 5, "message": 127} | |
| 194 | {"time": 1788596835.796937, "direction": "request", "command": 8, "message": 128, "length": 64, "offset": 0} | |
| 195 | {"time": 1788596835.796944, "direction": "request", "command": 6, "message": 129} | |
| 196 | {"time": 1788596835.7977002, "direction": "response", "command": 5, "message": 127, "status": "0x0"} | |
| 197 | {"time": 1788596835.7977102, "direction": "response", "command": 8, "message": 128, "status": "0x0"} | |
| 198 | {"time": 1788596835.797715, "direction": "response", "command": 6, "message": 129, "status": "0x0"} | |
| 199 | {"time": 1788596835.797968, "direction": "request", "command": 9, "message": 130, "length": 1612, "offset": 0, "transactions": 1} | |
| 200 | {"time": 1788596835.798534, "direction": "response", "command": 9, "message": 130, "status": "0x0"} | |
| 201 | {"time": 1788596835.7987142, "direction": "request", "command": 7, "message": 131} | |
| 202 | {"time": 1788596835.800239, "direction": "response", "command": 7, "message": 131, "status": "0x103"} | |
| 203 | {"time": 1788596835.842924, "direction": "response", "command": 7, "message": 131, "status": "0x0"} | |
| 204 | {"time": 1788596835.843112, "direction": "request", "command": 5, "message": 132} | |
| 205 | {"time": 1788596835.843123, "direction": "request", "command": 14, "message": 133} | |
| 206 | {"time": 1788596835.843132, "direction": "request", "command": 6, "message": 134} | |
| 207 | {"time": 1788596835.844085, "direction": "response", "command": 5, "message": 132, "status": "0x0"} | |
| 208 | {"time": 1788596835.8440971, "direction": "response", "command": 14, "message": 133, "status": "0x0"} | |
| 209 | {"time": 1788596835.844105, "direction": "response", "command": 6, "message": 134, "status": "0x0"} | |
| 210 | {"time": 1788596835.8443048, "direction": "request", "command": 5, "message": 135} | |
| 211 | {"time": 1788596835.844314, "direction": "request", "command": 17, "message": 136} | |
| 212 | {"time": 1788596835.844321, "direction": "request", "command": 6, "message": 137} | |
| 213 | {"time": 1788596835.845024, "direction": "response", "command": 5, "message": 135, "status": "0x0"} | |
| 214 | {"time": 1788596835.845036, "direction": "response", "command": 17, "message": 136, "status": "0x0"} | |
| 215 | {"time": 1788596835.845043, "direction": "response", "command": 6, "message": 137, "status": "0x0"} | |
| 216 | {"time": 1788596835.845206, "direction": "request", "command": 5, "message": 138} | |
| 217 | {"time": 1788596835.845216, "direction": "request", "command": 8, "message": 139, "length": 64, "offset": 0} | |
| 218 | {"time": 1788596835.845223, "direction": "request", "command": 6, "message": 140} | |
| 219 | {"time": 1788596835.8459141, "direction": "response", "command": 5, "message": 138, "status": "0x0"} | |
| 220 | {"time": 1788596835.8459241, "direction": "response", "command": 8, "message": 139, "status": "0x0"} | |
| 221 | {"time": 1788596835.845932, "direction": "response", "command": 6, "message": 140, "status": "0x0"} | |
| 222 | {"time": 1788596835.846119, "direction": "request", "command": 5, "message": 141} | |
| 223 | {"time": 1788596835.846129, "direction": "request", "command": 8, "message": 142, "length": 64, "offset": 0} | |
| 224 | {"time": 1788596835.846136, "direction": "request", "command": 6, "message": 143} | |
| 225 | {"time": 1788596835.846812, "direction": "response", "command": 5, "message": 141, "status": "0x0"} | |
| 226 | {"time": 1788596835.846823, "direction": "response", "command": 8, "message": 142, "status": "0x0"} | |
| 227 | {"time": 1788596835.8468301, "direction": "response", "command": 6, "message": 143, "status": "0x0"} | |
| 228 | {"time": 1788596835.8470101, "direction": "request", "command": 5, "message": 144} | |
| 229 | {"time": 1788596835.847019, "direction": "request", "command": 8, "message": 145, "length": 64, "offset": 0} | |
| 230 | {"time": 1788596835.8470268, "direction": "request", "command": 6, "message": 146} | |
| 231 | {"time": 1788596835.847816, "direction": "response", "command": 5, "message": 144, "status": "0x0"} | |
| 232 | {"time": 1788596835.847826, "direction": "response", "command": 8, "message": 145, "status": "0x0"} | |
| 233 | {"time": 1788596835.8478332, "direction": "response", "command": 6, "message": 146, "status": "0x0"} | |
| 234 | {"time": 1788596835.848018, "direction": "request", "command": 5, "message": 147} | |
| 235 | {"time": 1788596835.848029, "direction": "request", "command": 14, "message": 148} | |
| 236 | {"time": 1788596835.848036, "direction": "request", "command": 6, "message": 149} | |
| 237 | {"time": 1788596835.848586, "direction": "response", "command": 5, "message": 147, "status": "0x0"} | |
| 238 | {"time": 1788596835.848597, "direction": "response", "command": 14, "message": 148, "status": "0xc000000f"} | |
| 239 | {"time": 1788596835.848605, "direction": "response", "command": 6, "message": 149, "status": "0x0"} | |
| 240 | {"time": 1788596835.848784, "direction": "request", "command": 5, "message": 150} | |
| 241 | {"time": 1788596835.848795, "direction": "request", "command": 14, "message": 151} | |
| 242 | {"time": 1788596835.848802, "direction": "request", "command": 6, "message": 152} | |
| 243 | {"time": 1788596835.849588, "direction": "response", "command": 5, "message": 150, "status": "0x0"} | |
| 244 | {"time": 1788596835.8496, "direction": "response", "command": 14, "message": 151, "status": "0x0"} | |
| 245 | {"time": 1788596835.849608, "direction": "response", "command": 6, "message": 152, "status": "0x0"} | |
| 246 | {"time": 1788596835.849776, "direction": "request", "command": 5, "message": 153} | |
| 247 | {"time": 1788596835.849785, "direction": "request", "command": 14, "message": 154} | |
| 248 | {"time": 1788596835.849792, "direction": "request", "command": 6, "message": 155} | |
| 249 | {"time": 1788596835.85037, "direction": "response", "command": 5, "message": 153, "status": "0x0"} | |
| 250 | {"time": 1788596835.850379, "direction": "response", "command": 14, "message": 154, "status": "0xc000000f"} | |
| 251 | {"time": 1788596835.8503869, "direction": "response", "command": 6, "message": 155, "status": "0x0"} | |
| 252 | {"time": 1788596835.850662, "direction": "request", "command": 5, "message": 156} | |
| 253 | {"time": 1788596835.8506749, "direction": "request", "command": 14, "message": 157} | |
| 254 | {"time": 1788596835.850682, "direction": "request", "command": 6, "message": 158} | |
| 255 | {"time": 1788596835.851308, "direction": "response", "command": 5, "message": 156, "status": "0x0"} | |
| 256 | {"time": 1788596835.8513181, "direction": "response", "command": 14, "message": 157, "status": "0xc000000f"} | |
| 257 | {"time": 1788596835.851326, "direction": "response", "command": 6, "message": 158, "status": "0x0"} | |
| 258 | {"time": 1788596835.8515341, "direction": "request", "command": 5, "message": 159} | |
| 259 | {"time": 1788596835.851543, "direction": "request", "command": 16, "message": 160} | |
| 260 | {"time": 1788596835.85236, "direction": "response", "command": 5, "message": 159, "status": "0x0"} | |
| 261 | {"time": 1788596835.85237, "direction": "response", "command": 16, "message": 160, "status": "0x0"} | |
| 262 | {"time": 1788596835.852559, "direction": "request", "command": 5, "message": 192} | |
| 263 | {"time": 1788596835.8525681, "direction": "request", "command": 8, "message": 193, "length": 64, "offset": 0} | |
| 264 | {"time": 1788596835.852576, "direction": "request", "command": 6, "message": 194} | |
| 265 | {"time": 1788596835.85332, "direction": "response", "command": 5, "message": 192, "status": "0xc0000034"} | |
| 266 | {"time": 1788596835.853336, "direction": "response", "command": 8, "message": 193, "status": "0xc0000034"} | |
| 267 | {"time": 1788596835.853344, "direction": "response", "command": 6, "message": 194, "status": "0xc0000034"} | |
| 268 | {"time": 1788596835.853515, "direction": "request", "command": 5, "message": 195} | |
| 269 | {"time": 1788596835.853525, "direction": "request", "command": 9, "message": 196, "length": 11, "offset": 0} | |
| 270 | {"time": 1788596835.8535318, "direction": "request", "command": 17, "message": 197} | |
| 271 | {"time": 1788596835.853539, "direction": "request", "command": 6, "message": 198} | |
| 272 | {"time": 1788596835.854403, "direction": "response", "command": 5, "message": 195, "status": "0x0"} | |
| 273 | {"time": 1788596835.8544152, "direction": "response", "command": 9, "message": 196, "status": "0x0"} | |
| 274 | {"time": 1788596835.854423, "direction": "response", "command": 17, "message": 197, "status": "0x0"} | |
| 275 | {"time": 1788596835.854433, "direction": "response", "command": 6, "message": 198, "status": "0x0"} | |
| 276 | {"time": 1788596835.854603, "direction": "request", "command": 5, "message": 199} | |
| 277 | {"time": 1788596835.8546119, "direction": "request", "command": 8, "message": 200, "length": 64, "offset": 0} | |
| 278 | {"time": 1788596835.8546188, "direction": "request", "command": 6, "message": 201} | |
| 279 | {"time": 1788596835.855345, "direction": "response", "command": 5, "message": 199, "status": "0x0"} | |
| 280 | {"time": 1788596835.855357, "direction": "response", "command": 8, "message": 200, "status": "0x0"} | |
| 281 | {"time": 1788596835.855364, "direction": "response", "command": 6, "message": 201, "status": "0x0"} | |
| 282 | {"time": 1788596835.855548, "direction": "request", "command": 5, "message": 202} | |
| 283 | {"time": 1788596835.8555572, "direction": "request", "command": 8, "message": 203, "length": 64, "offset": 0} | |
| 284 | {"time": 1788596835.855565, "direction": "request", "command": 6, "message": 204} | |
| 285 | {"time": 1788596835.856308, "direction": "response", "command": 5, "message": 202, "status": "0x0"} | |
| 286 | {"time": 1788596835.856317, "direction": "response", "command": 8, "message": 203, "status": "0x0"} | |
| 287 | {"time": 1788596835.8563251, "direction": "response", "command": 6, "message": 204, "status": "0x0"} | |
| 288 | {"time": 1788596835.856492, "direction": "request", "command": 5, "message": 205} | |
| 289 | {"time": 1788596835.856501, "direction": "request", "command": 16, "message": 206} | |
| 290 | {"time": 1788596835.856508, "direction": "request", "command": 6, "message": 207} | |
| 291 | {"time": 1788596835.857175, "direction": "response", "command": 5, "message": 205, "status": "0x0"} | |
| 292 | {"time": 1788596835.8571851, "direction": "response", "command": 16, "message": 206, "status": "0x0"} | |
| 293 | {"time": 1788596835.857192, "direction": "response", "command": 6, "message": 207, "status": "0x0"} | |
| 294 | {"time": 1788596835.857345, "direction": "request", "command": 17, "message": 208} | |
| 295 | {"time": 1788596835.857771, "direction": "response", "command": 17, "message": 208, "status": "0x0"} | |
| 296 | {"time": 1788596835.857928, "direction": "request", "command": 17, "message": 209} | |
| 297 | {"time": 1788596835.858361, "direction": "response", "command": 17, "message": 209, "status": "0x0"} | |
| 298 | {"time": 1788596835.858523, "direction": "request", "command": 5, "message": 210} | |
| 299 | {"time": 1788596835.8585322, "direction": "request", "command": 8, "message": 211, "length": 64, "offset": 0} | |
| 300 | {"time": 1788596835.85854, "direction": "request", "command": 6, "message": 212} | |
| 301 | {"time": 1788596835.859335, "direction": "response", "command": 5, "message": 210, "status": "0x0"} | |
| 302 | {"time": 1788596835.859345, "direction": "response", "command": 8, "message": 211, "status": "0x0"} | |
| 303 | {"time": 1788596835.859352, "direction": "response", "command": 6, "message": 212, "status": "0x0"} | |
| 304 | {"time": 1788596835.859532, "direction": "request", "command": 5, "message": 213} | |
| 305 | {"time": 1788596835.859541, "direction": "request", "command": 8, "message": 214, "length": 64, "offset": 0} | |
| 306 | {"time": 1788596835.85955, "direction": "request", "command": 6, "message": 215} | |
| 307 | {"time": 1788596835.860306, "direction": "response", "command": 5, "message": 213, "status": "0x0"} | |
| 308 | {"time": 1788596835.860318, "direction": "response", "command": 8, "message": 214, "status": "0x0"} | |
| 309 | {"time": 1788596835.860333, "direction": "response", "command": 6, "message": 215, "status": "0x0"} | |
| 310 | {"time": 1788596835.8605492, "direction": "request", "command": 9, "message": 216, "length": 3348, "offset": 0, "transactions": 1} | |
| 311 | {"time": 1788596835.861093, "direction": "response", "command": 9, "message": 216, "status": "0x0"} | |
| 312 | {"time": 1788596835.8612711, "direction": "request", "command": 7, "message": 217} | |
| 313 | {"time": 1788596835.862753, "direction": "response", "command": 7, "message": 217, "status": "0x103"} | |
| 314 | {"time": 1788596835.8748028, "direction": "response", "command": 7, "message": 217, "status": "0x0"} | |
| 315 | {"time": 1788596835.875026, "direction": "request", "command": 5, "message": 218} | |
| 316 | {"time": 1788596835.8750432, "direction": "request", "command": 14, "message": 219} | |
| 317 | {"time": 1788596835.8750541, "direction": "request", "command": 6, "message": 220} | |
| 318 | {"time": 1788596835.875881, "direction": "response", "command": 5, "message": 218, "status": "0x0"} | |
| 319 | {"time": 1788596835.875894, "direction": "response", "command": 14, "message": 219, "status": "0x0"} | |
| 320 | {"time": 1788596835.875904, "direction": "response", "command": 6, "message": 220, "status": "0x0"} | |
| 321 | {"time": 1788596835.876116, "direction": "request", "command": 5, "message": 221} | |
| 322 | {"time": 1788596835.876127, "direction": "request", "command": 17, "message": 222} | |
| 323 | {"time": 1788596835.8761349, "direction": "request", "command": 6, "message": 223} | |
| 324 | {"time": 1788596835.876915, "direction": "response", "command": 5, "message": 221, "status": "0x0"} | |
| 325 | {"time": 1788596835.876927, "direction": "response", "command": 17, "message": 222, "status": "0x0"} | |
| 326 | {"time": 1788596835.876935, "direction": "response", "command": 6, "message": 223, "status": "0x0"} | |
| 327 | {"time": 1788596835.877117, "direction": "request", "command": 5, "message": 224} | |
| 328 | {"time": 1788596835.877128, "direction": "request", "command": 8, "message": 225, "length": 64, "offset": 0} | |
| 329 | {"time": 1788596835.877137, "direction": "request", "command": 6, "message": 226} | |
| 330 | {"time": 1788596835.877907, "direction": "response", "command": 5, "message": 224, "status": "0x0"} | |
| 331 | {"time": 1788596835.877919, "direction": "response", "command": 8, "message": 225, "status": "0x0"} | |
| 332 | {"time": 1788596835.877928, "direction": "response", "command": 6, "message": 226, "status": "0x0"} | |
| 333 | {"time": 1788596835.878123, "direction": "request", "command": 5, "message": 227} | |
| 334 | {"time": 1788596835.878135, "direction": "request", "command": 8, "message": 228, "length": 64, "offset": 0} | |
| 335 | {"time": 1788596835.878143, "direction": "request", "command": 6, "message": 229} | |
| 336 | {"time": 1788596835.878859, "direction": "response", "command": 5, "message": 227, "status": "0x0"} | |
| 337 | {"time": 1788596835.8788722, "direction": "response", "command": 8, "message": 228, "status": "0x0"} | |
| 338 | {"time": 1788596835.87888, "direction": "response", "command": 6, "message": 229, "status": "0x0"} | |
| 339 | {"time": 1788596835.879061, "direction": "request", "command": 5, "message": 230} | |
| 340 | {"time": 1788596835.879071, "direction": "request", "command": 8, "message": 231, "length": 64, "offset": 0} | |
| 341 | {"time": 1788596835.8790789, "direction": "request", "command": 6, "message": 232} | |
| 342 | {"time": 1788596835.8798451, "direction": "response", "command": 5, "message": 230, "status": "0x0"} | |
| 343 | {"time": 1788596835.879874, "direction": "response", "command": 8, "message": 231, "status": "0x0"} | |
| 344 | {"time": 1788596835.879889, "direction": "response", "command": 6, "message": 232, "status": "0x0"} | |
| 345 | {"time": 1788596835.88011, "direction": "request", "command": 5, "message": 233} | |
| 346 | {"time": 1788596835.880125, "direction": "request", "command": 17, "message": 234} | |
| 347 | {"time": 1788596835.8801348, "direction": "request", "command": 6, "message": 235} | |
| 348 | {"time": 1788596835.880755, "direction": "response", "command": 5, "message": 233, "status": "0x0"} | |
| 349 | {"time": 1788596835.880768, "direction": "response", "command": 17, "message": 234, "status": "0x0"} | |
| 350 | {"time": 1788596835.880777, "direction": "response", "command": 6, "message": 235, "status": "0x0"} | |
| 351 | {"time": 1788596835.880948, "direction": "request", "command": 5, "message": 236} | |
| 352 | {"time": 1788596835.880959, "direction": "request", "command": 8, "message": 237, "length": 64, "offset": 0} | |
| 353 | {"time": 1788596835.88098, "direction": "request", "command": 6, "message": 238} | |
| 354 | {"time": 1788596835.881666, "direction": "response", "command": 5, "message": 236, "status": "0x0"} | |
| 355 | {"time": 1788596835.8816772, "direction": "response", "command": 8, "message": 237, "status": "0x0"} | |
| 356 | {"time": 1788596835.881686, "direction": "response", "command": 6, "message": 238, "status": "0x0"} | |
| 357 | {"time": 1788596835.8818848, "direction": "request", "command": 5, "message": 239} | |
| 358 | {"time": 1788596835.881896, "direction": "request", "command": 8, "message": 240, "length": 64, "offset": 0} | |
| 359 | {"time": 1788596835.8819048, "direction": "request", "command": 6, "message": 241} | |
| 360 | {"time": 1788596835.882564, "direction": "response", "command": 5, "message": 239, "status": "0x0"} | |
| 361 | {"time": 1788596835.882578, "direction": "response", "command": 8, "message": 240, "status": "0x0"} | |
| 362 | {"time": 1788596835.882588, "direction": "response", "command": 6, "message": 241, "status": "0x0"} | |
| 363 | {"time": 1788596835.882774, "direction": "request", "command": 5, "message": 242} | |
| 364 | {"time": 1788596835.882785, "direction": "request", "command": 17, "message": 243} | |
| 365 | {"time": 1788596835.882794, "direction": "request", "command": 6, "message": 244} | |
| 366 | {"time": 1788596835.883372, "direction": "response", "command": 5, "message": 242, "status": "0x0"} | |
| 367 | {"time": 1788596835.883383, "direction": "response", "command": 17, "message": 243, "status": "0x0"} | |
| 368 | {"time": 1788596835.883391, "direction": "response", "command": 6, "message": 244, "status": "0x0"} | |
| 369 | {"time": 1788596835.8835561, "direction": "request", "command": 5, "message": 245} | |
| 370 | {"time": 1788596835.8835661, "direction": "request", "command": 8, "message": 246, "length": 64, "offset": 0} | |
| 371 | {"time": 1788596835.883575, "direction": "request", "command": 6, "message": 247} | |
| 372 | {"time": 1788596835.884284, "direction": "response", "command": 5, "message": 245, "status": "0x0"} | |
| 373 | {"time": 1788596835.884296, "direction": "response", "command": 8, "message": 246, "status": "0x0"} | |
| 374 | {"time": 1788596835.884305, "direction": "response", "command": 6, "message": 247, "status": "0x0"} | |
| 375 | {"time": 1788596835.8950741, "control": {"mode": "up", "cut": 7, "occurrence": 1}} | |
| 376 | {"time": 1788596836.267212, "direction": "request", "command": 5, "message": 248} | |
| 377 | {"time": 1788596836.2673762, "direction": "request", "command": 14, "message": 249} | |
| 378 | {"time": 1788596836.2674098, "direction": "request", "command": 6, "message": 250} | |
| 379 | {"time": 1788596836.268703, "direction": "response", "command": 5, "message": 248, "status": "0x0"} | |
| 380 | {"time": 1788596836.2687821, "direction": "response", "command": 14, "message": 249, "status": "0x0"} | |
| 381 | {"time": 1788596836.2688031, "direction": "response", "command": 6, "message": 250, "status": "0x0"} | |
| 382 | {"time": 1788596840.815815, "direction": "request", "command": 15, "message": 251} | |
| 383 | {"time": 1788596840.81712, "direction": "response", "command": 15, "message": 251, "status": "0xc0000128"} | |
| 384 | {"time": 1788596852.0828722, "direction": "request", "command": 5, "message": 252} | |
| 385 | {"time": 1788596852.082936, "direction": "request", "command": 14, "message": 253} | |
| 386 | {"time": 1788596852.082953, "direction": "request", "command": 6, "message": 254} | |
| 387 | {"time": 1788596852.08429, "direction": "response", "command": 5, "message": 252, "status": "0x0"} | |
| 388 | {"time": 1788596852.084308, "direction": "response", "command": 14, "message": 253, "status": "0x0"} | |
| 389 | {"time": 1788596852.084322, "direction": "response", "command": 6, "message": 254, "status": "0x0"} | |
| 390 | {"time": 1788596852.084469, "direction": "request", "command": 5, "message": 255} | |
| 391 | {"time": 1788596852.0844831, "direction": "request", "command": 14, "message": 256} | |
| 392 | {"time": 1788596852.0844932, "direction": "request", "command": 6, "message": 257} | |
| 393 | {"time": 1788596852.085145, "direction": "response", "command": 5, "message": 255, "status": "0x0"} | |
| 394 | {"time": 1788596852.0851588, "direction": "response", "command": 14, "message": 256, "status": "0x0"} | |
| 395 | {"time": 1788596852.08517, "direction": "response", "command": 6, "message": 257, "status": "0x0"} | |
| 396 | {"time": 1788596852.0853472, "direction": "request", "command": 6, "message": 258} | |
| 397 | {"time": 1788596852.085727, "direction": "response", "command": 6, "message": 258, "status": "0x0"} | |
| 398 | {"time": 1788596852.085851, "direction": "request", "command": 5, "message": 259} | |
| 399 | {"time": 1788596852.086438, "direction": "response", "command": 5, "message": 259, "status": "0x0"} | |
| 400 | {"time": 1788596852.086581, "direction": "request", "command": 16, "message": 260} | |
| 401 | {"time": 1788596852.0869691, "direction": "response", "command": 16, "message": 260, "status": "0x0"} | |
| 402 | {"time": 1788596852.087104, "direction": "request", "command": 5, "message": 261} | |
| 403 | {"time": 1788596852.08762, "direction": "response", "command": 5, "message": 261, "status": "0x0"} | |
| 404 | {"time": 1788596852.087734, "direction": "request", "command": 10, "message": 262, "locks": [[0, 18446744073709551615, 18]]} | |
| 405 | {"time": 1788596852.088133, "direction": "response", "command": 10, "message": 262, "status": "0x0"} | |
| 406 | {"time": 1788596852.088268, "direction": "request", "command": 10, "message": 263, "locks": [[0, 18446744073709551615, 4]]} | |
| 407 | {"time": 1788596852.088591, "direction": "response", "command": 10, "message": 263, "status": "0x0"} | |
| 408 | {"time": 1788596852.088691, "direction": "request", "command": 6, "message": 264} | |
| 409 | {"time": 1788596852.0890172, "direction": "response", "command": 6, "message": 264, "status": "0x0"} | |
| 410 | {"time": 1788596852.0895748, "direction": "request", "command": 6, "message": 265} | |
| 411 | {"time": 1788596852.089941, "direction": "response", "command": 6, "message": 265, "status": "0x0"} | |
| 412 | {"time": 1788596852.090056, "direction": "request", "command": 5, "message": 266} | |
| 413 | {"time": 1788596852.090595, "direction": "response", "command": 5, "message": 266, "status": "0x0"} | |
| 414 | {"time": 1788596852.0907068, "direction": "request", "command": 5, "message": 267} | |
| 415 | {"time": 1788596852.0907168, "direction": "request", "command": 8, "message": 268, "length": 64, "offset": 0} | |
| 416 | {"time": 1788596852.0907252, "direction": "request", "command": 6, "message": 269} | |
| 417 | {"time": 1788596852.091358, "direction": "response", "command": 5, "message": 267, "status": "0x0"} | |
| 418 | {"time": 1788596852.091367, "direction": "response", "command": 8, "message": 268, "status": "0x0"} | |
| 419 | {"time": 1788596852.0913742, "direction": "response", "command": 6, "message": 269, "status": "0x0"} | |
| 420 | {"time": 1788596852.0914922, "direction": "request", "command": 5, "message": 270} | |
| 421 | {"time": 1788596852.0919738, "direction": "response", "command": 5, "message": 270, "status": "0x0"} | |
| 422 | {"time": 1788596852.092103, "direction": "request", "command": 10, "message": 271, "locks": [[0, 18446744073709551615, 18]]} | |
| 423 | {"time": 1788596852.092434, "direction": "response", "command": 10, "message": 271, "status": "0x0"} | |
| 424 | {"time": 1788596852.092918, "direction": "request", "command": 9, "message": 272, "length": 4784, "offset": 0, "transactions": 1} | |
| 425 | {"time": 1788596852.093438, "direction": "response", "command": 9, "message": 272, "status": "0x0"} | |
| 426 | {"time": 1788596852.093545, "direction": "request", "command": 7, "message": 273} | |
| 427 | {"time": 1788596852.095024, "direction": "response", "command": 7, "message": 273, "status": "0x103"} | |
| 428 | {"time": 1788596852.102499, "direction": "response", "command": 7, "message": 273, "status": "0x0"} | |
| 429 | {"time": 1788596852.10252, "cut": {"direction": "response", "command": 7, "message": 273, "status": "0x0"}} | |
| 430 | {"time": 1788596990.199491, "control": {"mode": "up", "run": 2}} | |
| 431 | {"time": 1788596990.200674, "direction": "request", "command": 0, "message": 0} | |
| 432 | {"time": 1788596990.2034822, "direction": "response", "command": 0, "message": 0, "status": "0x0"} | |
| 433 | {"time": 1788596990.230218, "direction": "request", "command": 1, "message": 1} | |
| 434 | {"time": 1788596990.2309299, "direction": "response", "command": 1, "message": 1, "status": "0xc0000016"} | |
| 435 | {"time": 1788596990.231947, "direction": "request", "command": 1, "message": 2} | |
| 436 | {"time": 1788596990.2345312, "direction": "response", "command": 1, "message": 2, "status": "0x0"} | |
| 437 | {"time": 1788596990.234638, "direction": "request", "command": 3, "message": 3} | |
| 438 | {"time": 1788596990.250109, "direction": "response", "command": 3, "message": 3, "status": "0x0"} | |
| 439 | {"time": 1788596990.25027, "direction": "request", "command": 5, "message": 4} | |
| 440 | {"time": 1788596990.250284, "direction": "request", "command": 6, "message": 5} | |
| 441 | {"time": 1788596990.250889, "direction": "response", "command": 5, "message": 4, "status": "0x0"} | |
| 442 | {"time": 1788596990.250901, "direction": "response", "command": 6, "message": 5, "status": "0x0"} | |
| 443 | {"time": 1788596990.251123, "direction": "request", "command": 5, "message": 6} | |
| 444 | {"time": 1788596990.2515771, "direction": "response", "command": 5, "message": 6, "status": "0xc0000034"} | |
| 445 | {"time": 1788596990.2516558, "direction": "request", "command": 5, "message": 7} | |
| 446 | {"time": 1788596990.25204, "direction": "response", "command": 5, "message": 7, "status": "0xc0000034"} | |
| 447 | {"time": 1788596990.8390532, "direction": "request", "command": 15, "message": 8} | |
| 448 | {"time": 1788596990.839582, "direction": "response", "command": 15, "message": 8, "status": "0xc0000128"} | |
| 449 | {"time": 1788597097.911454, "control": {"mode": "up", "cut": 7, "occurrence": 5}} | |
| 450 | {"time": 1788597097.9196749, "direction": "request", "command": 5, "message": 9} | |
| 451 | {"time": 1788597097.9197, "direction": "request", "command": 16, "message": 10} | |
| 452 | {"time": 1788597097.91971, "direction": "request", "command": 6, "message": 11} | |
| 453 | {"time": 1788597097.92048, "direction": "response", "command": 5, "message": 9, "status": "0x0"} | |
| 454 | {"time": 1788597097.9204931, "direction": "response", "command": 16, "message": 10, "status": "0x0"} | |
| 455 | {"time": 1788597097.920501, "direction": "response", "command": 6, "message": 11, "status": "0x0"} | |
| 456 | {"time": 1788597097.920633, "direction": "request", "command": 5, "message": 12} | |
| 457 | {"time": 1788597097.9206421, "direction": "request", "command": 14, "message": 13} | |
| 458 | {"time": 1788597097.92065, "direction": "request", "command": 6, "message": 14} | |
| 459 | {"time": 1788597097.9215128, "direction": "response", "command": 5, "message": 12, "status": "0x0"} | |
| 460 | {"time": 1788597097.9215229, "direction": "response", "command": 14, "message": 13, "status": "0x0"} | |
| 461 | {"time": 1788597097.92153, "direction": "response", "command": 6, "message": 14, "status": "0x0"} | |
| 462 | {"time": 1788597097.921654, "direction": "request", "command": 5, "message": 15} | |
| 463 | {"time": 1788597097.921663, "direction": "request", "command": 14, "message": 16} | |
| 464 | {"time": 1788597097.921669, "direction": "request", "command": 6, "message": 17} | |
| 465 | {"time": 1788597097.9223628, "direction": "response", "command": 5, "message": 15, "status": "0x0"} | |
| 466 | {"time": 1788597097.922373, "direction": "response", "command": 14, "message": 16, "status": "0x0"} | |
| 467 | {"time": 1788597097.922379, "direction": "response", "command": 6, "message": 17, "status": "0x0"} | |
| 468 | {"time": 1788597097.922508, "direction": "request", "command": 5, "message": 18} | |
| 469 | {"time": 1788597097.922517, "direction": "request", "command": 14, "message": 19} | |
| 470 | {"time": 1788597097.9225228, "direction": "request", "command": 6, "message": 20} | |
| 471 | {"time": 1788597097.923136, "direction": "response", "command": 5, "message": 18, "status": "0x0"} | |
| 472 | {"time": 1788597097.923145, "direction": "response", "command": 14, "message": 19, "status": "0x0"} | |
| 473 | {"time": 1788597097.923152, "direction": "response", "command": 6, "message": 20, "status": "0x0"} | |
| 474 | {"time": 1788597097.923296, "direction": "request", "command": 5, "message": 21} | |
| 475 | {"time": 1788597097.9240162, "direction": "response", "command": 5, "message": 21, "status": "0x0"} | |
| 476 | {"time": 1788597097.924135, "direction": "request", "command": 16, "message": 22} | |
| 477 | {"time": 1788597097.924494, "direction": "response", "command": 16, "message": 22, "status": "0x0"} | |
| 478 | {"time": 1788597097.924614, "direction": "request", "command": 5, "message": 23} | |
| 479 | {"time": 1788597097.925426, "direction": "response", "command": 5, "message": 23, "status": "0x0"} | |
| 480 | {"time": 1788597097.9255629, "direction": "request", "command": 10, "message": 24, "locks": [[0, 18446744073709551615, 18]]} | |
| 481 | {"time": 1788597097.926087, "direction": "response", "command": 10, "message": 24, "status": "0x0"} | |
| 482 | {"time": 1788597097.926219, "direction": "request", "command": 16, "message": 25} | |
| 483 | {"time": 1788597097.9266508, "direction": "response", "command": 16, "message": 25, "status": "0x0"} | |
| 484 | {"time": 1788597097.926816, "direction": "request", "command": 8, "message": 26, "length": 3348, "offset": 0} | |
| 485 | {"time": 1788597097.927356, "direction": "response", "command": 8, "message": 26, "status": "0x0"} | |
| 486 | {"time": 1788597097.927493, "direction": "request", "command": 10, "message": 27, "locks": [[0, 18446744073709551615, 4]]} | |
| 487 | {"time": 1788597097.927831, "direction": "response", "command": 10, "message": 27, "status": "0x0"} | |
| 488 | {"time": 1788597097.9279401, "direction": "request", "command": 6, "message": 28} | |
| 489 | {"time": 1788597097.9282901, "direction": "response", "command": 6, "message": 28, "status": "0x0"} | |
| 490 | {"time": 1788597097.9286342, "direction": "request", "command": 6, "message": 29} | |
| 491 | {"time": 1788597097.92904, "direction": "response", "command": 6, "message": 29, "status": "0x0"} | |
| 492 | {"time": 1788597097.929172, "direction": "request", "command": 5, "message": 30} | |
| 493 | {"time": 1788597097.929704, "direction": "response", "command": 5, "message": 30, "status": "0x0"} | |
| 494 | {"time": 1788597097.9298282, "direction": "request", "command": 5, "message": 31} | |
| 495 | {"time": 1788597097.929837, "direction": "request", "command": 8, "message": 32, "length": 64, "offset": 0} | |
| 496 | {"time": 1788597097.929845, "direction": "request", "command": 6, "message": 33} | |
| 497 | {"time": 1788597097.930536, "direction": "response", "command": 5, "message": 31, "status": "0x0"} | |
| 498 | {"time": 1788597097.9305449, "direction": "response", "command": 8, "message": 32, "status": "0x0"} | |
| 499 | {"time": 1788597097.930551, "direction": "response", "command": 6, "message": 33, "status": "0x0"} | |
| 500 | {"time": 1788597097.9306722, "direction": "request", "command": 5, "message": 34} | |
| 501 | {"time": 1788597097.931146, "direction": "response", "command": 5, "message": 34, "status": "0x0"} | |
| 502 | {"time": 1788597097.931262, "direction": "request", "command": 10, "message": 35, "locks": [[0, 18446744073709551615, 18]]} | |
| 503 | {"time": 1788597097.931602, "direction": "response", "command": 10, "message": 35, "status": "0x0"} | |
| 504 | {"time": 1788597097.932076, "direction": "request", "command": 9, "message": 36, "length": 4800, "offset": 0, "transactions": 1} | |
| 505 | {"time": 1788597097.9325771, "direction": "response", "command": 9, "message": 36, "status": "0x0"} | |
| 506 | {"time": 1788597097.932696, "direction": "request", "command": 7, "message": 37} | |
| 507 | {"time": 1788597097.934089, "direction": "response", "command": 7, "message": 37, "status": "0x103"} | |
| 508 | {"time": 1788597097.945364, "direction": "response", "command": 7, "message": 37, "status": "0x0"} | |
| 509 | {"time": 1788597097.9455411, "direction": "request", "command": 7, "message": 38} | |
| 510 | {"time": 1788597097.946035, "direction": "response", "command": 7, "message": 38, "status": "0x0"} | |
| 511 | {"time": 1788597097.946199, "direction": "request", "command": 9, "message": 39, "length": 4800, "offset": 0, "transactions": 1} | |
| 512 | {"time": 1788597097.9467032, "direction": "response", "command": 9, "message": 39, "status": "0x0"} | |
| 513 | {"time": 1788597097.946827, "direction": "request", "command": 7, "message": 40} | |
| 514 | {"time": 1788597097.948259, "direction": "response", "command": 7, "message": 40, "status": "0x103"} | |
| 515 | {"time": 1788597097.9586291, "direction": "response", "command": 7, "message": 40, "status": "0x0"} | |
| 516 | {"time": 1788597097.95882, "direction": "request", "command": 7, "message": 41} | |
| 517 | {"time": 1788597097.959311, "direction": "response", "command": 7, "message": 41, "status": "0x0"} | |
| 518 | {"time": 1788597097.959487, "direction": "request", "command": 9, "message": 42, "length": 4800, "offset": 0, "transactions": 2} | |
| 519 | {"time": 1788597097.96, "direction": "response", "command": 9, "message": 42, "status": "0x0"} | |
| 520 | {"time": 1788597097.960138, "direction": "request", "command": 7, "message": 43} | |
| 521 | {"time": 1788597097.961529, "direction": "response", "command": 7, "message": 43, "status": "0x103"} | |
| 522 | {"time": 1788597097.969268, "direction": "response", "command": 7, "message": 43, "status": "0x0"} | |
| 523 | {"time": 1788597097.969293, "cut": {"direction": "response", "command": 7, "message": 43, "status": "0x0"}} | |
| 524 | {"time": 1788597112.334699, "control": {"mode": "up", "run": 3}} | |
| 525 | {"time": 1788597112.3361301, "direction": "request", "command": 0, "message": 0} | |
| 526 | {"time": 1788597112.339016, "direction": "response", "command": 0, "message": 0, "status": "0x0"} | |
| 527 | {"time": 1788597112.356815, "direction": "request", "command": 1, "message": 1} | |
| 528 | {"time": 1788597112.357676, "direction": "response", "command": 1, "message": 1, "status": "0xc0000016"} | |
| 529 | {"time": 1788597112.358426, "direction": "request", "command": 1, "message": 2} | |
| 530 | {"time": 1788597112.360981, "direction": "response", "command": 1, "message": 2, "status": "0x0"} | |
| 531 | {"time": 1788597112.361074, "direction": "request", "command": 3, "message": 3} | |
| 532 | {"time": 1788597112.376659, "direction": "response", "command": 3, "message": 3, "status": "0x0"} | |
| 533 | {"time": 1788597112.376792, "direction": "request", "command": 5, "message": 4} | |
| 534 | {"time": 1788597112.376807, "direction": "request", "command": 6, "message": 5} | |
| 535 | {"time": 1788597112.37741, "direction": "response", "command": 5, "message": 4, "status": "0x0"} | |
| 536 | {"time": 1788597112.377426, "direction": "response", "command": 6, "message": 5, "status": "0x0"} | |
| 537 | {"time": 1788597112.37765, "direction": "request", "command": 5, "message": 6} | |
| 538 | {"time": 1788597112.378347, "direction": "response", "command": 5, "message": 6, "status": "0xc0000034"} | |
| 539 | {"time": 1788597112.591533, "direction": "request", "command": 5, "message": 7} | |
| 540 | {"time": 1788597112.591583, "direction": "request", "command": 14, "message": 8} | |
| 541 | {"time": 1788597112.5916002, "direction": "request", "command": 6, "message": 9} | |
| 542 | {"time": 1788597112.592694, "direction": "response", "command": 5, "message": 7, "status": "0x0"} | |
| 543 | {"time": 1788597112.5927181, "direction": "response", "command": 14, "message": 8, "status": "0x0"} | |
| 544 | {"time": 1788597112.5927281, "direction": "response", "command": 6, "message": 9, "status": "0x0"} | |
| 545 | {"time": 1788597146.110676, "control": {"mode": "up", "cut": 7, "occurrence": 7}} | |
| 546 | {"time": 1788597146.118313, "direction": "request", "command": 5, "message": 10} | |
| 547 | {"time": 1788597146.118352, "direction": "request", "command": 16, "message": 11} | |
| 548 | {"time": 1788597146.118363, "direction": "request", "command": 6, "message": 12} | |
| 549 | {"time": 1788597146.1191502, "direction": "response", "command": 5, "message": 10, "status": "0x0"} | |
| 550 | {"time": 1788597146.119166, "direction": "response", "command": 16, "message": 11, "status": "0x0"} | |
| 551 | {"time": 1788597146.119178, "direction": "response", "command": 6, "message": 12, "status": "0x0"} | |
| 552 | {"time": 1788597146.119358, "direction": "request", "command": 5, "message": 13} | |
| 553 | {"time": 1788597146.119371, "direction": "request", "command": 14, "message": 14} | |
| 554 | {"time": 1788597146.1193779, "direction": "request", "command": 6, "message": 15} | |
| 555 | {"time": 1788597146.120053, "direction": "response", "command": 5, "message": 13, "status": "0x0"} | |
| 556 | {"time": 1788597146.120063, "direction": "response", "command": 14, "message": 14, "status": "0x0"} | |
| 557 | {"time": 1788597146.120071, "direction": "response", "command": 6, "message": 15, "status": "0x0"} | |
| 558 | {"time": 1788597146.120223, "direction": "request", "command": 5, "message": 16} | |
| 559 | {"time": 1788597146.1202319, "direction": "request", "command": 14, "message": 17} | |
| 560 | {"time": 1788597146.120239, "direction": "request", "command": 6, "message": 18} | |
| 561 | {"time": 1788597146.12096, "direction": "response", "command": 5, "message": 16, "status": "0x0"} | |
| 562 | {"time": 1788597146.120969, "direction": "response", "command": 14, "message": 17, "status": "0x0"} | |
| 563 | {"time": 1788597146.120976, "direction": "response", "command": 6, "message": 18, "status": "0x0"} | |
| 564 | {"time": 1788597146.121137, "direction": "request", "command": 5, "message": 19} | |
| 565 | {"time": 1788597146.1211462, "direction": "request", "command": 14, "message": 20} | |
| 566 | {"time": 1788597146.121152, "direction": "request", "command": 6, "message": 21} | |
| 567 | {"time": 1788597146.121918, "direction": "response", "command": 5, "message": 19, "status": "0x0"} | |
| 568 | {"time": 1788597146.121928, "direction": "response", "command": 14, "message": 20, "status": "0x0"} | |
| 569 | {"time": 1788597146.1219351, "direction": "response", "command": 6, "message": 21, "status": "0x0"} | |
| 570 | {"time": 1788597146.122135, "direction": "request", "command": 5, "message": 22} | |
| 571 | {"time": 1788597146.1231859, "direction": "response", "command": 5, "message": 22, "status": "0x0"} | |
| 572 | {"time": 1788597146.123358, "direction": "request", "command": 16, "message": 23} | |
| 573 | {"time": 1788597146.1238039, "direction": "response", "command": 16, "message": 23, "status": "0x0"} | |
| 574 | {"time": 1788597146.123966, "direction": "request", "command": 5, "message": 24} | |
| 575 | {"time": 1788597146.124553, "direction": "response", "command": 5, "message": 24, "status": "0x0"} | |
| 576 | {"time": 1788597146.124694, "direction": "request", "command": 10, "message": 25, "locks": [[0, 18446744073709551615, 18]]} | |
| 577 | {"time": 1788597146.125215, "direction": "response", "command": 10, "message": 25, "status": "0x0"} | |
| 578 | {"time": 1788597146.125376, "direction": "request", "command": 16, "message": 26} | |
| 579 | {"time": 1788597146.125888, "direction": "response", "command": 16, "message": 26, "status": "0x0"} | |
| 580 | {"time": 1788597146.1261241, "direction": "request", "command": 8, "message": 27, "length": 111640, "offset": 0} | |
| 581 | {"time": 1788597146.129089, "direction": "response", "command": 8, "message": 27, "status": "0x0"} | |
| 582 | {"time": 1788597146.129372, "direction": "request", "command": 10, "message": 29, "locks": [[0, 18446744073709551615, 4]]} | |
| 583 | {"time": 1788597146.12983, "direction": "response", "command": 10, "message": 29, "status": "0x0"} | |
| 584 | {"time": 1788597146.129972, "direction": "request", "command": 6, "message": 30} | |
| 585 | {"time": 1788597146.130374, "direction": "response", "command": 6, "message": 30, "status": "0x0"} | |
| 586 | {"time": 1788597146.1339068, "direction": "request", "command": 6, "message": 31} | |
| 587 | {"time": 1788597146.134444, "direction": "response", "command": 6, "message": 31, "status": "0x0"} | |
| 588 | {"time": 1788597146.134611, "direction": "request", "command": 5, "message": 32} | |
| 589 | {"time": 1788597146.1352088, "direction": "response", "command": 5, "message": 32, "status": "0x0"} | |
| 590 | {"time": 1788597146.1353679, "direction": "request", "command": 5, "message": 33} | |
| 591 | {"time": 1788597146.135377, "direction": "request", "command": 8, "message": 34, "length": 64, "offset": 0} | |
| 592 | {"time": 1788597146.135385, "direction": "request", "command": 6, "message": 35} | |
| 593 | {"time": 1788597146.136214, "direction": "response", "command": 5, "message": 33, "status": "0x0"} | |
| 594 | {"time": 1788597146.136223, "direction": "response", "command": 8, "message": 34, "status": "0x0"} | |
| 595 | {"time": 1788597146.136228, "direction": "response", "command": 6, "message": 35, "status": "0x0"} | |
| 596 | {"time": 1788597146.136398, "direction": "request", "command": 5, "message": 36} | |
| 597 | {"time": 1788597146.137014, "direction": "response", "command": 5, "message": 36, "status": "0x0"} | |
| 598 | {"time": 1788597146.137166, "direction": "request", "command": 10, "message": 37, "locks": [[0, 18446744073709551615, 18]]} | |
| 599 | {"time": 1788597146.137558, "direction": "response", "command": 10, "message": 37, "status": "0x0"} | |
| 600 | {"time": 1788597146.14624, "direction": "request", "command": 9, "message": 38, "length": 15792, "offset": 98304} | |
| 601 | {"time": 1788597146.1470678, "direction": "response", "command": 9, "message": 38, "status": "0x0"} | |
| 602 | {"time": 1788597146.1472378, "direction": "request", "command": 7, "message": 39} | |
| 603 | {"time": 1788597146.1487622, "direction": "response", "command": 7, "message": 39, "status": "0x103"} | |
| 604 | {"time": 1788597146.171916, "direction": "response", "command": 7, "message": 39, "status": "0x0"} | |
| 605 | {"time": 1788597146.1721148, "direction": "request", "command": 7, "message": 40} | |
| 606 | {"time": 1788597146.172704, "direction": "response", "command": 7, "message": 40, "status": "0x0"} | |
| 607 | {"time": 1788597146.172941, "direction": "request", "command": 9, "message": 41, "length": 16384, "offset": 0, "transactions": 255} | |
| 608 | {"time": 1788597146.1737149, "direction": "response", "command": 9, "message": 41, "status": "0x0"} | |
| 609 | {"time": 1788597146.17388, "direction": "request", "command": 7, "message": 42} | |
| 610 | {"time": 1788597146.1753678, "direction": "response", "command": 7, "message": 42, "status": "0x103"} | |
| 611 | {"time": 1788597146.1873732, "direction": "response", "command": 7, "message": 42, "status": "0x0"} | |
| 612 | {"time": 1788597146.187534, "direction": "request", "command": 7, "message": 43} | |
| 613 | {"time": 1788597146.1880891, "direction": "response", "command": 7, "message": 43, "status": "0x0"} | |
| 614 | {"time": 1788597146.1883252, "direction": "request", "command": 9, "message": 44, "length": 16384, "offset": 0, "transactions": 511} | |
| 615 | {"time": 1788597146.1891148, "direction": "response", "command": 9, "message": 44, "status": "0x0"} | |
| 616 | {"time": 1788597146.189273, "direction": "request", "command": 7, "message": 45} | |
| 617 | {"time": 1788597146.190787, "direction": "response", "command": 7, "message": 45, "status": "0x103"} | |
| 618 | {"time": 1788597146.201043, "direction": "response", "command": 7, "message": 45, "status": "0x0"} | |
| 619 | {"time": 1788597146.201206, "direction": "request", "command": 7, "message": 46} | |
| 620 | {"time": 1788597146.2017422, "direction": "response", "command": 7, "message": 46, "status": "0x0"} | |
| 621 | {"time": 1788597146.201958, "direction": "request", "command": 9, "message": 47, "length": 16384, "offset": 0, "transactions": 256} | |
| 622 | {"time": 1788597146.202718, "direction": "response", "command": 9, "message": 47, "status": "0x0"} | |
| 623 | {"time": 1788597146.2028842, "direction": "request", "command": 7, "message": 48} | |
| 624 | {"time": 1788597146.204403, "direction": "response", "command": 7, "message": 48, "status": "0x103"} | |
| 625 | {"time": 1788597146.2136042, "direction": "response", "command": 7, "message": 48, "status": "0x0"} | |
| 626 | {"time": 1788597146.213614, "cut": {"direction": "response", "command": 7, "message": 48, "status": "0x0"}} | |
| 627 | {"time": 1788620541.257727, "control": {"mode": "up", "run": 4}} |
corpus/collaboration/round-01/smb-success.jsonl created+185| ... | ... | @@ -0,0 +1,185 @@ |
| 1 | {"time": 1788596642.322161, "listening": 11445} | |
| 2 | {"time": 1788596643.459317, "direction": "response", "command": 0, "message": 0, "status": "0x0"} | |
| 3 | {"time": 1788596643.459601, "direction": "request", "command": 0, "message": 1} | |
| 4 | {"time": 1788596643.460313, "direction": "response", "command": 0, "message": 1, "status": "0x0"} | |
| 5 | {"time": 1788596643.524991, "direction": "request", "command": 1, "message": 2} | |
| 6 | {"time": 1788596643.525923, "direction": "response", "command": 1, "message": 2, "status": "0xc0000016"} | |
| 7 | {"time": 1788596643.5271392, "direction": "request", "command": 1, "message": 3} | |
| 8 | {"time": 1788596643.529094, "direction": "response", "command": 1, "message": 3, "status": "0x0"} | |
| 9 | {"time": 1788596643.5300171, "direction": "request", "command": 3, "message": 4} | |
| 10 | {"time": 1788596643.545954, "direction": "response", "command": 3, "message": 4, "status": "0x0"} | |
| 11 | {"time": 1788596643.702154, "direction": "request", "command": 5, "message": 5} | |
| 12 | {"time": 1788596643.702209, "direction": "request", "command": 16, "message": 6} | |
| 13 | {"time": 1788596643.702228, "direction": "request", "command": 6, "message": 7} | |
| 14 | {"time": 1788596643.7037492, "direction": "response", "command": 5, "message": 5, "status": "0x0"} | |
| 15 | {"time": 1788596643.7037702, "direction": "response", "command": 16, "message": 6, "status": "0x0"} | |
| 16 | {"time": 1788596643.7037818, "direction": "response", "command": 6, "message": 7, "status": "0x0"} | |
| 17 | {"time": 1788596643.70399, "direction": "request", "command": 5, "message": 8} | |
| 18 | {"time": 1788596643.704005, "direction": "request", "command": 16, "message": 9} | |
| 19 | {"time": 1788596643.704015, "direction": "request", "command": 6, "message": 10} | |
| 20 | {"time": 1788596643.704721, "direction": "response", "command": 5, "message": 8, "status": "0x0"} | |
| 21 | {"time": 1788596643.704735, "direction": "response", "command": 16, "message": 9, "status": "0x0"} | |
| 22 | {"time": 1788596643.7047439, "direction": "response", "command": 6, "message": 10, "status": "0x0"} | |
| 23 | {"time": 1788596643.704912, "direction": "request", "command": 5, "message": 11} | |
| 24 | {"time": 1788596643.7049239, "direction": "request", "command": 16, "message": 12} | |
| 25 | {"time": 1788596643.7049322, "direction": "request", "command": 6, "message": 13} | |
| 26 | {"time": 1788596643.705508, "direction": "response", "command": 5, "message": 11, "status": "0x0"} | |
| 27 | {"time": 1788596643.7055209, "direction": "response", "command": 16, "message": 12, "status": "0x0"} | |
| 28 | {"time": 1788596643.705529, "direction": "response", "command": 6, "message": 13, "status": "0x0"} | |
| 29 | {"time": 1788596643.705715, "direction": "request", "command": 5, "message": 14} | |
| 30 | {"time": 1788596643.7057269, "direction": "request", "command": 11, "message": 15} | |
| 31 | {"time": 1788596643.705735, "direction": "request", "command": 6, "message": 16} | |
| 32 | {"time": 1788596643.7062871, "direction": "response", "command": 5, "message": 14, "status": "0x0"} | |
| 33 | {"time": 1788596643.7062988, "direction": "response", "command": 11, "message": 15, "status": "0x0"} | |
| 34 | {"time": 1788596643.7063081, "direction": "response", "command": 6, "message": 16, "status": "0x0"} | |
| 35 | {"time": 1788596643.706497, "direction": "request", "command": 5, "message": 17} | |
| 36 | {"time": 1788596643.706514, "direction": "request", "command": 16, "message": 18} | |
| 37 | {"time": 1788596643.706524, "direction": "request", "command": 6, "message": 19} | |
| 38 | {"time": 1788596643.706547, "direction": "request", "command": 15, "message": 20} | |
| 39 | {"time": 1788596643.707222, "direction": "response", "command": 5, "message": 17, "status": "0x0"} | |
| 40 | {"time": 1788596643.7072341, "direction": "response", "command": 16, "message": 18, "status": "0x0"} | |
| 41 | {"time": 1788596643.707244, "direction": "response", "command": 6, "message": 19, "status": "0x0"} | |
| 42 | {"time": 1788596643.7072651, "direction": "response", "command": 15, "message": 20, "status": "0xc0000128"} | |
| 43 | {"time": 1788596643.7110121, "direction": "request", "command": 5, "message": 21} | |
| 44 | {"time": 1788596643.7110422, "direction": "request", "command": 8, "message": 22, "length": 60, "offset": 0} | |
| 45 | {"time": 1788596643.711055, "direction": "request", "command": 6, "message": 23} | |
| 46 | {"time": 1788596643.7118561, "direction": "response", "command": 5, "message": 21, "status": "0xc0000034"} | |
| 47 | {"time": 1788596643.711905, "direction": "response", "command": 8, "message": 22, "status": "0xc0000034"} | |
| 48 | {"time": 1788596643.711918, "direction": "response", "command": 6, "message": 23, "status": "0xc0000034"} | |
| 49 | {"time": 1788596643.7129269, "direction": "request", "command": 5, "message": 24} | |
| 50 | {"time": 1788596643.712957, "direction": "request", "command": 6, "message": 25} | |
| 51 | {"time": 1788596643.713665, "direction": "response", "command": 5, "message": 24, "status": "0x0"} | |
| 52 | {"time": 1788596643.7136798, "direction": "response", "command": 6, "message": 25, "status": "0x0"} | |
| 53 | {"time": 1788596643.7179441, "direction": "request", "command": 5, "message": 26} | |
| 54 | {"time": 1788596643.717964, "direction": "request", "command": 14, "message": 27} | |
| 55 | {"time": 1788596643.717972, "direction": "request", "command": 6, "message": 28} | |
| 56 | {"time": 1788596643.7187111, "direction": "response", "command": 5, "message": 26, "status": "0x0"} | |
| 57 | {"time": 1788596643.718731, "direction": "response", "command": 14, "message": 27, "status": "0xc000000f"} | |
| 58 | {"time": 1788596643.71874, "direction": "response", "command": 6, "message": 28, "status": "0x0"} | |
| 59 | {"time": 1788596643.719701, "direction": "request", "command": 5, "message": 29} | |
| 60 | {"time": 1788596643.719717, "direction": "request", "command": 14, "message": 30} | |
| 61 | {"time": 1788596643.7197251, "direction": "request", "command": 6, "message": 31} | |
| 62 | {"time": 1788596643.7203462, "direction": "response", "command": 5, "message": 29, "status": "0x0"} | |
| 63 | {"time": 1788596643.720358, "direction": "response", "command": 14, "message": 30, "status": "0xc000000f"} | |
| 64 | {"time": 1788596643.720366, "direction": "response", "command": 6, "message": 31, "status": "0x0"} | |
| 65 | {"time": 1788596643.720575, "direction": "request", "command": 5, "message": 32} | |
| 66 | {"time": 1788596643.720584, "direction": "request", "command": 14, "message": 33} | |
| 67 | {"time": 1788596643.72059, "direction": "request", "command": 6, "message": 34} | |
| 68 | {"time": 1788596643.721225, "direction": "response", "command": 5, "message": 32, "status": "0x0"} | |
| 69 | {"time": 1788596643.721235, "direction": "response", "command": 14, "message": 33, "status": "0xc000000f"} | |
| 70 | {"time": 1788596643.721241, "direction": "response", "command": 6, "message": 34, "status": "0x0"} | |
| 71 | {"time": 1788596643.7214148, "direction": "request", "command": 5, "message": 35} | |
| 72 | {"time": 1788596643.7214231, "direction": "request", "command": 14, "message": 36} | |
| 73 | {"time": 1788596643.721429, "direction": "request", "command": 6, "message": 37} | |
| 74 | {"time": 1788596643.721952, "direction": "response", "command": 5, "message": 35, "status": "0x0"} | |
| 75 | {"time": 1788596643.721961, "direction": "response", "command": 14, "message": 36, "status": "0xc000000f"} | |
| 76 | {"time": 1788596643.7219672, "direction": "response", "command": 6, "message": 37, "status": "0x0"} | |
| 77 | {"time": 1788596643.72212, "direction": "request", "command": 5, "message": 38} | |
| 78 | {"time": 1788596643.722128, "direction": "request", "command": 14, "message": 39} | |
| 79 | {"time": 1788596643.722134, "direction": "request", "command": 6, "message": 40} | |
| 80 | {"time": 1788596643.722678, "direction": "response", "command": 5, "message": 38, "status": "0x0"} | |
| 81 | {"time": 1788596643.72269, "direction": "response", "command": 14, "message": 39, "status": "0xc000000f"} | |
| 82 | {"time": 1788596643.722697, "direction": "response", "command": 6, "message": 40, "status": "0x0"} | |
| 83 | {"time": 1788596657.975753, "direction": "request", "command": 5, "message": 41} | |
| 84 | {"time": 1788596657.975786, "direction": "request", "command": 14, "message": 42} | |
| 85 | {"time": 1788596657.9757938, "direction": "request", "command": 6, "message": 43} | |
| 86 | {"time": 1788596657.976853, "direction": "response", "command": 5, "message": 41, "status": "0x0"} | |
| 87 | {"time": 1788596657.976863, "direction": "response", "command": 14, "message": 42, "status": "0x0"} | |
| 88 | {"time": 1788596657.976869, "direction": "response", "command": 6, "message": 43, "status": "0x0"} | |
| 89 | {"time": 1788596657.9770591, "direction": "request", "command": 5, "message": 44} | |
| 90 | {"time": 1788596657.977067, "direction": "request", "command": 14, "message": 45} | |
| 91 | {"time": 1788596657.977073, "direction": "request", "command": 6, "message": 46} | |
| 92 | {"time": 1788596657.977941, "direction": "response", "command": 5, "message": 44, "status": "0x0"} | |
| 93 | {"time": 1788596657.977949, "direction": "response", "command": 14, "message": 45, "status": "0x0"} | |
| 94 | {"time": 1788596657.977955, "direction": "response", "command": 6, "message": 46, "status": "0x0"} | |
| 95 | {"time": 1788596657.978118, "direction": "request", "command": 5, "message": 47} | |
| 96 | {"time": 1788596657.9781241, "direction": "request", "command": 14, "message": 48} | |
| 97 | {"time": 1788596657.978129, "direction": "request", "command": 6, "message": 49} | |
| 98 | {"time": 1788596657.9789271, "direction": "response", "command": 5, "message": 47, "status": "0x0"} | |
| 99 | {"time": 1788596657.978935, "direction": "response", "command": 14, "message": 48, "status": "0x0"} | |
| 100 | {"time": 1788596657.97894, "direction": "response", "command": 6, "message": 49, "status": "0x0"} | |
| 101 | {"time": 1788596657.979126, "direction": "request", "command": 5, "message": 50} | |
| 102 | {"time": 1788596657.980051, "direction": "response", "command": 5, "message": 50, "status": "0x0"} | |
| 103 | {"time": 1788596657.9802299, "direction": "request", "command": 16, "message": 51} | |
| 104 | {"time": 1788596657.980719, "direction": "response", "command": 16, "message": 51, "status": "0x0"} | |
| 105 | {"time": 1788596657.9808671, "direction": "request", "command": 16, "message": 52} | |
| 106 | {"time": 1788596657.981366, "direction": "response", "command": 16, "message": 52, "status": "0x0"} | |
| 107 | {"time": 1788596657.981566, "direction": "request", "command": 8, "message": 53, "length": 10608, "offset": 0} | |
| 108 | {"time": 1788596657.982351, "direction": "response", "command": 8, "message": 53, "status": "0x0"} | |
| 109 | {"time": 1788596657.98284, "direction": "request", "command": 6, "message": 54} | |
| 110 | {"time": 1788596657.983326, "direction": "response", "command": 6, "message": 54, "status": "0x0"} | |
| 111 | {"time": 1788596657.983478, "direction": "request", "command": 5, "message": 55} | |
| 112 | {"time": 1788596657.984164, "direction": "response", "command": 5, "message": 55, "status": "0x0"} | |
| 113 | {"time": 1788596657.984324, "direction": "request", "command": 5, "message": 56} | |
| 114 | {"time": 1788596657.984332, "direction": "request", "command": 8, "message": 57, "length": 64, "offset": 0} | |
| 115 | {"time": 1788596657.9843378, "direction": "request", "command": 6, "message": 58} | |
| 116 | {"time": 1788596657.98513, "direction": "response", "command": 5, "message": 56, "status": "0x0"} | |
| 117 | {"time": 1788596657.985137, "direction": "response", "command": 8, "message": 57, "status": "0x0"} | |
| 118 | {"time": 1788596657.985143, "direction": "response", "command": 6, "message": 58, "status": "0x0"} | |
| 119 | {"time": 1788596657.9852958, "direction": "request", "command": 5, "message": 59} | |
| 120 | {"time": 1788596657.985934, "direction": "response", "command": 5, "message": 59, "status": "0x0"} | |
| 121 | {"time": 1788596657.986092, "direction": "request", "command": 10, "message": 60, "locks": [[0, 18446744073709551615, 18]]} | |
| 122 | {"time": 1788596657.986513, "direction": "response", "command": 10, "message": 60, "status": "0x0"} | |
| 123 | {"time": 1788596657.987117, "direction": "request", "command": 9, "message": 61, "length": 11032, "offset": 0} | |
| 124 | {"time": 1788596657.987828, "direction": "response", "command": 9, "message": 61, "status": "0x0"} | |
| 125 | {"time": 1788596657.988062, "direction": "request", "command": 7, "message": 62} | |
| 126 | {"time": 1788596657.989613, "direction": "response", "command": 7, "message": 62, "status": "0x103"} | |
| 127 | {"time": 1788596658.041591, "direction": "response", "command": 7, "message": 62, "status": "0x0"} | |
| 128 | {"time": 1788596658.041806, "direction": "request", "command": 7, "message": 63} | |
| 129 | {"time": 1788596658.0425558, "direction": "response", "command": 7, "message": 63, "status": "0x0"} | |
| 130 | {"time": 1788596658.0428128, "direction": "request", "command": 9, "message": 64, "length": 11032, "offset": 0} | |
| 131 | {"time": 1788596658.043593, "direction": "response", "command": 9, "message": 64, "status": "0x0"} | |
| 132 | {"time": 1788596658.0437891, "direction": "request", "command": 7, "message": 65} | |
| 133 | {"time": 1788596658.045302, "direction": "response", "command": 7, "message": 65, "status": "0x103"} | |
| 134 | {"time": 1788596658.060354, "direction": "response", "command": 7, "message": 65, "status": "0x0"} | |
| 135 | {"time": 1788596658.0606148, "direction": "request", "command": 7, "message": 66} | |
| 136 | {"time": 1788596658.061306, "direction": "response", "command": 7, "message": 66, "status": "0x0"} | |
| 137 | {"time": 1788596658.061534, "direction": "request", "command": 9, "message": 67, "length": 11032, "offset": 0} | |
| 138 | {"time": 1788596658.062328, "direction": "response", "command": 9, "message": 67, "status": "0x0"} | |
| 139 | {"time": 1788596658.062509, "direction": "request", "command": 7, "message": 68} | |
| 140 | {"time": 1788596658.06418, "direction": "response", "command": 7, "message": 68, "status": "0x103"} | |
| 141 | {"time": 1788596658.073554, "direction": "response", "command": 7, "message": 68, "status": "0x0"} | |
| 142 | {"time": 1788596658.073741, "direction": "request", "command": 7, "message": 69} | |
| 143 | {"time": 1788596658.074263, "direction": "response", "command": 7, "message": 69, "status": "0x0"} | |
| 144 | {"time": 1788596658.07441, "direction": "request", "command": 10, "message": 70, "locks": [[0, 18446744073709551615, 4]]} | |
| 145 | {"time": 1788596658.074871, "direction": "response", "command": 10, "message": 70, "status": "0x0"} | |
| 146 | {"time": 1788596658.0750148, "direction": "request", "command": 6, "message": 71} | |
| 147 | {"time": 1788596658.075412, "direction": "response", "command": 6, "message": 71, "status": "0x0"} | |
| 148 | {"time": 1788596658.709572, "direction": "request", "command": 15, "message": 72} | |
| 149 | {"time": 1788596658.710887, "direction": "response", "command": 15, "message": 72, "status": "0xc0000128"} | |
| 150 | {"time": 1788596673.71379, "direction": "request", "command": 15, "message": 73} | |
| 151 | {"time": 1788596673.7150478, "direction": "response", "command": 15, "message": 73, "status": "0xc0000128"} | |
| 152 | {"time": 1788596688.717846, "direction": "request", "command": 15, "message": 74} | |
| 153 | {"time": 1788596688.718818, "direction": "response", "command": 15, "message": 74, "status": "0xc0000128"} | |
| 154 | {"time": 1788596695.637965, "direction": "request", "command": 6, "message": 75} | |
| 155 | {"time": 1788596695.639402, "direction": "response", "command": 6, "message": 75, "status": "0x0"} | |
| 156 | {"time": 1788596703.720216, "direction": "request", "command": 15, "message": 76} | |
| 157 | {"time": 1788596703.721806, "direction": "response", "command": 15, "message": 76, "status": "0xc0000128"} | |
| 158 | {"time": 1788596727.719579, "direction": "request", "command": 5, "message": 77} | |
| 159 | {"time": 1788596727.7196622, "direction": "request", "command": 16, "message": 78} | |
| 160 | {"time": 1788596727.719687, "direction": "request", "command": 6, "message": 79} | |
| 161 | {"time": 1788596727.7207522, "direction": "response", "command": 5, "message": 77, "status": "0x0"} | |
| 162 | {"time": 1788596727.720813, "direction": "response", "command": 16, "message": 78, "status": "0x0"} | |
| 163 | {"time": 1788596727.720837, "direction": "response", "command": 6, "message": 79, "status": "0x0"} | |
| 164 | {"time": 1788596727.721025, "direction": "request", "command": 5, "message": 80} | |
| 165 | {"time": 1788596727.721066, "direction": "request", "command": 16, "message": 81} | |
| 166 | {"time": 1788596727.72109, "direction": "request", "command": 6, "message": 82} | |
| 167 | {"time": 1788596727.721766, "direction": "response", "command": 5, "message": 80, "status": "0x0"} | |
| 168 | {"time": 1788596727.721811, "direction": "response", "command": 16, "message": 81, "status": "0x0"} | |
| 169 | {"time": 1788596727.72183, "direction": "response", "command": 6, "message": 82, "status": "0x0"} | |
| 170 | {"time": 1788596794.3989592, "direction": "request", "command": 5, "message": 83} | |
| 171 | {"time": 1788596794.399014, "direction": "request", "command": 16, "message": 84} | |
| 172 | {"time": 1788596794.3990269, "direction": "request", "command": 6, "message": 85} | |
| 173 | {"time": 1788596794.400012, "direction": "response", "command": 5, "message": 83, "status": "0x0"} | |
| 174 | {"time": 1788596794.4000251, "direction": "response", "command": 16, "message": 84, "status": "0x0"} | |
| 175 | {"time": 1788596794.4000351, "direction": "response", "command": 6, "message": 85, "status": "0x0"} | |
| 176 | {"time": 1788596794.4002051, "direction": "request", "command": 5, "message": 86} | |
| 177 | {"time": 1788596794.400216, "direction": "request", "command": 16, "message": 87} | |
| 178 | {"time": 1788596794.400224, "direction": "request", "command": 6, "message": 88} | |
| 179 | {"time": 1788596794.401098, "direction": "response", "command": 5, "message": 86, "status": "0x0"} | |
| 180 | {"time": 1788596794.4011068, "direction": "response", "command": 16, "message": 87, "status": "0x0"} | |
| 181 | {"time": 1788596794.4011142, "direction": "response", "command": 6, "message": 88, "status": "0x0"} | |
| 182 | {"time": 1788596794.401372, "direction": "request", "command": 4, "message": 89} | |
| 183 | {"time": 1788596794.401824, "direction": "response", "command": 4, "message": 89, "status": "0x0"} | |
| 184 | {"time": 1788596794.401966, "direction": "request", "command": 2, "message": 90} | |
| 185 | {"time": 1788596794.4024022, "direction": "response", "command": 2, "message": 90, "status": "0x0"} |
corpus/m6/ansi/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../native/20260905-05/notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/m6/ansi/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/ansi/notebook/synthetic.one differ |
corpus/m6/cell-shading-control-01/ORACLE.md created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | # Cell shading on OneNote 2010 | |
| 2 | ||
| 3 | The COM schema rejects `shadingColor`. This separate Rust-authored storage control | |
| 4 | replaces one cell's four-byte modification timestamp property with documented | |
| 5 | `CellShadingColor` (`0x14001e26`) and the COLORREF bytes `ff ff 00 00` (yellow). | |
| 6 | `input/probe.rs` records the bounded transformation, including object-digest repair; | |
| 7 | `input/generation.log` records its execution. The timestamp is deliberately absent | |
| 8 | on that cell; other table content and geometry remain unchanged. | |
| 9 | ||
| 10 | A fresh OneNote 14.0.4763.1000 cache opens the file successfully. Its XML omits cell | |
| 11 | shading and its PDF renders the cell white, as shown in `shading-2.png`. The Rust | |
| 12 | model retains the documented yellow value. This establishes a native 2010 | |
| 13 | rendering limitation for the tested property, not native rendering parity for | |
| 14 | cell shading. The report's color follows the documented stored value. |
corpus/m6/cell-shading-control-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/cell-shading-control-01/commands.jsonl created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-92ED7B8E -ExpectedPages 2 -Pdf", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/cell-shading-control-01/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/cell-shading-control-01/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/cell-shading-control-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-92ED7B8E", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/cell-shading-control-01/input/generation.log created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | Compiling onestore v0.1.0 (/Users/clo/dev/one) | |
| 2 | Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.19s | |
| 3 | Running `target/debug/examples/cell_probe` | |
| 4 | Changed one cell timestamp property to CellShadingColor yellow at object offset 10284 |
corpus/m6/cell-shading-control-01/input/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/cell-shading-control-01/input/notebook/synthetic.one differ |
corpus/m6/cell-shading-control-01/input/probe.rs created+22| ... | ... | @@ -0,0 +1,22 @@ |
| 1 | use onestore::{Store, RevisionIndex, ObjectData, PropertySets, Value, Reference, document::Document}; | |
| 2 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 3 | let source=std::fs::read("corpus/m6/native-structure-01/notebook/synthetic.one")?; | |
| 4 | let store=Store::parse(&source)?;let index=RevisionIndex::parse(&store)?;let document=Document::parse(&index)?; | |
| 5 | let mut bytes=source.clone();let mut changed=false; | |
| 6 | 'spaces: for (sid,space) in &document.spaces {for rid in space.revisions.keys() {let revision=index.resolve(*sid,*rid)?; | |
| 7 | for object in revision.objects.values().filter(|o| o.jcid==0x60024) {if let ObjectData::Properties(data)=object.data { | |
| 8 | let sets=PropertySets::parse(data)?;let property=sets.sets[0].iter().find(|p|p.id==0x14001d7a).unwrap(); | |
| 9 | let Value::Bytes(value)=property.value else {panic!("Expected a four-byte timestamp")};assert_eq!(value.len(),4); | |
| 10 | let start=data.as_ptr().addr()-source.as_ptr().addr();let at=value.as_ptr().addr()-source.as_ptr().addr(); | |
| 11 | let offsets:Vec<_>=data.windows(4).enumerate().filter(|(_,b)|*b==0x14001d7au32.to_le_bytes()).map(|(i,_)|i).collect();assert_eq!(offsets.len(),1); | |
| 12 | bytes[start+offsets[0]..start+offsets[0]+4].copy_from_slice(&0x14001e26u32.to_le_bytes()); | |
| 13 | bytes[at..at+4].copy_from_slice(&[255,255,0,0]); | |
| 14 | let digest=md5::compute(&bytes[start..start+data.len()]).0; | |
| 15 | for node in store.lists.values().flat_map(|list|&list.nodes) {if matches!(node.id,0xc2|0xc4|0xc5) && let Some(Reference::Data(chunk))=node.reference && chunk.offset==start as u64 && chunk.length==data.len() as u64 { | |
| 16 | let hash=node.payload.as_ptr().addr()-source.as_ptr().addr()+node.payload.len()-16;bytes[hash..hash+16].copy_from_slice(&digest); | |
| 17 | }} | |
| 18 | println!("Changed one cell timestamp property to CellShadingColor yellow at object offset {start}");changed=true;break 'spaces; | |
| 19 | }}}} | |
| 20 | assert!(changed);let store=Store::parse(&bytes)?;assert!(store.checksum_mismatches.is_empty());let index=RevisionIndex::parse(&store)?;Document::parse(&index)?; | |
| 21 | let path="evidence/m6/cell-shading-input/notebook/synthetic.one";assert!(!std::path::Path::new(path).exists());std::fs::write(path,bytes)?;Ok(()) | |
| 22 | } |
corpus/m6/cell-shading-control-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-92ed7b8e", "hostname": "ONE-M6-92ED7B8E"} |
corpus/m6/cell-shading-control-01/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/cell-shading-control-01/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[215,207,224,40,38,150,39,79,128,28,7,188,161,187,189,237],"root":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},1","spaces":{"{6468BA56-B67A-0708-25C1-355E72B08FDD},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{DDEA62BD-E855-034A-0B36-431645B9F46E},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{7C3AC437-BD9C-0D16-2058-C992E3ED6D0F},1"},"revisions":{"{7C3AC437-BD9C-0D16-2058-C992E3ED6D0F},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{DDEA62BD-E855-034A-0B36-431645B9F46E},1":{"roots":{"1":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},10","2":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},11","4":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},26"},"nodes":{"{DE36500D-E769-0AF2-1CBD-2D476AC40105},10":{"jcid":393271,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Native feature probes","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"32558373b5d7c842b00ed3825f33507e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"80b4208a9a3ddd01"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},12":{"jcid":393227,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},39","{DE36500D-E769-0AF2-1CBD-2D476AC40105},97"],"content":[],"structure":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},13":{"jcid":393260,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},14","{DE36500D-E769-0AF2-1CBD-2D476AC40105},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123384,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},14":{"jcid":393228,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},20":{"jcid":393228,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},21","{DE36500D-E769-0AF2-1CBD-2D476AC40105},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123384,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},21":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123384,"modified":1473123384,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123384,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},24":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123384,"modified":1473123384,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123384,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"5:56 PM","runs":[{"start":0,"end":7,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},33":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native feature probes","runs":[{"start":0,"end":21,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},38","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},39":{"jcid":393228,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},40","{DE36500D-E769-0AF2-1CBD-2D476AC40105},46","{DE36500D-E769-0AF2-1CBD-2D476AC40105},52","{DE36500D-E769-0AF2-1CBD-2D476AC40105},58","{DE36500D-E769-0AF2-1CBD-2D476AC40105},65","{DE36500D-E769-0AF2-1CBD-2D476AC40105},71","{DE36500D-E769-0AF2-1CBD-2D476AC40105},82","{DE36500D-E769-0AF2-1CBD-2D476AC40105},90"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":115.94244},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},40":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Black highlight, automatic text","runs":[{"start":0,"end":31,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},45","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},45":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},46":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},50"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},50":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"White text on black highlight","runs":[{"start":0,"end":29,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},51","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},51":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":13355979,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},52":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},56"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},56":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Black text on black highlight","runs":[{"start":0,"end":29,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},57","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},57":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":0,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},58":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},62"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},62":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Before middle after","runs":[{"start":0,"end":7,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},63","extra_set":null},{"start":7,"end":13,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},64","extra_set":null},{"start":13,"end":19,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},63","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},63":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},64":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},65":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},69"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},69":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Yellow highlight, automatic text","runs":[{"start":0,"end":32,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},70","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},70":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":65535,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},71":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},75"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},75":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Plain bold italic underline strike super sub font and color","runs":[{"start":0,"end":6,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":6,"end":10,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},63","extra_set":null},{"start":10,"end":11,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":11,"end":17,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},76","extra_set":null},{"start":17,"end":18,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":18,"end":27,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},77","extra_set":null},{"start":27,"end":28,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":28,"end":34,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},78","extra_set":null},{"start":34,"end":35,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":35,"end":40,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},79","extra_set":null},{"start":40,"end":41,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":41,"end":44,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},80","extra_set":null},{"start":44,"end":45,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":45,"end":59,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},81","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},76":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":true,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},77":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":true,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334293,"value":{"Bytes":"01"}},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},78":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":true,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},79":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":true,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},80":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":true,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},81":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Consolas","font_size":18.0,"color":2113664,"highlight":16776960,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},82":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},86"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123385,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},86":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"BMP 😀é 東京 مرحبا","runs":[{"start":0,"end":4,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":4,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},87","extra_set":null},{"start":8,"end":9,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":9,"end":11,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},88","extra_set":null},{"start":11,"end":12,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":12,"end":17,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},89","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},87":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":0,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"01"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},88":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"86"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},89":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":true,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":null,"color":null,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},90":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},94"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},94":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Before HYPERLINK \"https://example.invalid/fixture?x=1&y=2\"Link label after","runs":[{"start":0,"end":7,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null},{"start":7,"end":59,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},95","extra_set":null},{"start":59,"end":69,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},96","extra_set":null},{"start":69,"end":75,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},95":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":true,"hyperlink":true,"hyperlink_label":true,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},96":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":true,"hyperlink_label":true,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},97":{"jcid":393228,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},98","{DE36500D-E769-0AF2-1CBD-2D476AC40105},105","{DE36500D-E769-0AF2-1CBD-2D476AC40105},112","{DE36500D-E769-0AF2-1CBD-2D476AC40105},124","{DE36500D-E769-0AF2-1CBD-2D476AC40105},130","{DE36500D-E769-0AF2-1CBD-2D476AC40105},136"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":540.0,"max_width":480.0,"max_height":294.3158},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},98":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},102"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},102":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":2,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Named paragraph style","runs":[{"start":0,"end":21,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},104","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"03000000"}},{"id":335551620,"value":{"Bytes":"03000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},104":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":20.0,"color":5649426,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":288.0,"space_after":144.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"h1"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},105":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},109"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},109":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[{"definition":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},111","action_type":null,"status":1,"created":1262401445,"completed":1262405106,"start":null,"due":null,"task_id":null,"extra_set":1},{"definition":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},110","action_type":null,"status":0,"created":1262401445,"completed":0,"start":null,"due":null,"task_id":null,"extra_set":2}],"kind":{"type":"RichText","text":"Two tags on this paragraph","runs":[{"start":0,"end":26,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}],[],[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},110":{"jcid":1179715,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"TagDefinition","label":"Fixture checkbox","action_type":0,"shape":3,"color":null,"highlight":null},"extra":[[{"id":201340019,"value":{"Bytes":"00"}},{"id":335557735,"value":{"Bytes":"00000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},111":{"jcid":1179715,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"TagDefinition","label":"Fixture custom tag","action_type":90,"shape":13,"color":2113664,"highlight":16776960},"extra":[[{"id":201340019,"value":{"Bytes":"00"}},{"id":335557735,"value":{"Bytes":"00000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},112":{"jcid":393229,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},117"],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},116"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},123"],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},116":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Outer bullet","runs":[{"start":0,"end":12,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},117":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},121"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},122"],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},121":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Nested bullet","runs":[{"start":0,"end":13,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},122":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":11.0,"color":4278190080,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":"Wingdings","format":"§","restart":null,"bullet":9},"extra":[[{"id":201333952,"value":{"Bytes":"00"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},123":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":11.0,"color":4278190080,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":"Courier New","format":"○","restart":null,"bullet":4},"extra":[[{"id":201333952,"value":{"Bytes":"00"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},124":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},128"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},129"],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},128":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Numbered item three","runs":[{"start":0,"end":19,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},129":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0001.","restart":3,"bullet":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},130":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},134"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},135"],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},134":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Numbered item four","runs":[{"start":0,"end":18,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},135":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0001.","restart":null,"bullet":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},136":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},137"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},137":{"jcid":393250,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},138","{DE36500D-E769-0AF2-1CBD-2D476AC40105},155","{DE36500D-E769-0AF2-1CBD-2D476AC40105},172"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":3,"columns":2,"widths":[120.0,37.115906],"locked":[true,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},138":{"jcid":393251,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},139","{DE36500D-E769-0AF2-1CBD-2D476AC40105},147"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},139":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},142"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":65535},"extra":[[{"id":469769234,"value":{"Bytes":"04e9ebeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},142":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},146"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},146":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 0,0","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},147":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},150"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404bfeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},150":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},154"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},154":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 0,1","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},155":{"jcid":393251,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},159","{DE36500D-E769-0AF2-1CBD-2D476AC40105},156"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},156":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},167"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404bfeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},159":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},162"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9ebeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},162":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},166"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},166":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 1,0","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},167":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},171"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},171":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 1,1","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},172":{"jcid":393251,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},176","{DE36500D-E769-0AF2-1CBD-2D476AC40105},173"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},173":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},184"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404bfeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},176":{"jcid":393252,"children":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},179"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123388,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9ebeb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},179":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},183"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},183":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 2,0","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},184":{"jcid":393229,"children":[],"content":["{DE36500D-E769-0AF2-1CBD-2D476AC40105},188"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473123387,"modified":1473123387,"original_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","latest_author":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{DE36500D-E769-0AF2-1CBD-2D476AC40105},188":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123387,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Cell 2,1","runs":[{"start":0,"end":8,"format":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},27","extra_set":null}],"paragraph_style":"{DE36500D-E769-0AF2-1CBD-2D476AC40105},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}},"{4CB7E8D5-17AD-4A9E-82D9-C44455ADE942},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{95241300-D037-0AC6-1781-826EE0C1EE08},1"},"revisions":{"{95241300-D037-0AC6-1781-826EE0C1EE08},1":{"roots":{"1":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},20","2":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},21"},"nodes":{"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},20":{"jcid":393271,"children":[],"content":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},22"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},21":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"A notebook created in Rust.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"3ba097e16397eb4394b7a682b3f6d2b5"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"0090fcc4053ddd01"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},22":{"jcid":393227,"children":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473123416,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"A notebook created in Rust.","level":null,"width":null,"height":null,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":null},"extra":[[{"id":469769589,"value":{"Bytes":"4600690078007400750072006500200041007500740068006f0072000000"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},23":{"jcid":393228,"children":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":36.0,"max_width":375.07498,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473059488,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[0.0]},"extra":[[]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},24":{"jcid":393229,"children":[],"content":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473059488,"modified":1473059488,"original_author":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},26","latest_author":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},26","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473059488,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"A notebook created in Rust.","runs":[{"start":0,"end":27,"format":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},27","extra_set":null}],"paragraph_style":null,"boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},26":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"Fixture Author"},"extra":[[]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[]]}}}}},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{24CFEA87-F2D2-0D37-22B3-486454D921D0},1"},"revisions":{"{24CFEA87-F2D2-0D37-22B3-486454D921D0},1":{"roots":{"1":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},10","2":"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},11"},"nodes":{"{60F9030D-914C-036C-357C-5A10B544F64C},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{6468BA56-B67A-0708-25C1-355E72B08FDD},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"20db62751eb1ad43b791d7c0f3445102"}},{"id":402660453,"value":{"Bytes":"80b4208a9a3ddd01"}},{"id":603993154,"value":{"Objects":["{46C07A67-807A-45E6-92D5-E2F2A894BA35},1"]}}]]},"{46C07A67-807A-45E6-92D5-E2F2A894BA35},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Native feature probes","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"32558373b5d7c842b00ed3825f33507e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"80b4208a9a3ddd01"}}]]},"{6E1F28E4-21AD-0870-35CD-13E88F89DCAA},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"A notebook created in Rust.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"3ba097e16397eb4394b7a682b3f6d2b5"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"0090fcc4053ddd01"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},10":{"jcid":393223,"children":["{2339F5E7-15B0-496E-A684-E40EAB23A0CB},12","{60F9030D-914C-036C-357C-5A10B544F64C},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"4275ebe8f5d4d648b7db01384d836a10"}},{"id":402660453,"value":{"Bytes":"0090fcc4053ddd01"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},12":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{4CB7E8D5-17AD-4A9E-82D9-C44455ADE942},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"85134bb69bdfbb41b3ab4322b6cccb44"}},{"id":402660453,"value":{"Bytes":"0090fcc4053ddd01"}},{"id":603993154,"value":{"Objects":["{6E1F28E4-21AD-0870-35CD-13E88F89DCAA},1"]}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/cell-shading-control-01/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{6468BA56-B67A-0708-25C1-355E72B08FDD},1":{"{7C3AC437-BD9C-0D16-2058-C992E3ED6D0F},1":{},"{DDEA62BD-E855-034A-0B36-431645B9F46E},1":{"{DE36500D-E769-0AF2-1CBD-2D476AC40105},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},25":[{"text":"5:56 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},37":[{"text":"Native feature probes","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},44":[{"text":"Black highlight, automatic text","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},50":[{"text":"White text on black highlight","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":13355979,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},56":[{"text":"Black text on black highlight","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":0,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},62":[{"text":"Before ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"middle","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":0,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" after","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},69":[{"text":"Yellow highlight, automatic text","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":65535,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},75":[{"text":"Plain ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"bold","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"italic","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"underline","format":{"bold":false,"italic":false,"underline":true,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"strike","format":{"bold":false,"italic":false,"underline":false,"strike":true,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"super","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":true,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"sub","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":true,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"font and color","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Consolas","font_size":18.0,"color":2113664,"highlight":16776960,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},86":[{"text":"BMP ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"😀é","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":0,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"東京","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":" ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"مرحبا","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},94":[{"text":"Before ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"HYPERLINK \"https://example.invalid/fixture?x=1&y=2\"","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":true,"hyperlink":true,"hyperlink_label":true,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"Link label","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":true,"hyperlink_label":true,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":"https://example.invalid/fixture?x=1&y=2"},{"text":" after","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},102":[{"text":"Named paragraph style","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":20.0,"color":5649426,"highlight":4278190080,"language":1033,"alignment":2,"rtl":null,"space_before":288.0,"space_after":144.0,"line_spacing":null},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},109":[{"text":"Two tags on this paragraph","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},116":[{"text":"Outer bullet","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},121":[{"text":"Nested bullet","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},128":[{"text":"Numbered item three","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},134":[{"text":"Numbered item four","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},146":[{"text":"Cell 0,0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},154":[{"text":"Cell 0,1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},166":[{"text":"Cell 1,0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},171":[{"text":"Cell 1,1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},183":[{"text":"Cell 2,0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{DE36500D-E769-0AF2-1CBD-2D476AC40105},188":[{"text":"Cell 2,1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{4CB7E8D5-17AD-4A9E-82D9-C44455ADE942},1":{"{95241300-D037-0AC6-1781-826EE0C1EE08},1":{"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},25":[{"text":"A notebook created in Rust.","format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"link":null}]}},"{2339F5E7-15B0-496E-A684-E40EAB23A0CB},1":{"{24CFEA87-F2D2-0D37-22B3-486454D921D0},1":{}}} | |
| \ No newline at end of file |
corpus/m6/cell-shading-control-01/pdf-format-checks.json created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "file": "synthetic.one", | |
| 4 | "page": 1, | |
| 5 | "paragraphs": 4, | |
| 6 | "pdf": "page-001.pdf", | |
| 7 | "pdf_sha256": "d3f834574d212c9fe672bfd79db7aea35181937b9eb38a603d767bbc9dc510d9", | |
| 8 | "source_sha256": "df80ddabd0288dde9f050db2417c00e48c8af6f65693f754dc8196ee61ae86ac", | |
| 9 | "xml_omissions": [ | |
| 10 | { | |
| 11 | "paragraph": 4, | |
| 12 | "field": "highlight", | |
| 13 | "stored": "#000000", | |
| 14 | "native": "automatic", | |
| 15 | "characters": 6, | |
| 16 | "positions": [ | |
| 17 | 7, | |
| 18 | 8, | |
| 19 | 9, | |
| 20 | 10, | |
| 21 | 11, | |
| 22 | 12 | |
| 23 | ] | |
| 24 | } | |
| 25 | ] | |
| 26 | } | |
| 27 | ] | |
| \ No newline at end of file |
corpus/m6/cell-shading-control-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-92ED7B8E", | |
| 5 | "cold": true, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/cell-shading-control-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{F64F199B-2965-4BDE-90D9-0C6088F81DE2}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:25:42.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{A5724122-8481-0254-06BE-0167E8865424}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:25:42.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{CAFC5C10-869C-01A4-22E3-212D16081DAD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:25:42.000Z" pageLevel="1"/><one:Page ID="{E2230E93-274B-4C32-85FB-D03731157B32}{1}{B0}" name="Native feature probes" dateTime="2026-09-06T00:56:24.000Z" lastModifiedTime="2026-09-06T06:25:42.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook> |
corpus/m6/cell-shading-control-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/cell-shading-control-01/read/page-000.pdf differ |
corpus/m6/cell-shading-control-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CAFC5C10-869C-01A4-22E3-212D16081DAD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:25:42.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{A5724122-8481-0254-06BE-0167E8865424}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{A5724122-8481-0254-06BE-0167E8865424}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/cell-shading-control-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/cell-shading-control-01/read/page-001.pdf differ |
corpus/m6/cell-shading-control-01/read/page-001.xml created+28| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E2230E93-274B-4C32-85FB-D03731157B32}{1}{B0}" name="Native feature probes" dateTime="2026-09-06T00:56:24.000Z" lastModifiedTime="2026-09-06T06:25:42.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00FFFF" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="h1" fontColor="#123456" highlightColor="automatic" font="Calibri" fontSize="20.0" bold="true" spaceBefore="8.0" spaceAfter="4.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="354.3946228027344" height="115.9424285888672"/><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 3 | style='background:black;mso-highlight:black'>Black highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#CBCBCB"><one:T><![CDATA[<span | |
| 4 | style='background:black;mso-highlight:black'>White text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{52}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 5 | style='background:black;mso-highlight:black'>Black text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{58}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 6 | style='font-weight:bold'>Before middle after</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{65}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 7 | style='background:yellow;mso-highlight:yellow'>Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span style='font-family:Calibri; | |
| 8 | font-size:11.0pt'>Plain </span><span style='font-weight:bold;font-family:Calibri; | |
| 9 | font-size:11.0pt'>bold</span><span style='font-family:Calibri;font-size:11.0pt'> </span><span | |
| 10 | style='font-style:italic;font-family:Calibri;font-size:11.0pt'>italic</span><span | |
| 11 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration: | |
| 12 | underline;font-family:Calibri;font-size:11.0pt'>underline</span><span | |
| 13 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration: | |
| 14 | line-through;font-family:Calibri;font-size:11.0pt'>strike</span><span | |
| 15 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='vertical-align: | |
| 16 | super;font-family:Calibri;font-size:11.0pt'>super</span><span style='font-family: | |
| 17 | Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family: | |
| 18 | Calibri;font-size:11.0pt'>sub</span><span style='font-family:Calibri; | |
| 19 | font-size:11.0pt'> </span><span style='font-family:Consolas;font-size:18.0pt; | |
| 20 | color:#804020;background:aqua;mso-highlight:aqua'>font and color</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:25.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{82}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span | |
| 21 | style='font-family:Calibri' lang=en-US>BMP </span><span style='font-weight: | |
| 22 | bold;font-family:Calibri' lang=x-none>&#128512;é</span><span style='font-family: | |
| 23 | Calibri' lang=en-US> </span><span style='font-family:SimSun' lang=en-US>東京</span><span | |
| 24 | style='font-family:Calibri' lang=en-US> </span><span style='font-style:italic; | |
| 25 | font-family:Arial;direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{90}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Before <a | |
| 26 | href="https://example.invalid/fixture?x=1&amp;y=2"><span style='font-weight: | |
| 27 | bold'>Link label</span></a> after]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{97}{B0}"><one:Position x="72.0" y="540.0" z="1"/><one:Size width="480.0" height="294.3157653808594"/><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{98}{B0}" alignment="right" spaceBefore="288.0" spaceAfter="144.0" quickStyleIndex="1"><one:T><![CDATA[<span | |
| 28 | style='font-weight:bold'>Named paragraph style</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{105}{B0}" alignment="left" quickStyleIndex="0"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{112}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Bullet bullet="3" fontSize="11.0"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{117}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Bullet bullet="13" fontSize="11.0"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{124}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" fontSize="11.0" font="Calibri" text="III."/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{130}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##." fontSize="11.0" font="Calibri" text="IV."/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{136}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{137}{B0}"><one:Columns><one:Column index="0" width="120.0" isLocked="true"/><one:Column index="1" width="37.11590576171875"/></one:Columns><one:Row objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{138}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{139}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{142}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{147}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{150}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{155}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{159}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{162}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{156}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{167}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{172}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{176}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{179}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{173}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{587DE4C8-7658-41C8-BC87-C82E2961F5EA}{184}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/cell-shading-control-01/read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/cell-shading-control-01/render.log created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fontconfig error: Cannot load default config file: File not found |
corpus/m6/cell-shading-control-01/restart-agent.py created+35| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | """Run through the old agent's detached spawn endpoint in a disposable clone.""" | |
| 2 | import os | |
| 3 | import ctypes | |
| 4 | from ctypes import wintypes | |
| 5 | import subprocess | |
| 6 | import sys | |
| 7 | import time | |
| 8 | ||
| 9 | if len(sys.argv) != 2 or not sys.argv[1].startswith('ONE-M6-') or os.environ.get('COMPUTERNAME') != sys.argv[1]: | |
| 10 | raise SystemExit('The disposable clone hostname does not match.') | |
| 11 | parent = os.getppid() | |
| 12 | kernel = ctypes.WinDLL('kernel32', use_last_error=True) | |
| 13 | kernel.OpenProcess.argtypes = (wintypes.DWORD, wintypes.BOOL, wintypes.DWORD) | |
| 14 | kernel.OpenProcess.restype = wintypes.HANDLE | |
| 15 | kernel.TerminateProcess.argtypes = (wintypes.HANDLE, wintypes.UINT) | |
| 16 | kernel.TerminateProcess.restype = wintypes.BOOL | |
| 17 | kernel.WaitForSingleObject.argtypes = (wintypes.HANDLE, wintypes.DWORD) | |
| 18 | kernel.WaitForSingleObject.restype = wintypes.DWORD | |
| 19 | kernel.CloseHandle.argtypes = (wintypes.HANDLE,) | |
| 20 | kernel.CloseHandle.restype = wintypes.BOOL | |
| 21 | handle = kernel.OpenProcess(0x100001, False, parent) | |
| 22 | if not handle: | |
| 23 | raise ctypes.WinError(ctypes.get_last_error()) | |
| 24 | time.sleep(0.5) | |
| 25 | try: | |
| 26 | if not kernel.TerminateProcess(handle, 0): | |
| 27 | raise ctypes.WinError(ctypes.get_last_error()) | |
| 28 | if kernel.WaitForSingleObject(handle, 5000) != 0: | |
| 29 | raise RuntimeError('The old agent did not terminate.') | |
| 30 | finally: | |
| 31 | kernel.CloseHandle(handle) | |
| 32 | with open(r'C:\one-tests\agent-restart.log', 'ab') as log: | |
| 33 | subprocess.Popen([sys.executable, r'C:\win7-agent\agent.py'], stdin=subprocess.DEVNULL, | |
| 34 | stdout=log, stderr=log, close_fds=True, | |
| 35 | creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP) |
corpus/m6/cell-shading-control-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/cell-shading-input/notebook", | |
| 3 | "expected_pages": 2, | |
| 4 | "author": null, | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": false, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/cell-shading-control-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/cell-shading-control-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/cell-shading-control-01/shading-1.png created| Binary files /dev/null and b/corpus/m6/cell-shading-control-01/shading-1.png differ |
corpus/m6/cell-shading-control-01/shading-2.png created| Binary files /dev/null and b/corpus/m6/cell-shading-control-01/shading-2.png differ |
corpus/m6/cell-shading-control-01/source.json created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "synthetic.one", | |
| 4 | "bytes": 22908, | |
| 5 | "sha256": "df80ddabd0288dde9f050db2417c00e48c8af6f65693f754dc8196ee61ae86ac", | |
| 6 | "mtime_ns": 1788675858562666007 | |
| 7 | } | |
| 8 | ] |
corpus/m6/cell-shading-control-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/live-collaboration-15/ORACLE.md created+33| ... | ... | @@ -0,0 +1,33 @@ |
| 1 | # Live collaboration and interruption matrix | |
| 2 | ||
| 3 | `tools/native_collaboration.py` ran two fresh Windows 7 / OneNote | |
| 4 | 14.0.4763.1000 clients against the disposable Linux Samba server. `linux.json`, | |
| 5 | `server.jsonl`, `run.json`, each client's native captures, and checkpoint notebooks | |
| 6 | record the environment and operations. `result.json` contains seven passing cases: | |
| 7 | ||
| 8 | - A Rust scalar edit and a native edit to another outline converged. | |
| 9 | - Concurrent edits to the same text retained both versions as a native conflict. | |
| 10 | - Samba restart preserved the converged state. | |
| 11 | - Disconnecting one client's lab NIC allowed independent offline/online edits; | |
| 12 | both converged after reconnection. | |
| 13 | - An exclusive macOS file lock prevented native changes to the shared bytes; | |
| 14 | the queued native edit synchronized after release. | |
| 15 | - Terminating and restarting OneNote preserved already synchronized edits. | |
| 16 | - Abruptly terminating QEMU and reopening the same overlay preserved those edits. | |
| 17 | ||
| 18 | `retention.json` validates the current page's explicit conflict-space reference, | |
| 19 | not merely the presence of old text in historical revisions. The final notebook | |
| 20 | was reopened from a separate fresh cache in `../live-collaboration-cold-15`. | |
| 21 | Its native comparison passed, and `conflict.png` shows the competing edit in | |
| 22 | OneNote's read-only conflict view. Both Windows clients, the verifier, and the | |
| 23 | Linux VM were deleted; teardown records accompany each run. | |
| 24 | ||
| 25 | Process/VM termination covers already server-persisted data. It does not claim | |
| 26 | unsynchronized cache durability or physical host power-loss safety. The separate | |
| 27 | stage-5 corpus covers lost successful SMB FLUSH responses. | |
| 28 | ||
| 29 | The controller submits only the edited top-level content container. Submitting | |
| 30 | all cached page containers in an offline update replayed stale content over an | |
| 31 | unrelated online edit; failure evidence is `evidence/m6/live-collaboration-13`. | |
| 32 | Mac SMB mounts were explicitly reconnected after Samba restarts because the OS | |
| 33 | revoked the original mount. Failed setup runs remain separate from acceptance. |
corpus/m6/live-collaboration-15/a/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/live-collaboration-15/a/closed created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | closed | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0001.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0002.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0003.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Fictitious positioned outline.", "text": "Native disjoint edit."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0004.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0005.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0006.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0007.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0008.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0009.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0010.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0011.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0012.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0013.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0014.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0015.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0016.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0017.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0018.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0019.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0020.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0021.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0022.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0023.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0024.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0025.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0026.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0027.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0028.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0029.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0030.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0031.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0032.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Rust disjoint edit.........", "text": "Client A concurrent edit."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0033.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0034.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0035.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0036.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0037.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0038.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0039.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0040.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0041.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0042.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0043.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0044.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0045.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0046.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Native disjoint edit.", "text": "Client A offline edit."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0047.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0048.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0049.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0050.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0051.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0052.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Client A offline edit.", "text": "Native lock recovery."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0053.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0054.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0055.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0056.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0057.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "kill-process"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0058.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0059.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0060.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0061.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/command-0062.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "close"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/commands.jsonl created+71| ... | ... | @@ -0,0 +1,71 @@ |
| 1 | {"command": "mkdir C:\\one-tests\\runs\\capture", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac 52:54:02:c6:92:8d", "exit": 0, "stdout": "{\"renewalResult\":0,\"releaseResult\":83,\"mac\":\"52:54:02:c6:92:8d\",\"address\":\"192.168.77.111\"}\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "ipconfig", "exit": 0, "stdout": "\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter Local Area Connection 2:\r\n\r\n Connection-specific DNS Suffix . : \r\n Link-local IPv6 Address . . . . . : fe80::9965:a22f:77e:4939%13\r\n IPv4 Address. . . . . . . . . . . : 192.168.77.111\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : \r\n\r\nEthernet adapter Local Area Connection:\r\n\r\n Connection-specific DNS Suffix . : \r\n Site-local IPv6 Address . . . . . : fec0::2458:7ec3:bb80:2557%1\r\n Link-local IPv6 Address . . . . . : fe80::2458:7ec3:bb80:2557%11\r\n IPv4 Address. . . . . . . . . . . : 10.0.2.15\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : fe80::2%11\r\n 10.0.2.2\r\n\r\nTunnel adapter isatap.{2913F119-34A2-4D05-B185-573FF3B2121A}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n\r\nTunnel adapter isatap.{A59CB099-98D4-4C81-9159-48128C5EBB69}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n", "stderr": "", "error": null} | |
| 4 | {"command": "dir \\\\192.168.77.1\\agent\\m6-collaboration", "exit": 0, "stdout": " Volume in drive \\\\192.168.77.1\\agent is agent\r\n Volume Serial Number is 640F-A719\r\n\r\n Directory of \\\\192.168.77.1\\agent\\m6-collaboration\r\n\r\n09/05/2026 10:58 PM <DIR> .\r\n09/05/2026 10:58 PM <DIR> ..\r\n09/04/2026 10:12 PM 4,944 Open Notebook.onetoc2\r\n09/04/2026 10:12 PM 27,808 synthetic.one\r\n 2 File(s) 32,752 bytes\r\n 2 Dir(s) 14,688,968,704 bytes free\r\n", "stderr": "", "error": null} | |
| 5 | {"command": "if exist C:\\one-tests\\runs\\capture\\ready del C:\\one-tests\\runs\\capture\\ready", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 6 | {"command": "ipconfig", "exit": 0, "stdout": "\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter Local Area Connection 2:\r\n\r\n Connection-specific DNS Suffix . : \r\n Link-local IPv6 Address . . . . . : fe80::9965:a22f:77e:4939%13\r\n IPv4 Address. . . . . . . . . . . : 192.168.77.111\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : \r\n\r\nEthernet adapter Local Area Connection:\r\n\r\n Connection-specific DNS Suffix . : \r\n Site-local IPv6 Address . . . . . : fec0::2458:7ec3:bb80:2557%1\r\n Link-local IPv6 Address . . . . . : fe80::2458:7ec3:bb80:2557%11\r\n IPv4 Address. . . . . . . . . . . : 10.0.2.15\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : fe80::2%11\r\n 10.0.2.2\r\n\r\nTunnel adapter isatap.{2913F119-34A2-4D05-B185-573FF3B2121A}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n\r\nTunnel adapter isatap.{A59CB099-98D4-4C81-9159-48128C5EBB69}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n", "stderr": "", "error": null} | |
| 7 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0001.tmp C:\\one-tests\\runs\\capture\\inbox\\0001.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 8 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0002.tmp C:\\one-tests\\runs\\capture\\inbox\\0002.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 9 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0003.tmp C:\\one-tests\\runs\\capture\\inbox\\0003.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 10 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0004.tmp C:\\one-tests\\runs\\capture\\inbox\\0004.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 11 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0005.tmp C:\\one-tests\\runs\\capture\\inbox\\0005.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 12 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0006.tmp C:\\one-tests\\runs\\capture\\inbox\\0006.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 13 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0007.tmp C:\\one-tests\\runs\\capture\\inbox\\0007.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 14 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0008.tmp C:\\one-tests\\runs\\capture\\inbox\\0008.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 15 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0009.tmp C:\\one-tests\\runs\\capture\\inbox\\0009.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 16 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0010.tmp C:\\one-tests\\runs\\capture\\inbox\\0010.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 17 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0011.tmp C:\\one-tests\\runs\\capture\\inbox\\0011.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 18 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0012.tmp C:\\one-tests\\runs\\capture\\inbox\\0012.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 19 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0013.tmp C:\\one-tests\\runs\\capture\\inbox\\0013.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 20 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0014.tmp C:\\one-tests\\runs\\capture\\inbox\\0014.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 21 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0015.tmp C:\\one-tests\\runs\\capture\\inbox\\0015.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 22 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0016.tmp C:\\one-tests\\runs\\capture\\inbox\\0016.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 23 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0017.tmp C:\\one-tests\\runs\\capture\\inbox\\0017.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 24 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0018.tmp C:\\one-tests\\runs\\capture\\inbox\\0018.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 25 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0019.tmp C:\\one-tests\\runs\\capture\\inbox\\0019.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 26 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0020.tmp C:\\one-tests\\runs\\capture\\inbox\\0020.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 27 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0021.tmp C:\\one-tests\\runs\\capture\\inbox\\0021.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 28 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0022.tmp C:\\one-tests\\runs\\capture\\inbox\\0022.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 29 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0023.tmp C:\\one-tests\\runs\\capture\\inbox\\0023.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 30 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0024.tmp C:\\one-tests\\runs\\capture\\inbox\\0024.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 31 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0025.tmp C:\\one-tests\\runs\\capture\\inbox\\0025.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 32 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0026.tmp C:\\one-tests\\runs\\capture\\inbox\\0026.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 33 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0027.tmp C:\\one-tests\\runs\\capture\\inbox\\0027.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 34 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0028.tmp C:\\one-tests\\runs\\capture\\inbox\\0028.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 35 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0029.tmp C:\\one-tests\\runs\\capture\\inbox\\0029.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 36 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0030.tmp C:\\one-tests\\runs\\capture\\inbox\\0030.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 37 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0031.tmp C:\\one-tests\\runs\\capture\\inbox\\0031.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 38 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0032.tmp C:\\one-tests\\runs\\capture\\inbox\\0032.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 39 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0033.tmp C:\\one-tests\\runs\\capture\\inbox\\0033.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 40 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0034.tmp C:\\one-tests\\runs\\capture\\inbox\\0034.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 41 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0035.tmp C:\\one-tests\\runs\\capture\\inbox\\0035.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 42 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0036.tmp C:\\one-tests\\runs\\capture\\inbox\\0036.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 43 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0037.tmp C:\\one-tests\\runs\\capture\\inbox\\0037.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 44 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0038.tmp C:\\one-tests\\runs\\capture\\inbox\\0038.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 45 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0039.tmp C:\\one-tests\\runs\\capture\\inbox\\0039.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 46 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0040.tmp C:\\one-tests\\runs\\capture\\inbox\\0040.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 47 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0041.tmp C:\\one-tests\\runs\\capture\\inbox\\0041.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 48 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0042.tmp C:\\one-tests\\runs\\capture\\inbox\\0042.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 49 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0043.tmp C:\\one-tests\\runs\\capture\\inbox\\0043.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 50 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0044.tmp C:\\one-tests\\runs\\capture\\inbox\\0044.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 51 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0045.tmp C:\\one-tests\\runs\\capture\\inbox\\0045.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 52 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0046.tmp C:\\one-tests\\runs\\capture\\inbox\\0046.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 53 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0047.tmp C:\\one-tests\\runs\\capture\\inbox\\0047.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 54 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0048.tmp C:\\one-tests\\runs\\capture\\inbox\\0048.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 55 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0049.tmp C:\\one-tests\\runs\\capture\\inbox\\0049.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 56 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0050.tmp C:\\one-tests\\runs\\capture\\inbox\\0050.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 57 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0051.tmp C:\\one-tests\\runs\\capture\\inbox\\0051.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 58 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0052.tmp C:\\one-tests\\runs\\capture\\inbox\\0052.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 59 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0053.tmp C:\\one-tests\\runs\\capture\\inbox\\0053.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 60 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0054.tmp C:\\one-tests\\runs\\capture\\inbox\\0054.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 61 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0055.tmp C:\\one-tests\\runs\\capture\\inbox\\0055.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 62 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0056.tmp C:\\one-tests\\runs\\capture\\inbox\\0056.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 63 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0057.tmp C:\\one-tests\\runs\\capture\\inbox\\0057.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 64 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0058.tmp C:\\one-tests\\runs\\capture\\inbox\\0058.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 65 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0059.tmp C:\\one-tests\\runs\\capture\\inbox\\0059.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 66 | {"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac 52:54:02:c6:92:8d", "exit": 0, "stdout": "{\"renewalResult\":0,\"releaseResult\":0,\"mac\":\"52:54:02:c6:92:8d\",\"address\":\"192.168.77.111\"}\r\n", "stderr": "", "error": null} | |
| 67 | {"command": "if exist C:\\one-tests\\runs\\capture\\ready del C:\\one-tests\\runs\\capture\\ready", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 68 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0060.tmp C:\\one-tests\\runs\\capture\\inbox\\0060.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 69 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0061.tmp C:\\one-tests\\runs\\capture\\inbox\\0061.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 70 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0062.tmp C:\\one-tests\\runs\\capture\\inbox\\0062.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 71 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/live-collaboration-15/a/controller-0.log createdcorpus/m6/live-collaboration-15/a/controller-59.log createdcorpus/m6/live-collaboration-15/a/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-55EF988A", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/live-collaboration-15/a/inbox/0001.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0002.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0003.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Fictitious positioned outline.", "text": "Native disjoint edit."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0004.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0005.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0006.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0007.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0008.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0009.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0010.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0011.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0012.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0013.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0014.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0015.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0016.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0017.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0018.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0019.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0020.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0021.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0022.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0023.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0024.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0025.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0026.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0027.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0028.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0029.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0030.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0031.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0032.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Rust disjoint edit.........", "text": "Client A concurrent edit."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0033.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0034.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0035.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0036.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0037.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0038.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0039.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0040.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0041.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0042.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0043.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0044.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0045.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0046.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Native disjoint edit.", "text": "Client A offline edit."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0047.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0048.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0049.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0050.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0051.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0052.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Client A offline edit.", "text": "Native lock recovery."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0053.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0054.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0055.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0056.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0057.json created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/inbox/0057.json differ |
corpus/m6/live-collaboration-15/a/inbox/0058.json created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/inbox/0058.json differ |
corpus/m6/live-collaboration-15/a/inbox/0059.json created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/inbox/0059.json differ |
corpus/m6/live-collaboration-15/a/inbox/0060.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0061.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/inbox/0062.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "close"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-55ef988a", "hostname": "ONE-M6-55EF988A"} |
corpus/m6/live-collaboration-15/a/outbox/1/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/10/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/11/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/11/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/11/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/12/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/13/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/13/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/13/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/14/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/15/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/15/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/15/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/16/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/17/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/17/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/17/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/18/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/19/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/19/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/19/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/2/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/2/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/2/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/20/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/21/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/21/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/21/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/22/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/23/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/23/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/23/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/24/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/25/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/25/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/25/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/26/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/27/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/27/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/27/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/28/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/29/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/29/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/29/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/3/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/3/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/3/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/30/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/31/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/31/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/31/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/32/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/32/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/32/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/33/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/34/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/35/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/36/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/37/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/38/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/39/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/4/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/40/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/41/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/42/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/43/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/44/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/45/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/45/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/45/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/46/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/46/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/46/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/47/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/47/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/47/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/48/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/49/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/49/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/49/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/5/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/5/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/5/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/50/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/51/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/51/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/51/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/52/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/52/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/52/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/53/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/54/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/54/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/54/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/55/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/56/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/56/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/56/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/57/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/58/done created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/outbox/58/done differ |
corpus/m6/live-collaboration-15/a/outbox/59/done created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/outbox/59/done differ |
corpus/m6/live-collaboration-15/a/outbox/59/hierarchy.xml created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/outbox/59/hierarchy.xml differ |
corpus/m6/live-collaboration-15/a/outbox/59/page-0.xml created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/a/outbox/59/page-0.xml differ |
corpus/m6/live-collaboration-15/a/outbox/6/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/60/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/61/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/61/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:51.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/61/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/62/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/7/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/7/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/7/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/outbox/8/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/9/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/outbox/9/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{9F58A76E-5054-0262-0782-47A4886710DF}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#8AA8E4"><one:Page ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/a/outbox/9/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/ready created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ready | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/snapshot-0002.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0005.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0007.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0009.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0011.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0013.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0015.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0017.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0019.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0021.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0023.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0025.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0027.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0029.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0031.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0045.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0047.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0049.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{148129FE-60CD-4970-9974-CF39DF207113}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0051.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0054.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0056.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0059.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/snapshot-0061.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B31154E8-D99F-4173-80E5-EF35745F0CC0}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{D4DDFC54-92EA-42C5-8F17-63EE8BC3E9A1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{F630D0C6-CA02-4C76-928F-C1664B438475}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{826D2041-21BF-4898-95A1-E1662FCF0DE8}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{BF4448CE-C725-4136-A3D1-4A92C3A24566}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3A5E50AE-015D-42F0-867C-2D6CF7738A55}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{329DC9E9-08AF-4A34-956E-7073717095C1}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{148129FE-60CD-4970-9974-CF39DF207113}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/a/spawn-0.json created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | { | |
| 2 | "pid": 2404, | |
| 3 | "error": null | |
| 4 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/spawn-59.json created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | { | |
| 2 | "pid": 2296, | |
| 3 | "error": null | |
| 4 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/a/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/live-collaboration-15/b/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/live-collaboration-15/b/closed created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | closed | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0001.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0002.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0003.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0004.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0005.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Rust disjoint edit.........", "text": "Client B concurrent edit."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0006.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0007.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0008.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0009.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0010.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0011.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0012.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0013.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0014.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0015.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0016.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0017.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0018.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0019.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Left cell", "text": "Client B online cell."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0020.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0021.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0022.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0023.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0024.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0025.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0026.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0027.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0028.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0029.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0030.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0031.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0032.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0033.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0034.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0035.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0036.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0037.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0038.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0039.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0040.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0041.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0042.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0043.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0044.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0045.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0046.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0047.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0048.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0049.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0050.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0051.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0052.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0053.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0054.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0055.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/command-0056.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "close"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/commands.jsonl created+63| ... | ... | @@ -0,0 +1,63 @@ |
| 1 | {"command": "mkdir C:\\one-tests\\runs\\capture", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac 52:54:02:70:5a:72", "exit": 0, "stdout": "{\"renewalResult\":0,\"releaseResult\":83,\"mac\":\"52:54:02:70:5a:72\",\"address\":\"192.168.77.159\"}\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "ipconfig", "exit": 0, "stdout": "\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter Local Area Connection 2:\r\n\r\n Connection-specific DNS Suffix . : \r\n Link-local IPv6 Address . . . . . : fe80::fdc9:d8f5:ed53:866%13\r\n IPv4 Address. . . . . . . . . . . : 192.168.77.159\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : \r\n\r\nEthernet adapter Local Area Connection:\r\n\r\n Connection-specific DNS Suffix . : \r\n Site-local IPv6 Address . . . . . : fec0::b1bf:9d18:ecc0:6131%1\r\n Link-local IPv6 Address . . . . . : fe80::b1bf:9d18:ecc0:6131%11\r\n IPv4 Address. . . . . . . . . . . : 10.0.2.15\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : fe80::2%11\r\n 10.0.2.2\r\n\r\nTunnel adapter isatap.{2913F119-34A2-4D05-B185-573FF3B2121A}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n\r\nTunnel adapter isatap.{A59CB099-98D4-4C81-9159-48128C5EBB69}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n", "stderr": "", "error": null} | |
| 4 | {"command": "dir \\\\192.168.77.1\\agent\\m6-collaboration", "exit": 0, "stdout": " Volume in drive \\\\192.168.77.1\\agent is agent\r\n Volume Serial Number is 640F-A719\r\n\r\n Directory of \\\\192.168.77.1\\agent\\m6-collaboration\r\n\r\n09/05/2026 10:58 PM <DIR> .\r\n09/05/2026 10:58 PM <DIR> ..\r\n09/04/2026 10:12 PM 4,944 Open Notebook.onetoc2\r\n09/04/2026 10:12 PM 27,808 synthetic.one\r\n 2 File(s) 32,752 bytes\r\n 2 Dir(s) 14,688,845,824 bytes free\r\n", "stderr": "", "error": null} | |
| 5 | {"command": "if exist C:\\one-tests\\runs\\capture\\ready del C:\\one-tests\\runs\\capture\\ready", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 6 | {"command": "ipconfig", "exit": 0, "stdout": "\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter Local Area Connection 2:\r\n\r\n Connection-specific DNS Suffix . : \r\n Link-local IPv6 Address . . . . . : fe80::fdc9:d8f5:ed53:866%13\r\n IPv4 Address. . . . . . . . . . . : 192.168.77.159\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : \r\n\r\nEthernet adapter Local Area Connection:\r\n\r\n Connection-specific DNS Suffix . : \r\n Site-local IPv6 Address . . . . . : fec0::b1bf:9d18:ecc0:6131%1\r\n Link-local IPv6 Address . . . . . : fe80::b1bf:9d18:ecc0:6131%11\r\n IPv4 Address. . . . . . . . . . . : 10.0.2.15\r\n Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n Default Gateway . . . . . . . . . : fe80::2%11\r\n 10.0.2.2\r\n\r\nTunnel adapter isatap.{2913F119-34A2-4D05-B185-573FF3B2121A}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n\r\nTunnel adapter isatap.{A59CB099-98D4-4C81-9159-48128C5EBB69}:\r\n\r\n Media State . . . . . . . . . . . : Media disconnected\r\n Connection-specific DNS Suffix . : \r\n", "stderr": "", "error": null} | |
| 7 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0001.tmp C:\\one-tests\\runs\\capture\\inbox\\0001.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 8 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0002.tmp C:\\one-tests\\runs\\capture\\inbox\\0002.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 9 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0003.tmp C:\\one-tests\\runs\\capture\\inbox\\0003.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 10 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0004.tmp C:\\one-tests\\runs\\capture\\inbox\\0004.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 11 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0005.tmp C:\\one-tests\\runs\\capture\\inbox\\0005.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 12 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0006.tmp C:\\one-tests\\runs\\capture\\inbox\\0006.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 13 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0007.tmp C:\\one-tests\\runs\\capture\\inbox\\0007.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 14 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0008.tmp C:\\one-tests\\runs\\capture\\inbox\\0008.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 15 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0009.tmp C:\\one-tests\\runs\\capture\\inbox\\0009.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 16 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0010.tmp C:\\one-tests\\runs\\capture\\inbox\\0010.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 17 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0011.tmp C:\\one-tests\\runs\\capture\\inbox\\0011.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 18 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0012.tmp C:\\one-tests\\runs\\capture\\inbox\\0012.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 19 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0013.tmp C:\\one-tests\\runs\\capture\\inbox\\0013.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 20 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0014.tmp C:\\one-tests\\runs\\capture\\inbox\\0014.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 21 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0015.tmp C:\\one-tests\\runs\\capture\\inbox\\0015.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 22 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0016.tmp C:\\one-tests\\runs\\capture\\inbox\\0016.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 23 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0017.tmp C:\\one-tests\\runs\\capture\\inbox\\0017.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 24 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0018.tmp C:\\one-tests\\runs\\capture\\inbox\\0018.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 25 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0019.tmp C:\\one-tests\\runs\\capture\\inbox\\0019.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 26 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0020.tmp C:\\one-tests\\runs\\capture\\inbox\\0020.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 27 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0021.tmp C:\\one-tests\\runs\\capture\\inbox\\0021.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 28 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0022.tmp C:\\one-tests\\runs\\capture\\inbox\\0022.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 29 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0023.tmp C:\\one-tests\\runs\\capture\\inbox\\0023.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 30 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0024.tmp C:\\one-tests\\runs\\capture\\inbox\\0024.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 31 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0025.tmp C:\\one-tests\\runs\\capture\\inbox\\0025.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 32 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0026.tmp C:\\one-tests\\runs\\capture\\inbox\\0026.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 33 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0027.tmp C:\\one-tests\\runs\\capture\\inbox\\0027.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 34 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0028.tmp C:\\one-tests\\runs\\capture\\inbox\\0028.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 35 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0029.tmp C:\\one-tests\\runs\\capture\\inbox\\0029.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 36 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0030.tmp C:\\one-tests\\runs\\capture\\inbox\\0030.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 37 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0031.tmp C:\\one-tests\\runs\\capture\\inbox\\0031.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 38 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0032.tmp C:\\one-tests\\runs\\capture\\inbox\\0032.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 39 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0033.tmp C:\\one-tests\\runs\\capture\\inbox\\0033.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 40 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0034.tmp C:\\one-tests\\runs\\capture\\inbox\\0034.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 41 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0035.tmp C:\\one-tests\\runs\\capture\\inbox\\0035.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 42 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0036.tmp C:\\one-tests\\runs\\capture\\inbox\\0036.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 43 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0037.tmp C:\\one-tests\\runs\\capture\\inbox\\0037.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 44 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0038.tmp C:\\one-tests\\runs\\capture\\inbox\\0038.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 45 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0039.tmp C:\\one-tests\\runs\\capture\\inbox\\0039.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 46 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0040.tmp C:\\one-tests\\runs\\capture\\inbox\\0040.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 47 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0041.tmp C:\\one-tests\\runs\\capture\\inbox\\0041.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 48 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0042.tmp C:\\one-tests\\runs\\capture\\inbox\\0042.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 49 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0043.tmp C:\\one-tests\\runs\\capture\\inbox\\0043.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 50 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0044.tmp C:\\one-tests\\runs\\capture\\inbox\\0044.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 51 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0045.tmp C:\\one-tests\\runs\\capture\\inbox\\0045.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 52 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0046.tmp C:\\one-tests\\runs\\capture\\inbox\\0046.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 53 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0047.tmp C:\\one-tests\\runs\\capture\\inbox\\0047.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 54 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0048.tmp C:\\one-tests\\runs\\capture\\inbox\\0048.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 55 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0049.tmp C:\\one-tests\\runs\\capture\\inbox\\0049.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 56 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0050.tmp C:\\one-tests\\runs\\capture\\inbox\\0050.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 57 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0051.tmp C:\\one-tests\\runs\\capture\\inbox\\0051.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 58 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0052.tmp C:\\one-tests\\runs\\capture\\inbox\\0052.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 59 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0053.tmp C:\\one-tests\\runs\\capture\\inbox\\0053.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 60 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0054.tmp C:\\one-tests\\runs\\capture\\inbox\\0054.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 61 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0055.tmp C:\\one-tests\\runs\\capture\\inbox\\0055.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 62 | {"command": "move C:\\one-tests\\runs\\capture\\inbox\\0056.tmp C:\\one-tests\\runs\\capture\\inbox\\0056.json", "exit": 0, "stdout": " 1 file(s) moved.\r\n", "stderr": "", "error": null} | |
| 63 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/live-collaboration-15/b/controller-0.log createdcorpus/m6/live-collaboration-15/b/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-F79A3B95", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/live-collaboration-15/b/inbox/0001.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0002.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0003.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0004.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0005.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Rust disjoint edit.........", "text": "Client B concurrent edit."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0006.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0007.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0008.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0009.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0010.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0011.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0012.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0013.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0014.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0015.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0016.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0017.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0018.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0019.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "edit", "expected": "Left cell", "text": "Client B online cell."} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0020.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0021.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0022.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0023.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0024.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0025.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0026.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0027.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0028.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0029.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0030.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0031.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0032.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0033.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0034.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0035.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0036.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0037.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0038.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0039.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0040.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0041.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0042.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0043.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0044.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0045.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0046.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0047.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0048.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0049.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0050.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0051.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0052.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0053.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0054.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "sync"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0055.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "snapshot"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/inbox/0056.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"action": "close"} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-f79a3b95", "hostname": "ONE-M6-F79A3B95"} |
corpus/m6/live-collaboration-15/b/outbox/1/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/10/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/11/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/12/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/13/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/14/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/15/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/16/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/17/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/18/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/18/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:47.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/18/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/19/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/19/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:47.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/19/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/2/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/2/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:03:27.000Z" color="#8AA8E4"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/2/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/20/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/21/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/21/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:04:47.000Z" color="#8AA8E4" isUnread="true" areAllPagesAvailable="false"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/21/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="2"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:04.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/22/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/23/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/23/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/23/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/24/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/25/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/25/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/25/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/26/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/27/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/27/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/27/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/28/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/29/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/29/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/29/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/3/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/30/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/31/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/31/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/31/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/32/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/33/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/33/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/33/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/34/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/35/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/35/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/35/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/36/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/37/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/37/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/37/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/38/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/39/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/39/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/39/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/4/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/4/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:03:27.000Z" color="#8AA8E4"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/4/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/40/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/41/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/41/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/41/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/42/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/43/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/43/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/43/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/44/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/45/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/45/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/45/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/46/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/47/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/47/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/47/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/48/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/49/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/49/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/49/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/5/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/5/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:03:27.000Z" color="#8AA8E4"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/5/page-0.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/50/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/51/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/51/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/51/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/52/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/53/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/53/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/53/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/54/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/55/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/55/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Section xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="synthetic" ID="{2AB9A1D2-2E08-0609-14E7-7995E8BF1B8C}{1}{B0}" path="\\192.168.77.1\agent\m6-collaboration\synthetic.one" lastModifiedTime="2026-09-06T06:05:04.000Z" color="#8AA8E4" isUnread="true"><one:Page ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true"/></one:Section> |
corpus/m6/live-collaboration-15/b/outbox/55/page-0.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/outbox/56/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/6/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/7/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/8/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/outbox/9/done created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ok | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/ready created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ready | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/snapshot-0002.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0004.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Rust disjoint edit</span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>..</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>..</span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>.....</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0018.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0021.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="1"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="2"/><one:Size width="127.0088195800781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:03:42.000Z" lastModifiedTime="2026-09-06T06:03:42.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native disjoint edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:04.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:04.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0023.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0025.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0027.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0029.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0031.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0033.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0035.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0037.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0039.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0041.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0043.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0045.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0047.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0049.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:00.000Z" lastModifiedTime="2026-09-06T06:05:00.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client A offline edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="0"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0051.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0053.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/snapshot-0055.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06F05254-A7C3-4518-9380-D10414870793}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isUnread="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{613CFAE8-ECB6-46AE-9C72-5DDFEB1BE2F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{43D1D67A-B45E-481D-81EA-FF572B9B8F26}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{378C26FD-5FE3-4CF3-86C4-DF574F1706BB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{0AA54E72-B979-455D-B0B4-74A3A37A4E35}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8FBF5612-7F01-469B-9519-135D97AB8106}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{877CCF55-76F3-4E5F-860B-4E4211A89E92}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{A1602F42-1E91-4D1B-8A11-F108BFF87A40}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-15/b/spawn-0.json created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | { | |
| 2 | "pid": 2416, | |
| 3 | "error": null | |
| 4 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/b/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/live-collaboration-15/conflict-model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/conflict-model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict-model/assets/0.bin differ |
corpus/m6/live-collaboration-15/conflict-model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/conflict-model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict-model/assets/2.bin differ |
corpus/m6/live-collaboration-15/conflict-model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{4C7E79C8-29B9-0295-2006-87088B9270C7},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/conflict-model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/conflict.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict.one differ |
corpus/m6/live-collaboration-15/conflict/locks.txt created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4403 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:50 2026 | |
| 6 | 4403 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:50 2026 | |
| 7 | 4382 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:56 2026 | |
| 8 | 4382 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:56 2026 | |
| 9 |
corpus/m6/live-collaboration-15/conflict/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/conflict/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict/model/assets/0.bin differ |
corpus/m6/live-collaboration-15/conflict/model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/conflict/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/conflict/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{4C7E79C8-29B9-0295-2006-87088B9270C7},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/conflict/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/conflict/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/conflict/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/conflict/notebook/synthetic.one differ |
corpus/m6/live-collaboration-15/contention.json created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | { | |
| 2 | "unchanged_sha256": "78b139fe514ef75318d47ebbdff4512d39ead2c57ff8c2dc8760d1125d59639c", | |
| 3 | "locks": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:15 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4473 1000 DENY_NONE 0x81 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n" | |
| 4 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/disjoint/locks.txt created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4209 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:03:06 2026 | |
| 6 | 4188 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:00:31 2026 | |
| 7 | 4188 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:14 2026 | |
| 8 | 4188 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:14 2026 | |
| 9 | 3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:22 2026 | |
| 10 | 3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:03:39 2026 | |
| 11 | 4209 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:03:18 2026 | |
| 12 | 4188 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:00:41 2026 | |
| 13 | 3677 1000 DENY_NONE 0x20087 RDWR LEASE(RWH) /srv/agent m6-collaboration/._synthetic.one Sun Sep 6 06:03:39 2026 | |
| 14 |
corpus/m6/live-collaboration-15/disjoint/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/1.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}},{"path":"assets/2.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/disjoint/model/assets/0.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/disjoint/model/assets/1.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/disjoint/model/assets/1.bin differ |
corpus/m6/live-collaboration-15/disjoint/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/disjoint/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/disjoint/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1"},"revisions":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{125A48D7-C513-06A7-28EF-F7EC84D1B3B9},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{125A48D7-C513-06A7-28EF-F7EC84D1B3B9},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{57D959A7-EBAB-0B48-091B-646F994DD19F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052015,"modified":1473052016,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Rust disjoint edit.........","runs":[{"start":0,"end":18,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19","extra_set":null},{"start":18,"end":20,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},20","extra_set":null},{"start":20,"end":22,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19","extra_set":null},{"start":22,"end":27,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},21","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"86"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},21":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":null,"color":7949855,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141854,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Fictitious: café, 東京, مرحبا","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/disjoint/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{125A48D7-C513-06A7-28EF-F7EC84D1B3B9},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":[{"text":"Rust disjoint edit","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"..","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"..","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":".....","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/disjoint/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/disjoint/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/disjoint/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/disjoint/notebook/synthetic.one differ |
corpus/m6/live-collaboration-15/initial/locks.txt created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4209 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:03:06 2026 | |
| 6 | 4188 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:00:31 2026 | |
| 7 | 3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:03:39 2026 | |
| 8 | 3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:03:39 2026 | |
| 9 | 4209 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:03:18 2026 | |
| 10 | 4188 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:00:41 2026 | |
| 11 |
corpus/m6/live-collaboration-15/initial/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/1.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}},{"path":"assets/2.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/initial/model/assets/0.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/initial/model/assets/1.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/initial/model/assets/1.bin differ |
corpus/m6/live-collaboration-15/initial/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/initial/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/initial/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1"},"revisions":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{74A71964-B70E-0589-3BB3-56F955273024},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{74A71964-B70E-0589-3BB3-56F955273024},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{57D959A7-EBAB-0B48-091B-646F994DD19F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052015,"modified":1473052016,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":260.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052017,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"c013e140"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{55644A5D-B639-0555-287F-86AC4C458A34},15"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052017,"modified":1473052017,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},15":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052017,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious positioned outline.","runs":[{"start":0,"end":30,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious: café, 東京, مرحبا","runs":[{"start":0,"end":18,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19","extra_set":null},{"start":18,"end":20,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},20","extra_set":null},{"start":20,"end":22,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19","extra_set":null},{"start":22,"end":27,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},21","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"86"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},21":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":null,"color":7949855,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Fictitious: café, 東京, مرحبا","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20":{"jcid":393228,"children":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":501.52203,"y":139.75984,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":335551620,"value":{"Bytes":"09000000"}},{"id":335551707,"value":{"Bytes":"456f0341"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21":{"jcid":393229,"children":[],"content":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052301,"modified":1473052301,"original_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"","runs":[{"start":0,"end":0,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/initial/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{74A71964-B70E-0589-3BB3-56F955273024},1":{"{55644A5D-B639-0555-287F-86AC4C458A34},15":[{"text":"Fictitious positioned outline.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":[{"text":"Fictitious: café, ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"東京","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"SimSun","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":", ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"مرحبا","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":[{"text":"","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/initial/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/initial/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/initial/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/initial/notebook/synthetic.one differ |
corpus/m6/live-collaboration-15/input.tar created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/input.tar differ |
corpus/m6/live-collaboration-15/linux.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "cpus": 2, | |
| 3 | "disk_gb": 16, | |
| 4 | "hostname": "one-m6-collaboration", | |
| 5 | "lab_address": "192.168.77.1", | |
| 6 | "lab_mac": "52:54:04:d8:85:41", | |
| 7 | "memory_mb": 2048, | |
| 8 | "samba_port": 14450, | |
| 9 | "ssh_port": 22000, | |
| 10 | "wan_mac": "52:54:03:69:92:f7" | |
| 11 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/lock-released/locks.txt created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026 | |
| 6 | 4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026 | |
| 7 | 4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026 | |
| 8 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:06:04 2026 | |
| 9 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:06:04 2026 | |
| 10 | 4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026 | |
| 11 | 4474 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026 | |
| 12 |
corpus/m6/live-collaboration-15/lock-released/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/lock-released/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/lock-released/model/assets/0.bin differ |
corpus/m6/live-collaboration-15/lock-released/model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/lock-released/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/lock-released/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/lock-released/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{20D097D3-E132-074C-00BE-E24B1DB08942},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":128.48047,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{1478AE7B-9555-0667-0590-22A323B21308},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141921,"modified":1473141921,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{1478AE7B-9555-0667-0590-22A323B21308},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native lock recovery.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141922,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.76938,38.522434],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/lock-released/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{1478AE7B-9555-0667-0590-22A323B21308},19":[{"text":"Native lock recovery.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/lock-released/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/lock-released/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/lock-released/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/lock-released/notebook/synthetic.one differ |
corpus/m6/live-collaboration-15/process-restarted/locks.txt created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026 | |
| 6 | 4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026 | |
| 7 | 4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026 | |
| 8 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:06:14 2026 | |
| 9 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:06:04 2026 | |
| 10 | 4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026 | |
| 11 | 4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:06:08 2026 | |
| 12 |
corpus/m6/live-collaboration-15/process-restarted/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/process-restarted/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/process-restarted/model/assets/0.bin differ |
corpus/m6/live-collaboration-15/process-restarted/model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/process-restarted/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/process-restarted/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/process-restarted/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{20D097D3-E132-074C-00BE-E24B1DB08942},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":128.48047,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{1478AE7B-9555-0667-0590-22A323B21308},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141921,"modified":1473141921,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{1478AE7B-9555-0667-0590-22A323B21308},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native lock recovery.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141922,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.76938,38.522434],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/process-restarted/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{1478AE7B-9555-0667-0590-22A323B21308},19":[{"text":"Native lock recovery.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/process-restarted/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/process-restarted/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/process-restarted/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/process-restarted/notebook/synthetic.one differ |
corpus/m6/live-collaboration-15/read-retries.jsonl created+289| ... | ... | @@ -0,0 +1,289 @@ |
| 1 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 2 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 3 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 4 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 5 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 6 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 7 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 8 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 9 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 10 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 11 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 12 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 13 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 14 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 15 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 16 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 17 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 18 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 19 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 20 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 21 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 22 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 23 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 24 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 25 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 26 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 27 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 28 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 29 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 30 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 31 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 32 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 33 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 34 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 35 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 36 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 37 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 38 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 39 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 40 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 41 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 42 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 43 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 44 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 45 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 46 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 47 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 48 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 49 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 50 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 51 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 52 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 53 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 54 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 55 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 56 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 57 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 58 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 59 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 60 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 61 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 62 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 63 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 64 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 65 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 66 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 67 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 68 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 69 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 70 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 71 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 72 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 73 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 74 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 75 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 76 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 77 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 78 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 79 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 80 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 81 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 82 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 83 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 84 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 85 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 86 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 87 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 88 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 89 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 90 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 91 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 92 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 93 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 94 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 95 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 96 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 97 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 98 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 99 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 100 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 101 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 102 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 103 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 104 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 105 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 106 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 107 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 108 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 109 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 110 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 111 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 112 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 113 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 114 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 115 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 116 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 117 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 118 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 119 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 120 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 121 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 122 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 123 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 124 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 125 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 126 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 127 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 128 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 129 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 130 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 131 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 132 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 133 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 134 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 135 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 136 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 137 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 138 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 139 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 140 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 141 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 142 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 143 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 144 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 145 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 146 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 147 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 148 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 149 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 150 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 151 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 152 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 153 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 154 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 155 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 156 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 157 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 158 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 159 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 160 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 161 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 162 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 163 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 164 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 165 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 166 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 167 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 168 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 169 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 170 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 171 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 172 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 173 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 174 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 175 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 176 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 177 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 178 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 179 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 180 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 181 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 182 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 183 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 184 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 185 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 186 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 187 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 188 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 189 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 190 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 191 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 192 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 193 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 194 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 195 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 196 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 197 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 198 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 199 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 200 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 201 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 202 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 203 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 204 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 205 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 206 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 207 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 208 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 209 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 210 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 211 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 212 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 213 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 214 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 215 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 216 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 217 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 218 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 219 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 220 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 221 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 222 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 223 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 224 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 225 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 226 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 227 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 228 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 229 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 230 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 231 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 232 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 233 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 234 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 235 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 236 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 237 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 238 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 239 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 240 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 241 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 242 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 243 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 244 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 245 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 246 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 247 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 248 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 249 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 250 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 251 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 252 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 253 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 254 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 255 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 256 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 257 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 258 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 259 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 260 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 261 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 262 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 263 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 264 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 265 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 266 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 267 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 268 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 269 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 270 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 271 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 272 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 273 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 274 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 275 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 276 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 277 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 278 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 279 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 280 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 281 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 282 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 283 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 284 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 285 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 286 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 287 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 288 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} | |
| 289 | {"file": "synthetic.one", "errno": 13, "error": "[Errno 13] Permission denied"} |
corpus/m6/live-collaboration-15/result.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "disjoint": true, | |
| 3 | "conflict_retained": true, | |
| 4 | "server_restart": true, | |
| 5 | "transport_reconnect": true, | |
| 6 | "lock_contention": true, | |
| 7 | "process_restart": true, | |
| 8 | "vm_restart": true | |
| 9 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/retention.json created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | { | |
| 2 | "main_space": "{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1", | |
| 3 | "conflict_space": "{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1", | |
| 4 | "competing_edits": [ | |
| 5 | "Client A concurrent edit.", | |
| 6 | "Client B concurrent edit." | |
| 7 | ] | |
| 8 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/run.json created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | { | |
| 2 | "server": "m6-collaboration", | |
| 3 | "scripts": { | |
| 4 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 5 | "network.ps1": "8737a25b9ff28a9a33e99239efdbe6b3f4933889d327c1d704fc27d009eae471", | |
| 6 | "collaborate.ps1": "0c336b1db52f8878d4eac08fcbe62fce1637b5b3538b97fb6df3f1b8d9f5aa1f" | |
| 7 | } | |
| 8 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/live-collaboration-15/scripts/collaborate.ps1 created+97| ... | ... | @@ -0,0 +1,97 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, | |
| 2 | [Parameter(Mandatory=$true)][string]$SharedPath, | |
| 3 | [Parameter(Mandatory=$true)][string]$CloneHost, | |
| 4 | [switch]$ResumeCache, | |
| 5 | [int]$StartSequence = 1) | |
| 6 | Set-StrictMode -Version Latest | |
| 7 | $ErrorActionPreference = 'Stop' | |
| 8 | if ($SharedPath -notmatch '^\\\\192\.168\.77\.1\\agent\\m6-[a-z0-9-]+$') { throw 'Choose a disposable Linux lab notebook.' } | |
| 9 | if ($env:COMPUTERNAME -ne $CloneHost) { throw 'The collaboration controller requires its owned clone.' } | |
| 10 | if (-not $ResumeCache) { & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost } | |
| 11 | $shared = $SharedPath | |
| 12 | if (-not (Test-Path "$shared\synthetic.one")) { throw 'Create the shared fixture first.' } | |
| 13 | New-Item -ItemType Directory "$Root\inbox", "$Root\outbox" -Force | Out-Null | |
| 14 | $user = 'HKCU:\Software\Microsoft\Office\Common\UserInfo' | |
| 15 | New-Item $user -Force | Out-Null | |
| 16 | New-ItemProperty $user -Name UserName -Value $CloneHost -PropertyType String -Force | Out-Null | |
| 17 | New-ItemProperty $user -Name UserInitials -Value $CloneHost.Substring($CloneHost.Length - 3) -PropertyType String -Force | Out-Null | |
| 18 | $app = New-Object -ComObject OneNote.Application | |
| 19 | $notebook = '' | |
| 20 | try { | |
| 21 | $app.OpenHierarchy($shared, '', [ref]$notebook, 0) | |
| 22 | $section = '' | |
| 23 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 24 | [IO.File]::WriteAllText("$Root\ready", 'ready') | |
| 25 | $deadline = [DateTime]::UtcNow.AddMinutes(30) | |
| 26 | $sequence = $StartSequence | |
| 27 | while ([DateTime]::UtcNow -lt $deadline) { | |
| 28 | $name = '{0:d4}.json' -f $sequence | |
| 29 | $input = "$Root\inbox\$name" | |
| 30 | if (-not (Test-Path $input)) { Start-Sleep -Milliseconds 100; continue } | |
| 31 | $command = Get-Content -Raw -Encoding UTF8 $input | ConvertFrom-Json | |
| 32 | $output = "$Root\outbox\$sequence" | |
| 33 | New-Item -ItemType Directory $output | Out-Null | |
| 34 | try { | |
| 35 | if ($command.action -eq 'sync') { $app.SyncHierarchy($notebook) } | |
| 36 | elseif ($command.action -eq 'kill-process') { | |
| 37 | Get-Process ONENOTE | Stop-Process -Force | |
| 38 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 39 | $app = New-Object -ComObject OneNote.Application | |
| 40 | $app.OpenHierarchy($shared, '', [ref]$notebook, 0) | |
| 41 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 42 | } | |
| 43 | elseif ($command.action -eq 'edit' -or $command.action -eq 'snapshot') { | |
| 44 | $hierarchy = '' | |
| 45 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 46 | [IO.File]::WriteAllText("$output\hierarchy.xml", $hierarchy, [Text.Encoding]::UTF8) | |
| 47 | [xml]$tree = $hierarchy | |
| 48 | $matches = 0 | |
| 49 | $editedPage = $null | |
| 50 | $i = 0 | |
| 51 | foreach ($node in $tree.SelectNodes('//*[local-name()="Page"]')) { | |
| 52 | $content = '' | |
| 53 | $app.GetPageContent($node.GetAttribute('ID'), [ref]$content, 1, 1) | |
| 54 | [IO.File]::WriteAllText("$output\page-$i.xml", $content, [Text.Encoding]::UTF8) | |
| 55 | [xml]$page = $content | |
| 56 | if ($command.action -eq 'edit') { | |
| 57 | $targets = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object { | |
| 58 | [Net.WebUtility]::HtmlDecode([regex]::Replace($_.InnerText, '<[^>]*>', '')) -eq $command.expected | |
| 59 | }) | |
| 60 | if ($targets.Count -gt 1) { throw 'Expected one matching text object.' } | |
| 61 | if ($targets.Count -eq 1) { | |
| 62 | $matches++ | |
| 63 | if ($matches -gt 1) { throw 'The text occurs on multiple pages.' } | |
| 64 | $targets[0].InnerText = [Security.SecurityElement]::Escape($command.text) | |
| 65 | $container = $targets[0] | |
| 66 | while ($container.ParentNode -ne $page.DocumentElement) { $container = $container.ParentNode } | |
| 67 | foreach ($sibling in @($page.DocumentElement.ChildNodes)) { | |
| 68 | if ($sibling -ne $container -and $sibling.LocalName -in @('Outline', 'Title', 'Image', 'InkDrawing')) { | |
| 69 | [void]$page.DocumentElement.RemoveChild($sibling) | |
| 70 | } | |
| 71 | } | |
| 72 | $editedPage = $page | |
| 73 | } | |
| 74 | } | |
| 75 | $i++ | |
| 76 | } | |
| 77 | if ($command.action -eq 'edit' -and $matches -ne 1) { throw 'Expected one matching text object.' } | |
| 78 | if ($editedPage) { $app.UpdatePageContent($editedPage.OuterXml, [DateTime]::MinValue, 1, $false) } | |
| 79 | } elseif ($command.action -ne 'close') { throw 'Unknown collaboration command.' } | |
| 80 | [IO.File]::WriteAllText("$output\done", 'ok') | |
| 81 | } catch { | |
| 82 | [IO.File]::WriteAllText("$output\error", $_.Exception.ToString()) | |
| 83 | } | |
| 84 | if ($command.action -eq 'close') { break } | |
| 85 | $sequence++ | |
| 86 | } | |
| 87 | } finally { | |
| 88 | try { if ($notebook) { $app.CloseNotebook($notebook, $false) } } | |
| 89 | finally { | |
| 90 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 91 | $app = $null | |
| 92 | [GC]::Collect() | |
| 93 | [GC]::WaitForPendingFinalizers() | |
| 94 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 95 | [IO.File]::WriteAllText("$Root\closed", 'closed') | |
| 96 | } | |
| 97 | } |
corpus/m6/live-collaboration-15/scripts/network.ps1 created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$LabMac) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $adapter = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.MACAddress -eq $LabMac }) | |
| 5 | if ($adapter.Count -ne 1) { throw 'The clone lab adapter is ambiguous.' } | |
| 6 | $release = $adapter[0].ReleaseDHCPLease() | |
| 7 | $result = $adapter[0].RenewDHCPLease() | |
| 8 | $deadline = [DateTime]::UtcNow.AddSeconds(60) | |
| 9 | do { | |
| 10 | $adapter = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.MACAddress -eq $LabMac }) | |
| 11 | $addresses = @($adapter[0].IPAddress | Where-Object { $_ -match '^192\.168\.77\.\d+$' -and $_ -ne '192.168.77.1' }) | |
| 12 | if ($addresses.Count -eq 1) { break } | |
| 13 | Start-Sleep -Milliseconds 250 | |
| 14 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 15 | if ($addresses.Count -ne 1) { throw ('The clone did not receive a lab IPv4 address; renewal result ' + $result.ReturnValue) } | |
| 16 | @{mac=$LabMac;address=$addresses[0];releaseResult=$release.ReturnValue;renewalResult=$result.ReturnValue} | ConvertTo-Json -Compress |
corpus/m6/live-collaboration-15/server-restart/locks.txt created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:59 2026 | |
| 6 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026 | |
| 7 |
corpus/m6/live-collaboration-15/server-restart/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/server-restart/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/server-restart/model/assets/0.bin differ |
corpus/m6/live-collaboration-15/server-restart/model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/server-restart/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/server-restart/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/server-restart/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{4C7E79C8-29B9-0295-2006-87088B9270C7},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/server-restart/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{4C7E79C8-29B9-0295-2006-87088B9270C7},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/server-restart/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/server-restart/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/server-restart/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/server-restart/notebook/synthetic.one differ |
corpus/m6/live-collaboration-15/server.jsonl created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | {"command": "mkdir /srv/agent/m6-collaboration", "exit": 0, "stdout": "", "stderr": ""} | |
| 2 | {"command": "chmod u+w /srv/agent/m6-collaboration/*", "exit": 0, "stdout": "", "stderr": ""} | |
| 3 | {"command": "sudo smbd --version", "exit": 0, "stdout": "Version 4.22.10-Debian-4.22.10+dfsg-0+deb13u2\n", "stderr": ""} | |
| 4 | {"command": "uname -a", "exit": 0, "stdout": "Linux one-m6-collaboration 6.12.107+deb13-cloud-arm64 #1 SMP Debian 6.12.107-1 (2026-08-29) aarch64 GNU/Linux\n", "stderr": ""} | |
| 5 | {"command": "testparm -s 2>&1", "exit": 0, "stdout": "Load smb config files from /etc/samba/smb.conf\nLoaded services file OK.\nWeak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)\n\nWARNING: The 'netbios name' is too long (max. 15 chars).\n\nServer role: ROLE_STANDALONE\n\n# Global parameters\n[global]\n\tbind interfaces only = Yes\n\tinterfaces = lo wan0 lab0\n\tmap to guest = Bad User\n\tserver role = standalone server\n\tidmap config * : backend = tdb\n\n\n[agent]\n\tcreate mask = 0666\n\tdirectory mask = 0777\n\tforce user = agent\n\tguest ok = Yes\n\tpath = /srv/agent\n\tread only = No\n", "stderr": ""} | |
| 6 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4209 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:03:06 2026\n4188 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:00:31 2026\n3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:03:39 2026\n3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:03:39 2026\n4209 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:03:18 2026\n4188 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:00:41 2026\n\n", "stderr": ""} | |
| 7 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4209 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:03:06 2026\n4188 1000 DENY_ALL 0x100080 RDONLY NONE /srv/agent . Sun Sep 6 06:00:31 2026\n4188 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:14 2026\n4188 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:14 2026\n3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:22 2026\n3677 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:03:39 2026\n4209 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:03:18 2026\n4188 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:00:41 2026\n3677 1000 DENY_NONE 0x20087 RDWR LEASE(RWH) /srv/agent m6-collaboration/._synthetic.one Sun Sep 6 06:03:39 2026\n\n", "stderr": ""} | |
| 8 | {"command": "sudo systemctl stop smbd && ! systemctl is-active --quiet smbd", "exit": 0, "stdout": "", "stderr": ""} | |
| 9 | {"command": "sudo systemctl start smbd && systemctl is-active smbd", "exit": 0, "stdout": "active\n", "stderr": ""} | |
| 10 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4403 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:50 2026\n4403 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:50 2026\n4382 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:56 2026\n4382 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:56 2026\n\n", "stderr": ""} | |
| 11 | {"command": "sudo systemctl restart smbd && systemctl is-active smbd", "exit": 0, "stdout": "active\n", "stderr": ""} | |
| 12 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:04:59 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n\n", "stderr": ""} | |
| 13 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:10 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n\n", "stderr": ""} | |
| 14 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:15 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n", "stderr": ""} | |
| 15 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:15 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4473 1000 DENY_NONE 0x81 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n", "stderr": ""} | |
| 16 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026\n4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:06:04 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:06:04 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n", "stderr": ""} | |
| 17 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:59 2026\n4474 1000 DENY_WRITE 0x12019f RDWR LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:22 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:06:14 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:06:04 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:06:08 2026\n\n", "stderr": ""} | |
| 18 | {"command": "sudo smbstatus --locks", "exit": 0, "stdout": "\nLocked files:\nPid User(ID) DenyMode Access R/W Oplock SharePath Name Time\n--------------------------------------------------------------------------------------------------\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:08:51 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:08:59 2026\n4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:08:59 2026\n4670 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:07:59 2026\n4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026\n\n", "stderr": ""} |
corpus/m6/live-collaboration-15/teardown.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | { | |
| 2 | "linux_absent": true | |
| 3 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-disconnected/locks.txt created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:10 2026 | |
| 6 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026 | |
| 7 |
corpus/m6/live-collaboration-15/transport-disconnected/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-disconnected/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-disconnected/model/assets/0.bin differ |
corpus/m6/live-collaboration-15/transport-disconnected/model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-disconnected/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-disconnected/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/transport-disconnected/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{4A569927-F210-0C84-025F-62FA4E30B2ED},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{4A569927-F210-0C84-025F-62FA4E30B2ED},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.841827,38.449986],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141904,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-disconnected/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{4A569927-F210-0C84-025F-62FA4E30B2ED},1":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},19":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-disconnected/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-disconnected/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/transport-disconnected/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-disconnected/notebook/synthetic.one differ |
corpus/m6/live-collaboration-15/transport-reconnected/locks.txt created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:15 2026 | |
| 6 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:05:20 2026 | |
| 7 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:04:59 2026 | |
| 8 | 4475 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026 | |
| 9 | 4474 1000 DENY_NONE 0x120089 RDONLY LEASE(RH) /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026 | |
| 10 |
corpus/m6/live-collaboration-15/transport-reconnected/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-reconnected/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-reconnected/model/assets/0.bin differ |
corpus/m6/live-collaboration-15/transport-reconnected/model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-reconnected/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-reconnected/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/transport-reconnected/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{E65D3644-B03E-0D81-3269-4A138398381C},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{E65D3644-B03E-0D81-3269-4A138398381C},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{3C0846F2-DF66-0946-0D23-D27E72A28A48},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141900,"modified":1473141900,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{3C0846F2-DF66-0946-0D23-D27E72A28A48},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141900,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A offline edit.","runs":[{"start":0,"end":22,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.841827,38.449986],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-reconnected/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{E65D3644-B03E-0D81-3269-4A138398381C},1":{"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{3C0846F2-DF66-0946-0D23-D27E72A28A48},18":[{"text":"Client A offline edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/transport-reconnected/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-reconnected/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/transport-reconnected/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/transport-reconnected/notebook/synthetic.one differ |
corpus/m6/live-collaboration-15/unmount.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"exit": 0, "stderr": ""} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/vm-restarted/locks.txt created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | ||
| 2 | Locked files: | |
| 3 | Pid User(ID) DenyMode Access R/W Oplock SharePath Name Time | |
| 4 | -------------------------------------------------------------------------------------------------- | |
| 5 | 4475 1000 DENY_NONE 0x120089 RDONLY LEASE(H) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:08:51 2026 | |
| 6 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/synthetic.one Sun Sep 6 06:08:59 2026 | |
| 7 | 4473 1000 DENY_NONE 0x20081 RDONLY LEASE(RH) /srv/agent m6-collaboration/Open Notebook.onetoc2 Sun Sep 6 06:08:59 2026 | |
| 8 | 4670 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:07:59 2026 | |
| 9 | 4475 1000 DENY_NONE 0x120089 RDONLY LEASE() /srv/agent m6-collaboration Sun Sep 6 06:05:19 2026 | |
| 10 |
corpus/m6/live-collaboration-15/vm-restarted/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/vm-restarted/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/vm-restarted/model/assets/0.bin differ |
corpus/m6/live-collaboration-15/vm-restarted/model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/vm-restarted/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/vm-restarted/model/assets/2.bin differ |
corpus/m6/live-collaboration-15/vm-restarted/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1"},"revisions":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]}}}}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{3322FC41-5152-002C-1A6F-6E54765F3328},1"},"revisions":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"roots":{"1":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10","2":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52","4":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12"},"nodes":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},10":{"jcid":393271,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},12":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},14":{"jcid":393227,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client A concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":2281708924,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},15":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},16":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141863,"modified":1473141863,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client A concurrent edit.","runs":[{"start":0,"end":25,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281709019,"value":"NoData"},{"id":2281708950,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},21":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":167.04495,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},22":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141822,"modified":1473141822,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141822,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native disjoint edit.","runs":[{"start":0,"end":21,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},19","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},25":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},26":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},27":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},28":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},29":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},30":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},31":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32","preview":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},32":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},33":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},34":{"jcid":393228,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},35":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},36":{"jcid":393250,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},37":{"jcid":393251,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38","{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},38":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},39":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},42":{"jcid":393252,"children":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141890,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},43":{"jcid":393229,"children":[],"content":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","latest_author":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},24","extra_set":null}],"paragraph_style":"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},41","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},45":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},46":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},47":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},49":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},50":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51"]}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},51":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},48"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},52":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{20D097D3-E132-074C-00BE-E24B1DB08942},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-55EF988A"},"extra":[[{"id":469769720,"value":{"Bytes":"3800380041000000"}}]]},"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"ONE-M6-F79A3B95"},"extra":[[{"id":469769720,"value":{"Bytes":"4200390035000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141866,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B concurrent edit.","runs":[{"start":0,"end":25,"format":"{523F023B-8667-0712-0EBD-FF04058A53A5},20","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{523F023B-8667-0712-0EBD-FF04058A53A5},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{523F023B-8667-0712-0EBD-FF04058A53A5},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141866,"modified":1473141866,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":128.48047,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{1478AE7B-9555-0667-0590-22A323B21308},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141921,"modified":1473141921,"original_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","latest_author":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{1478AE7B-9555-0667-0590-22A323B21308},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141921,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Native lock recovery.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":["{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[{"id":603993154,"value":{"Objects":["{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1"]}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Client B concurrent edit.","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":2281708951,"value":"NoData"}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{03D49648-056C-0F08-32C9-0424E8496E7D},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141922,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Client B concurrent edit.","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":92.421814,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},24"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","latest_author":"{523F023B-8667-0712-0EBD-FF04058A53A5},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{B2F9E0E3-3A87-4F1B-8505-2633CDC0F444},1":{"jcid":131128,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"ConflictMetadata","title":"Client A concurrent edit.","level":1,"author":"snow"},"extra":[[{"id":469769264,"value":{"Bytes":"6d4c500d70a888499d70ce639414e652"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"b0c88ba0c53ddd01"}},{"id":469769631,"value":{"Bytes":"53000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},15":{"jcid":393229,"children":[],"content":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473141902,"modified":1473141902,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null,"collapse_state":null},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},16":{"jcid":393250,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},17"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[45.76938,38.522434],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},17":{"jcid":393251,"children":["{E594A3F5-9F29-07F9-28B0-17B912FA121D},18","{E594A3F5-9F29-07F9-28B0-17B912FA121D},25"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},18":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e9d5eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Client B online cell.","runs":[{"start":0,"end":21,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},25":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141912,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"0404a9eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473141902,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16","extra_set":null}],"paragraph_style":"{5E66D936-E9D9-03A5-3325-2FEBF61B6A6D},20","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/vm-restarted/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CC1CC439-FAEC-0BC0-397C-29DEA1750424},1":{}},"{905120D2-0C87-0DF5-3211-F19F17E4C1AC},1":{"{3322FC41-5152-002C-1A6F-6E54765F3328},1":{"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},18":[{"text":"Client A concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},23":[{"text":"Native disjoint edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},40":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{BD9A863A-AF17-019B-3B87-B342EA2F4F7F},44":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{},"{20D097D3-E132-074C-00BE-E24B1DB08942},1":{"{523F023B-8667-0712-0EBD-FF04058A53A5},19":[{"text":"Client B concurrent edit.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{1478AE7B-9555-0667-0590-22A323B21308},19":[{"text":"Native lock recovery.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},24":[{"text":"Client B online cell.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{E594A3F5-9F29-07F9-28B0-17B912FA121D},31":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}]}}} | |
| \ No newline at end of file |
corpus/m6/live-collaboration-15/vm-restarted/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/vm-restarted/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-15/vm-restarted/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-15/vm-restarted/notebook/synthetic.one differ |
corpus/m6/live-collaboration-cold-15/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/live-collaboration-cold-15/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-cold-15/before-read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-3D7D26BB", | |
| 5 | "cold": true, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/live-collaboration-cold-15/before-read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{B2AF6E09-B61D-4A5F-B238-E0FA552A994A}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:11:50.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{6B8385CA-10F0-0E6D-2560-456115271022}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:11:50.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook> |
corpus/m6/live-collaboration-cold-15/before-read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/before-read/page-000.pdf differ |
corpus/m6/live-collaboration-cold-15/before-read/page-000.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{2006DEF0-D24E-4ECA-ADF5-612B1683E95C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:04:26.000Z" objectID="{2006DEF0-D24E-4ECA-ADF5-612B1683E95C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{02EBF262-8AA6-4079-B06D-C3A3D6038488}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{02EBF262-8AA6-4079-B06D-C3A3D6038488}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{76B602E5-611B-4497-B743-E3A3B28F0D15}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:05:21.000Z" objectID="{76B602E5-611B-4497-B743-E3A3B28F0D15}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{4B9F6A6A-8781-4D39-8133-48575EE2459B}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{4B9F6A6A-8781-4D39-8133-48575EE2459B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{17}{B0}" lastModifiedTime="2026-09-06T06:05:12.000Z"><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:05:12.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:05:02.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-cold-15/before-read/payloads.json created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7", | |
| 4 | "name": "fictitious-attachment.txt", | |
| 5 | "object": "{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{11}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}", | |
| 8 | "bytes": 43 | |
| 9 | } | |
| 10 | ] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-cold-15/commands.jsonl created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-3D7D26BB -ExpectedPages 1 -Pdf -KeepOpen", "exit": 0, "stdout": "Read 1 sections and 1 pages.\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 5 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-3D7D26BB -UseCurrentCache -ExpectedPages -1 -Pdf", "exit": 0, "stdout": "Read 1 sections and 1 pages.\r\n", "stderr": "", "error": null} | |
| 6 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/live-collaboration-cold-15/conflict-ui.json created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | { | |
| 2 | "action": "Clicked the native unmerged-changes banner in a fresh cache.", | |
| 3 | "observed_main": "Client B concurrent edit.", | |
| 4 | "observed_conflict": "Client A concurrent edit.", | |
| 5 | "native_status": "Conflicting changes are highlighted in red; read-only conflict page." | |
| 6 | } | |
| \ No newline at end of file |
corpus/m6/live-collaboration-cold-15/conflict.png created| Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/conflict.png differ |
corpus/m6/live-collaboration-cold-15/finish createdcorpus/m6/live-collaboration-cold-15/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-cold-15/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-cold-15/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-3D7D26BB", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/live-collaboration-cold-15/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-3d7d26bb", "hostname": "ONE-M6-3D7D26BB"} |
corpus/m6/live-collaboration-cold-15/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/notebook/Open Notebook.onetoc2 differ |
corpus/m6/live-collaboration-cold-15/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/notebook/synthetic.one differ |
corpus/m6/live-collaboration-cold-15/pdf-format-checks.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-cold-15/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/live-collaboration-cold-15/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-3D7D26BB", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/live-collaboration-cold-15/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{B2AF6E09-B61D-4A5F-B238-E0FA552A994A}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:11:50.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{6B8385CA-10F0-0E6D-2560-456115271022}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:11:50.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook> |
corpus/m6/live-collaboration-cold-15/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/live-collaboration-cold-15/read/page-000.pdf differ |
corpus/m6/live-collaboration-cold-15/read/page-000.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}" name="Client B concurrent edit." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="ONE-M6-F79A3B95" authorInitials="B95" lastModifiedBy="ONE-M6-F79A3B95" lastModifiedByInitials="B95" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{2006DEF0-D24E-4ECA-ADF5-612B1683E95C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="2"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-06T06:04:26.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{2006DEF0-D24E-4ECA-ADF5-612B1683E95C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[Client B concurrent edit.]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{02EBF262-8AA6-4079-B06D-C3A3D6038488}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 3 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 4 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 5 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 6 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 7 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 8 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 9 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 10 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 11 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 12 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 13 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 14 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{02EBF262-8AA6-4079-B06D-C3A3D6038488}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="6"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 15 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 16 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 17 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 18 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 19 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 20 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="ONE-M6-55EF988A" authorInitials="88A" lastModifiedBy="ONE-M6-55EF988A" lastModifiedByInitials="88A" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{76B602E5-611B-4497-B743-E3A3B28F0D15}{10}{B0}"><one:Position x="144.0" y="96.0" z="0"/><one:Size width="128.48046875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:21.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{76B602E5-611B-4497-B743-E3A3B28F0D15}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native lock recovery.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{4B9F6A6A-8781-4D39-8133-48575EE2459B}{10}{B0}"><one:Position x="144.0" y="192.0" z="3"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{4B9F6A6A-8781-4D39-8133-48575EE2459B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 21 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{10}{B0}"><one:Position x="264.0" y="192.0" z="4"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{10}{B0}"><one:Position x="144.0" y="312.0" z="1"/><one:Size width="92.42181396484374" height="48.80315780639648"/><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{15}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{16}{B0}"><one:Columns><one:Column index="0" width="45.76937866210937"/><one:Column index="1" width="38.52243423461914"/></one:Columns><one:Row objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{17}{B0}" lastModifiedTime="2026-09-06T06:12:09.000Z"><one:Cell lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{18}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Client B online cell.]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{C646EB4D-480B-463B-B78C-72B6EC30953C}{25}{B0}" lastModifiedByInitials="B95"><one:OEChildren><one:OE creationTime="2026-09-06T06:05:02.000Z" lastModifiedTime="2026-09-06T06:12:09.000Z" objectID="{E05A0B5A-2069-457F-BB96-CDFC426071EE}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/live-collaboration-cold-15/read/payloads.json created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7", | |
| 4 | "name": "fictitious-attachment.txt", | |
| 5 | "object": "{CE85720A-41F9-4EFF-A49E-2FA96A338AA8}{11}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{47CA764C-993B-4D7C-A207-EDF0E91F0C3D}{1}{B0}", | |
| 8 | "bytes": 43 | |
| 9 | } | |
| 10 | ] | |
| \ No newline at end of file |
corpus/m6/live-collaboration-cold-15/restart-agent.py created+35| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | """Run through the old agent's detached spawn endpoint in a disposable clone.""" | |
| 2 | import os | |
| 3 | import ctypes | |
| 4 | from ctypes import wintypes | |
| 5 | import subprocess | |
| 6 | import sys | |
| 7 | import time | |
| 8 | ||
| 9 | if len(sys.argv) != 2 or not sys.argv[1].startswith('ONE-M6-') or os.environ.get('COMPUTERNAME') != sys.argv[1]: | |
| 10 | raise SystemExit('The disposable clone hostname does not match.') | |
| 11 | parent = os.getppid() | |
| 12 | kernel = ctypes.WinDLL('kernel32', use_last_error=True) | |
| 13 | kernel.OpenProcess.argtypes = (wintypes.DWORD, wintypes.BOOL, wintypes.DWORD) | |
| 14 | kernel.OpenProcess.restype = wintypes.HANDLE | |
| 15 | kernel.TerminateProcess.argtypes = (wintypes.HANDLE, wintypes.UINT) | |
| 16 | kernel.TerminateProcess.restype = wintypes.BOOL | |
| 17 | kernel.WaitForSingleObject.argtypes = (wintypes.HANDLE, wintypes.DWORD) | |
| 18 | kernel.WaitForSingleObject.restype = wintypes.DWORD | |
| 19 | kernel.CloseHandle.argtypes = (wintypes.HANDLE,) | |
| 20 | kernel.CloseHandle.restype = wintypes.BOOL | |
| 21 | handle = kernel.OpenProcess(0x100001, False, parent) | |
| 22 | if not handle: | |
| 23 | raise ctypes.WinError(ctypes.get_last_error()) | |
| 24 | time.sleep(0.5) | |
| 25 | try: | |
| 26 | if not kernel.TerminateProcess(handle, 0): | |
| 27 | raise ctypes.WinError(ctypes.get_last_error()) | |
| 28 | if kernel.WaitForSingleObject(handle, 5000) != 0: | |
| 29 | raise RuntimeError('The old agent did not terminate.') | |
| 30 | finally: | |
| 31 | kernel.CloseHandle(handle) | |
| 32 | with open(r'C:\one-tests\agent-restart.log', 'ab') as log: | |
| 33 | subprocess.Popen([sys.executable, r'C:\win7-agent\agent.py'], stdin=subprocess.DEVNULL, | |
| 34 | stdout=log, stderr=log, close_fds=True, | |
| 35 | creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP) |
corpus/m6/live-collaboration-cold-15/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/live-collaboration-15/vm-restarted/notebook", | |
| 3 | "expected_pages": 1, | |
| 4 | "author": null, | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": true, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/live-collaboration-cold-15/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/live-collaboration-cold-15/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/live-collaboration-cold-15/source.json created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 4944, | |
| 5 | "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28", | |
| 6 | "mtime_ns": 1788674939460499909 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "synthetic.one", | |
| 10 | "bytes": 51312, | |
| 11 | "sha256": "4ded7eeabd8136e8b09809009bb699fac55fd95ab21b2f087461eac39eb11d22", | |
| 12 | "mtime_ns": 1788674939456770698 | |
| 13 | } | |
| 14 | ] |
corpus/m6/live-collaboration-cold-15/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-break-controls-02/ORACLE.md created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | # Native paragraph-break controls | |
| 2 | ||
| 3 | OneNote 2010 14.0.4763.1000 authored the 24 cases in `notebook/fixture.json` through the captured `scripts/author.ps1`; `read/` contains native XML and PDF exports. The clone was deleted (`teardown.json`). | |
| 4 | ||
| 5 | Twelve inputs appear both as styled plain text and as hyperlink labels. Literal line endings become stored carriage returns; a `<br>` followed by a newline also survives. Bare `<br>` elements without a following newline were discarded by this COM import. Native HTML export omits exactly one final carriage return while preserving preceding breaks. Hyperlink fields exclude the breaks. `comparison.json` records each stored/native observation. | |
| 6 | ||
| 7 | The Rust test asserts the stored text and associated link boundaries. The independent Python oracle checks that removing another break causes a failure. This is evidence for the observed COM import/export behavior, not permission to trim arbitrary whitespace. |
corpus/m6/native-break-controls-02/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-break-controls-02/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-E1CF835F", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-E1CF835F -ExpectedPages 2 -UseCurrentCache -Pdf", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-break-controls-02/comparison.json created+334| ... | ... | @@ -0,0 +1,334 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "case": 0, | |
| 4 | "stored": "A", | |
| 5 | "native": "A", | |
| 6 | "runs": [ | |
| 7 | [ | |
| 8 | "A", | |
| 9 | false | |
| 10 | ] | |
| 11 | ] | |
| 12 | }, | |
| 13 | { | |
| 14 | "case": 1, | |
| 15 | "stored": "A\r", | |
| 16 | "native": "A", | |
| 17 | "runs": [ | |
| 18 | [ | |
| 19 | "A\r", | |
| 20 | false | |
| 21 | ] | |
| 22 | ] | |
| 23 | }, | |
| 24 | { | |
| 25 | "case": 2, | |
| 26 | "stored": "A\r\r", | |
| 27 | "native": "A\n", | |
| 28 | "runs": [ | |
| 29 | [ | |
| 30 | "A\r\r", | |
| 31 | false | |
| 32 | ] | |
| 33 | ] | |
| 34 | }, | |
| 35 | { | |
| 36 | "case": 3, | |
| 37 | "stored": "\rA", | |
| 38 | "native": "\nA", | |
| 39 | "runs": [ | |
| 40 | [ | |
| 41 | "\rA", | |
| 42 | false | |
| 43 | ] | |
| 44 | ] | |
| 45 | }, | |
| 46 | { | |
| 47 | "case": 4, | |
| 48 | "stored": "\rA\r", | |
| 49 | "native": "\nA", | |
| 50 | "runs": [ | |
| 51 | [ | |
| 52 | "\rA\r", | |
| 53 | false | |
| 54 | ] | |
| 55 | ] | |
| 56 | }, | |
| 57 | { | |
| 58 | "case": 5, | |
| 59 | "stored": "\r", | |
| 60 | "native": "", | |
| 61 | "runs": [ | |
| 62 | [ | |
| 63 | "\r", | |
| 64 | false | |
| 65 | ] | |
| 66 | ] | |
| 67 | }, | |
| 68 | { | |
| 69 | "case": 6, | |
| 70 | "stored": "\r\r", | |
| 71 | "native": "\n", | |
| 72 | "runs": [ | |
| 73 | [ | |
| 74 | "\r\r", | |
| 75 | false | |
| 76 | ] | |
| 77 | ] | |
| 78 | }, | |
| 79 | { | |
| 80 | "case": 7, | |
| 81 | "stored": "A\rB\r", | |
| 82 | "native": "A\nB", | |
| 83 | "runs": [ | |
| 84 | [ | |
| 85 | "A\rB\r", | |
| 86 | false | |
| 87 | ] | |
| 88 | ] | |
| 89 | }, | |
| 90 | { | |
| 91 | "case": 8, | |
| 92 | "stored": "A\rB\r", | |
| 93 | "native": "A\nB", | |
| 94 | "runs": [ | |
| 95 | [ | |
| 96 | "A\rB\r", | |
| 97 | false | |
| 98 | ] | |
| 99 | ] | |
| 100 | }, | |
| 101 | { | |
| 102 | "case": 9, | |
| 103 | "stored": "AB", | |
| 104 | "native": "AB", | |
| 105 | "runs": [ | |
| 106 | [ | |
| 107 | "AB", | |
| 108 | false | |
| 109 | ] | |
| 110 | ] | |
| 111 | }, | |
| 112 | { | |
| 113 | "case": 10, | |
| 114 | "stored": "A\rB\r", | |
| 115 | "native": "A\nB", | |
| 116 | "runs": [ | |
| 117 | [ | |
| 118 | "A\rB\r", | |
| 119 | false | |
| 120 | ] | |
| 121 | ] | |
| 122 | }, | |
| 123 | { | |
| 124 | "case": 11, | |
| 125 | "stored": "A\rB\r", | |
| 126 | "native": "A\nB", | |
| 127 | "runs": [ | |
| 128 | [ | |
| 129 | "A\rB\r", | |
| 130 | false | |
| 131 | ] | |
| 132 | ] | |
| 133 | }, | |
| 134 | { | |
| 135 | "case": 12, | |
| 136 | "stored": "A", | |
| 137 | "native": "A", | |
| 138 | "runs": [ | |
| 139 | [ | |
| 140 | "A", | |
| 141 | true | |
| 142 | ] | |
| 143 | ] | |
| 144 | }, | |
| 145 | { | |
| 146 | "case": 13, | |
| 147 | "stored": "A\r", | |
| 148 | "native": "A", | |
| 149 | "runs": [ | |
| 150 | [ | |
| 151 | "A", | |
| 152 | true | |
| 153 | ], | |
| 154 | [ | |
| 155 | "\r", | |
| 156 | false | |
| 157 | ] | |
| 158 | ] | |
| 159 | }, | |
| 160 | { | |
| 161 | "case": 14, | |
| 162 | "stored": "A\r\r", | |
| 163 | "native": "A\n", | |
| 164 | "runs": [ | |
| 165 | [ | |
| 166 | "A", | |
| 167 | true | |
| 168 | ], | |
| 169 | [ | |
| 170 | "\r\r", | |
| 171 | false | |
| 172 | ] | |
| 173 | ] | |
| 174 | }, | |
| 175 | { | |
| 176 | "case": 15, | |
| 177 | "stored": "\rA", | |
| 178 | "native": "\nA", | |
| 179 | "runs": [ | |
| 180 | [ | |
| 181 | "\r", | |
| 182 | false | |
| 183 | ], | |
| 184 | [ | |
| 185 | "A", | |
| 186 | true | |
| 187 | ] | |
| 188 | ] | |
| 189 | }, | |
| 190 | { | |
| 191 | "case": 16, | |
| 192 | "stored": "\rA\r", | |
| 193 | "native": "\nA", | |
| 194 | "runs": [ | |
| 195 | [ | |
| 196 | "\r", | |
| 197 | false | |
| 198 | ], | |
| 199 | [ | |
| 200 | "A", | |
| 201 | true | |
| 202 | ], | |
| 203 | [ | |
| 204 | "\r", | |
| 205 | false | |
| 206 | ] | |
| 207 | ] | |
| 208 | }, | |
| 209 | { | |
| 210 | "case": 17, | |
| 211 | "stored": "\r", | |
| 212 | "native": "", | |
| 213 | "runs": [ | |
| 214 | [ | |
| 215 | "\r", | |
| 216 | false | |
| 217 | ] | |
| 218 | ] | |
| 219 | }, | |
| 220 | { | |
| 221 | "case": 18, | |
| 222 | "stored": "\r\r", | |
| 223 | "native": "\n", | |
| 224 | "runs": [ | |
| 225 | [ | |
| 226 | "\r\r", | |
| 227 | false | |
| 228 | ] | |
| 229 | ] | |
| 230 | }, | |
| 231 | { | |
| 232 | "case": 19, | |
| 233 | "stored": "A\rB\r", | |
| 234 | "native": "A\nB", | |
| 235 | "runs": [ | |
| 236 | [ | |
| 237 | "A", | |
| 238 | true | |
| 239 | ], | |
| 240 | [ | |
| 241 | "\r", | |
| 242 | false | |
| 243 | ], | |
| 244 | [ | |
| 245 | "B", | |
| 246 | true | |
| 247 | ], | |
| 248 | [ | |
| 249 | "\r", | |
| 250 | false | |
| 251 | ] | |
| 252 | ] | |
| 253 | }, | |
| 254 | { | |
| 255 | "case": 20, | |
| 256 | "stored": "A\rB\r", | |
| 257 | "native": "A\nB", | |
| 258 | "runs": [ | |
| 259 | [ | |
| 260 | "A", | |
| 261 | true | |
| 262 | ], | |
| 263 | [ | |
| 264 | "\r", | |
| 265 | false | |
| 266 | ], | |
| 267 | [ | |
| 268 | "B", | |
| 269 | true | |
| 270 | ], | |
| 271 | [ | |
| 272 | "\r", | |
| 273 | false | |
| 274 | ] | |
| 275 | ] | |
| 276 | }, | |
| 277 | { | |
| 278 | "case": 21, | |
| 279 | "stored": "AB", | |
| 280 | "native": "AB", | |
| 281 | "runs": [ | |
| 282 | [ | |
| 283 | "AB", | |
| 284 | true | |
| 285 | ] | |
| 286 | ] | |
| 287 | }, | |
| 288 | { | |
| 289 | "case": 22, | |
| 290 | "stored": "A\rB\r", | |
| 291 | "native": "A\nB", | |
| 292 | "runs": [ | |
| 293 | [ | |
| 294 | "A", | |
| 295 | true | |
| 296 | ], | |
| 297 | [ | |
| 298 | "\r", | |
| 299 | false | |
| 300 | ], | |
| 301 | [ | |
| 302 | "B", | |
| 303 | true | |
| 304 | ], | |
| 305 | [ | |
| 306 | "\r", | |
| 307 | false | |
| 308 | ] | |
| 309 | ] | |
| 310 | }, | |
| 311 | { | |
| 312 | "case": 23, | |
| 313 | "stored": "A\rB\r", | |
| 314 | "native": "A\nB", | |
| 315 | "runs": [ | |
| 316 | [ | |
| 317 | "A", | |
| 318 | true | |
| 319 | ], | |
| 320 | [ | |
| 321 | "\r", | |
| 322 | false | |
| 323 | ], | |
| 324 | [ | |
| 325 | "B", | |
| 326 | true | |
| 327 | ], | |
| 328 | [ | |
| 329 | "\r", | |
| 330 | false | |
| 331 | ] | |
| 332 | ] | |
| 333 | } | |
| 334 | ] | |
| \ No newline at end of file |
corpus/m6/native-break-controls-02/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-break-controls-02/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-break-controls-02/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-E1CF835F", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-break-controls-02/inputs/page-000.xml created+35| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0D943231-BF59-4A9E-98CB-2F7946603AA8}{1}{B0}"><one:Title><one:OE><one:T>Styled break controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="600" /><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 2 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 3 | ||
| 4 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold"> | |
| 5 | A</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold"> | |
| 6 | A | |
| 7 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold"> | |
| 8 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold"> | |
| 9 | ||
| 10 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 11 | B | |
| 12 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A<br> | |
| 13 | B<br> | |
| 14 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A<br><br>B</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 15 | B | |
| 16 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 17 | B | |
| 18 | </span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/0"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/1"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 19 | </span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/2"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 20 | ||
| 21 | </span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/3"><span style="font-family:Calibri;font-size:14pt;font-weight:bold"> | |
| 22 | A</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/4"><span style="font-family:Calibri;font-size:14pt;font-weight:bold"> | |
| 23 | A | |
| 24 | </span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/5"><span style="font-family:Calibri;font-size:14pt;font-weight:bold"> | |
| 25 | </span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/6"><span style="font-family:Calibri;font-size:14pt;font-weight:bold"> | |
| 26 | ||
| 27 | </span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/7"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 28 | B | |
| 29 | </span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/8"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A<br> | |
| 30 | B<br> | |
| 31 | </span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/9"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A<br><br>B</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/10"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 32 | B | |
| 33 | </span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href="https://example.invalid/break/11"><span style="font-family:Calibri;font-size:14pt;font-weight:bold">A | |
| 34 | B | |
| 35 | </span></a>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-break-controls-02/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-e1cf835f", "hostname": "ONE-M6-E1CF835F"} |
corpus/m6/native-break-controls-02/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-break-controls-02/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-break-controls-02/notebook/fixture.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"sections": ["synthetic.one"], "pages": [{"section": "synthetic.one", "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\"><one:Title><one:OE><one:T>Styled break controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"600\"/><one:OEChildren><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\n\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\nA</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\nA\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\n\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\nB\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A<br>\nB<br>\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A<br><br>B</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\rB\r</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\r\nB\r\n</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/0\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/1\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/2\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\n\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/3\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\nA</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/4\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\nA\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/5\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/6\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">\n\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/7\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\nB\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/8\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A<br>\nB<br>\n</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/9\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A<br><br>B</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/10\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\rB\r</span></a>]]></one:T></one:OE><one:OE><one:T><![CDATA[<a href=\"https://example.invalid/break/11\"><span style=\"font-family:Calibri;font-size:14pt;font-weight:bold\">A\r\nB\r\n</span></a>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>"}], "cases": ["A", "A\n", "A\n\n", "\nA", "\nA\n", "\n", "\n\n", "A\nB\n", "A<br>\nB<br>\n", "A<br><br>B", "A\rB\r", "A\r\nB\r\n"]} | |
| \ No newline at end of file |
corpus/m6/native-break-controls-02/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-break-controls-02/notebook/synthetic.one differ |
corpus/m6/native-break-controls-02/pdf-format-checks.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-break-controls-02/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-E1CF835F", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-break-controls-02/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{DB3D4B97-BEAF-4F97-86BE-C6081762FF68}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T03:06:17.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{15FAB2C4-D17A-0351-21FC-EBE51FFC157C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T03:06:17.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{7A74AFF6-D367-00A1-05A1-CBAFE1725CF5}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T03:06:17.000Z" pageLevel="1"/><one:Page ID="{C4D53463-F8C2-44C9-9380-F3E22325E8A0}{1}{B0}" name="Styled break controls" dateTime="2026-09-06T03:05:48.000Z" lastModifiedTime="2026-09-06T03:06:11.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook> |
corpus/m6/native-break-controls-02/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-break-controls-02/read/page-000.pdf differ |
corpus/m6/native-break-controls-02/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7A74AFF6-D367-00A1-05A1-CBAFE1725CF5}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T03:06:11.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{15FAB2C4-D17A-0351-21FC-EBE51FFC157C}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{15FAB2C4-D17A-0351-21FC-EBE51FFC157C}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-break-controls-02/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-break-controls-02/read/page-001.pdf differ |
corpus/m6/native-break-controls-02/read/page-001.xml created+52| ... | ... | @@ -0,0 +1,52 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C4D53463-F8C2-44C9-9380-F3E22325E8A0}{1}{B0}" name="Styled break controls" dateTime="2026-09-06T03:05:48.000Z" lastModifiedTime="2026-09-06T03:06:11.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Styled break controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="683.5936279296874"/><one:OEChildren><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold'>A</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 4 | style='font-weight:bold'>A</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{51}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 5 | style='font-weight:bold'>A<br> | |
| 6 | </span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{56}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 7 | style='font-weight:bold'><br> | |
| 8 | A</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{61}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 9 | style='font-weight:bold'><br> | |
| 10 | A</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{66}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{71}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 11 | style='font-weight:bold'><br> | |
| 12 | </span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{76}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 13 | style='font-weight:bold'>A<br> | |
| 14 | B</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{81}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 15 | style='font-weight:bold'>A<br> | |
| 16 | B</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{86}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 17 | style='font-weight:bold'>AB</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{91}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 18 | style='font-weight:bold'>A<br> | |
| 19 | B</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{96}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 20 | style='font-weight:bold'>A<br> | |
| 21 | B</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:50.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{101}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a | |
| 22 | href="https://example.invalid/break/0"><span style='font-weight:bold; | |
| 23 | font-size:14.0pt'>A</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{108}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a | |
| 24 | href="https://example.invalid/break/1"><span style='font-weight:bold'>A</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{114}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a | |
| 25 | href="https://example.invalid/break/2"><span style='font-weight:bold'>A</span></a><span | |
| 26 | style='font-weight:bold'><br> | |
| 27 | </span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{119}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 28 | style='font-weight:bold'><br> | |
| 29 | </span><a href="https://example.invalid/break/3"><span | |
| 30 | style='font-weight:bold'>A</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{124}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 31 | style='font-weight:bold'><br> | |
| 32 | </span><a href="https://example.invalid/break/4"><span | |
| 33 | style='font-weight:bold'>A</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{129}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{134}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 34 | style='font-weight:bold'><br> | |
| 35 | </span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{139}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a | |
| 36 | href="https://example.invalid/break/7"><span style='font-weight:bold'>A</span></a><span | |
| 37 | style='font-weight:bold'><br> | |
| 38 | </span><a href="https://example.invalid/break/7"><span | |
| 39 | style='font-weight:bold'>B</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{144}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a | |
| 40 | href="https://example.invalid/break/8"><span style='font-weight:bold'>A</span></a><span | |
| 41 | style='font-weight:bold'><br> | |
| 42 | </span><a href="https://example.invalid/break/8"><span | |
| 43 | style='font-weight:bold'>B</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{149}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a | |
| 44 | href="https://example.invalid/break/9"><span style='font-weight:bold'>AB</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{154}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a | |
| 45 | href="https://example.invalid/break/10"><span style='font-weight:bold'>A</span></a><span | |
| 46 | style='font-weight:bold'><br> | |
| 47 | </span><a href="https://example.invalid/break/10"><span | |
| 48 | style='font-weight:bold'>B</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:05:51.000Z" lastModifiedTime="2026-09-06T03:05:51.000Z" objectID="{4D78F0B5-C038-4028-834D-00C583C6B1D3}{159}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a | |
| 49 | href="https://example.invalid/break/11"><span style='font-weight:bold'>A</span></a><span | |
| 50 | style='font-weight:bold'><br> | |
| 51 | </span><a href="https://example.invalid/break/11"><span | |
| 52 | style='font-weight:bold'>B</span></a>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-break-controls-02/read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/native-break-controls-02/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/break-controls-input-02/notebook", | |
| 3 | "expected_pages": 2, | |
| 4 | "author": "tools/native/pages.ps1", | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "base": { | |
| 7 | "file": "win7-office-base.qcow2", | |
| 8 | "format": "qcow2", | |
| 9 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 10 | "virtual_size": 68719476736 | |
| 11 | }, | |
| 12 | "scripts": { | |
| 13 | "author.ps1": "dfbf0e016aa4c8486ecea9f39768c633de05ac0db8214139052ca2e9c43bbd02", | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "fc7199ff4e01a5d18dbc6d472130006ef6f195a8f944daa33eaf6de2ac896553" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-break-controls-02/scripts/author.ps1 created+42| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $fixture = Get-Content (Join-Path $Root 'notebook\fixture.json') -Raw -Encoding UTF8 | ConvertFrom-Json | |
| 6 | $inputs = Join-Path $Root 'inputs' | |
| 7 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 8 | $app = New-Object -ComObject OneNote.Application | |
| 9 | $notebookId = '' | |
| 10 | try { | |
| 11 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 12 | $sections = @{} | |
| 13 | foreach ($path in $fixture.sections) { | |
| 14 | $parts = $path.Split('/') | |
| 15 | if (@($parts | Where-Object { $_ -in @('', '.', '..') -or $_.Contains('\') -or $_.Contains(':') }).Count) { throw 'Invalid fixture section path.' } | |
| 16 | $parent = $notebookId | |
| 17 | for ($index = 0; $index -lt $parts.Count; $index++) { | |
| 18 | $id = '' | |
| 19 | $app.OpenHierarchy($parts[$index], $parent, [ref]$id, $(if ($index -eq $parts.Count - 1) {3} else {2})) | |
| 20 | $parent = $id | |
| 21 | } | |
| 22 | $sections[$path] = $id | |
| 23 | } | |
| 24 | $index = 0 | |
| 25 | foreach ($item in $fixture.pages) { | |
| 26 | $pageId = '' | |
| 27 | $app.CreateNewPage($sections[$item.section], [ref]$pageId, 0) | |
| 28 | [xml]$xml = $item.xml.Replace('__ASSETS__', [Security.SecurityElement]::Escape((Join-Path $Root 'notebook\fixture-data'))) | |
| 29 | $xml.DocumentElement.SetAttribute('ID', $pageId) | |
| 30 | [IO.File]::WriteAllText((Join-Path $inputs ('page-{0:d3}.xml' -f $index)), $xml.OuterXml, [Text.Encoding]::UTF8) | |
| 31 | $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true) | |
| 32 | $index++ | |
| 33 | } | |
| 34 | $app.SyncHierarchy($notebookId) | |
| 35 | $app.CloseNotebook($notebookId, $false) | |
| 36 | $notebookId = '' | |
| 37 | } finally { | |
| 38 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 39 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 40 | [GC]::Collect() | |
| 41 | [GC]::WaitForPendingFinalizers() | |
| 42 | } |
corpus/m6/native-break-controls-02/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-break-controls-02/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 3, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-break-controls-02/source.json created+20| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 1612, | |
| 5 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86", | |
| 6 | "mtime_ns": 1788592288950419463 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "fixture.json", | |
| 10 | "bytes": 4085, | |
| 11 | "sha256": "1134db947e265760ce2b8878403b30a5b2331877deaf0d50dded514e27f21f06", | |
| 12 | "mtime_ns": 1788663856776054389 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "synthetic.one", | |
| 16 | "bytes": 3348, | |
| 17 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797", | |
| 18 | "mtime_ns": 1788592288941514581 | |
| 19 | } | |
| 20 | ] |
corpus/m6/native-break-controls-02/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-empty-link-01/ORACLE.md created+5| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | # Empty hyperlink after a reduced native edit history | |
| 2 | ||
| 3 | This is attempt 37 of `evidence/m6/history-shrink-21`: an independently replayed seed-21 history reduced from 20 operations to insertion, hyperlink assignment, and replacement by empty text. `notebook/histories.json` contains the three operations; native XML retains an empty paragraph with its default quick style. Visible characters have neither hyperlink nor character formatting to compare. | |
| 4 | ||
| 5 | The frozen original comparator reported a hyperlink mismatch. Its saved comparison and all 37 teardown records remain in the shrink campaign. The corrected comparator passes this capture; `history-differences.json` is empty. The clone was deleted (`teardown.json`). |
corpus/m6/native-empty-link-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-empty-link-01/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-A29B65F7", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-A29B65F7 -ExpectedPages 2 -UseCurrentCache", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-empty-link-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-A29B65F7", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-empty-link-01/history-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-empty-link-01/inputs/000021-00.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000021</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-empty-link-01/inputs/000021-01.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000021</one:T></one:OE></one:Title><one:Outline objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-empty-link-01/inputs/000021-02.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000021</one:T></one:OE></one:Title><one:Outline objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{116}{B0}"><one:T><![CDATA[<a href="https://example.invalid/21/4?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span></a>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-empty-link-01/inputs/000021-03.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000021</one:T></one:OE></one:Title><one:Outline objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{116}{B0}"><one:T><![CDATA[<a href="https://example.invalid/21/4?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00"></span></a>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{9258C4D4-F535-4B59-9F13-4CB5482DD286}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-empty-link-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-a29b65f7", "hostname": "ONE-M6-A29B65F7"} |
corpus/m6/native-empty-link-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-empty-link-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-empty-link-01/notebook/histories.json created+103| ... | ... | @@ -0,0 +1,103 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "seed": 21, | |
| 4 | "title": "History 000021", | |
| 5 | "initial": { | |
| 6 | "paragraphs": [ | |
| 7 | { | |
| 8 | "id": "p0", | |
| 9 | "text": "Initial 0", | |
| 10 | "bold": false, | |
| 11 | "italic": false, | |
| 12 | "underline": false, | |
| 13 | "strike": false, | |
| 14 | "color": "#000000", | |
| 15 | "highlight": "#ffff00", | |
| 16 | "font_size": 11, | |
| 17 | "link": "", | |
| 18 | "tag": false | |
| 19 | }, | |
| 20 | { | |
| 21 | "id": "p1", | |
| 22 | "text": "Initial 1", | |
| 23 | "bold": false, | |
| 24 | "italic": false, | |
| 25 | "underline": false, | |
| 26 | "strike": false, | |
| 27 | "color": "#000000", | |
| 28 | "highlight": "#ffff00", | |
| 29 | "font_size": 11, | |
| 30 | "link": "", | |
| 31 | "tag": false | |
| 32 | }, | |
| 33 | { | |
| 34 | "id": "p2", | |
| 35 | "text": "Initial 2", | |
| 36 | "bold": false, | |
| 37 | "italic": false, | |
| 38 | "underline": false, | |
| 39 | "strike": false, | |
| 40 | "color": "#000000", | |
| 41 | "highlight": "#ffff00", | |
| 42 | "font_size": 11, | |
| 43 | "link": "", | |
| 44 | "tag": false | |
| 45 | }, | |
| 46 | { | |
| 47 | "id": "p3", | |
| 48 | "text": "Initial 3", | |
| 49 | "bold": false, | |
| 50 | "italic": false, | |
| 51 | "underline": false, | |
| 52 | "strike": false, | |
| 53 | "color": "#000000", | |
| 54 | "highlight": "#ffff00", | |
| 55 | "font_size": 11, | |
| 56 | "link": "", | |
| 57 | "tag": false | |
| 58 | } | |
| 59 | ], | |
| 60 | "table": [ | |
| 61 | [ | |
| 62 | "Cell 0,0", | |
| 63 | "Cell 0,1" | |
| 64 | ], | |
| 65 | [ | |
| 66 | "Cell 1,0", | |
| 67 | "Cell 1,1" | |
| 68 | ] | |
| 69 | ], | |
| 70 | "x": 72, | |
| 71 | "y": 108 | |
| 72 | }, | |
| 73 | "operations": [ | |
| 74 | { | |
| 75 | "kind": "insert", | |
| 76 | "index": 1, | |
| 77 | "paragraph": { | |
| 78 | "id": "new2", | |
| 79 | "text": "literal <b> & \"quotes\"", | |
| 80 | "bold": false, | |
| 81 | "italic": false, | |
| 82 | "underline": false, | |
| 83 | "strike": false, | |
| 84 | "color": "#000000", | |
| 85 | "highlight": "#ffff00", | |
| 86 | "font_size": 11, | |
| 87 | "link": "", | |
| 88 | "tag": false | |
| 89 | } | |
| 90 | }, | |
| 91 | { | |
| 92 | "kind": "link", | |
| 93 | "index": 1, | |
| 94 | "value": "https://example.invalid/21/4?a=1&b=2" | |
| 95 | }, | |
| 96 | { | |
| 97 | "kind": "text", | |
| 98 | "index": 1, | |
| 99 | "value": "" | |
| 100 | } | |
| 101 | ] | |
| 102 | } | |
| 103 | ] | |
| \ No newline at end of file |
corpus/m6/native-empty-link-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-empty-link-01/notebook/synthetic.one differ |
corpus/m6/native-empty-link-01/operations.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"step":-1,"seed":21,"page":"{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}","outline":"{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"} | |
| 2 | {"step":0,"seed":21,"page":"{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}","outline":"{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"} | |
| 3 | {"step":1,"seed":21,"page":"{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}","outline":"{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"} | |
| 4 | {"step":2,"seed":21,"page":"{EE3F2786-ED24-4AEA-A83B-AD8BBD52F259}{1}{B0}","outline":"{9258C4D4-F535-4B59-9F13-4CB5482DD286}{39}{B0}"} |
corpus/m6/native-empty-link-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-A29B65F7", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-empty-link-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{0147F156-D908-4214-A102-C9640B71AEA5}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T03:49:10.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{60B47486-EC2F-04DB-1D5B-BD758B0E4B98}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T03:49:10.000Z" color="#8AA8E4"><one:Page ID="{0F3A69B4-EE32-072B-3906-9D3F75800211}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T03:49:10.000Z" pageLevel="1"/><one:Page ID="{B7BFC046-0E4B-460C-B12E-01FFB854248C}{1}{B0}" name="History 000021" dateTime="2026-09-06T03:48:48.000Z" lastModifiedTime="2026-09-06T03:49:10.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/m6/native-empty-link-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0F3A69B4-EE32-072B-3906-9D3F75800211}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T03:49:10.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{60B47486-EC2F-04DB-1D5B-BD758B0E4B98}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{60B47486-EC2F-04DB-1D5B-BD758B0E4B98}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-empty-link-01/read/page-001.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B7BFC046-0E4B-460C-B12E-01FFB854248C}{1}{B0}" name="History 000021" dateTime="2026-09-06T03:48:48.000Z" lastModifiedTime="2026-09-06T03:49:10.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{247}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[History 000021]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="368.1299438476562" height="107.494010925293"/><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 3 | style='background:yellow;mso-highlight:yellow'>Initial 0</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{116}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 4 | style='background:yellow;mso-highlight:yellow'>Initial 1</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{51}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 5 | style='background:yellow;mso-highlight:yellow'>Initial 2</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{CBD82314-165A-47BF-8606-E0C14D2B0453}{56}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 6 | style='background:yellow;mso-highlight:yellow'>Initial 3</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{32}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{33}{B0}"><one:Columns><one:Column index="0" width="180.0" isLocked="true"/><one:Column index="1" width="180.0" isLocked="true"/></one:Columns><one:Row objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{34}{B0}" lastModifiedTime="2026-09-06T03:48:55.000Z"><one:Cell lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{35}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{38}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{43}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{51}{B0}" lastModifiedTime="2026-09-06T03:48:55.000Z"><one:Cell lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{55}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{52}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T03:48:55.000Z" lastModifiedTime="2026-09-06T03:48:55.000Z" objectID="{9FB1FEEB-666C-4A2D-8392-DFC2774654CF}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-empty-link-01/read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/native-empty-link-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/history-shrink-21/attempt-037/input", | |
| 3 | "expected_pages": 2, | |
| 4 | "author": "/Users/clo/dev/one/tools/native/history.ps1", | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "base": { | |
| 7 | "file": "win7-office-base.qcow2", | |
| 8 | "format": "qcow2", | |
| 9 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 10 | "virtual_size": 68719476736 | |
| 11 | }, | |
| 12 | "scripts": { | |
| 13 | "author.ps1": "397acf4be501afc3c5cd8d64e84f0cf2a828314fb98a1d394ccdf2fe95b870c8", | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-empty-link-01/scripts/author.ps1 created+83| ... | ... | @@ -0,0 +1,83 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $histories = Get-Content (Join-Path $Root 'notebook\histories.json') -Raw -Encoding UTF8 | ConvertFrom-Json | |
| 6 | $inputs = Join-Path $Root 'inputs' | |
| 7 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 8 | $app = New-Object -ComObject OneNote.Application | |
| 9 | $notebookId = '' | |
| 10 | $namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 11 | try { | |
| 12 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 13 | $sectionId = '' | |
| 14 | $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0) | |
| 15 | foreach ($history in $histories) { | |
| 16 | $pageId = '' | |
| 17 | $app.CreateNewPage($sectionId, [ref]$pageId, 0) | |
| 18 | $state = $history.initial | |
| 19 | $paragraphs = New-Object Collections.ArrayList | |
| 20 | foreach ($paragraph in $state.paragraphs) { [void]$paragraphs.Add($paragraph) } | |
| 21 | $ids = @{} | |
| 22 | $outlineId = '' | |
| 23 | for ($step = -1; $step -lt $history.operations.Count; $step++) { | |
| 24 | if ($step -ge 0) { | |
| 25 | $op = $history.operations[$step] | |
| 26 | switch ($op.kind) { | |
| 27 | 'insert' { $paragraphs.Insert($op.index, $op.paragraph) } | |
| 28 | 'delete' { $paragraphs.RemoveAt($op.index) } | |
| 29 | 'move' { $paragraph = $paragraphs[$op.index]; $paragraphs.RemoveAt($op.index); $paragraphs.Insert($op.to, $paragraph) } | |
| 30 | 'position' { $state.x = $op.x; $state.y = $op.y } | |
| 31 | 'cell' { $state.table[$op.row][$op.column] = $op.text } | |
| 32 | default { $property = $op.kind; $paragraphs[$op.index].$property = $op.value } | |
| 33 | } | |
| 34 | } | |
| 35 | $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>' + $history.title + '</one:T></one:OE></one:Title><one:Outline' | |
| 36 | if ($outlineId) { $xml += ' objectID="' + $outlineId + '"' } | |
| 37 | $xml += '><one:Position x="' + $state.x + '" y="' + $state.y + '"/><one:Size width="480" height="100"/><one:OEChildren>' | |
| 38 | foreach ($paragraph in $paragraphs) { | |
| 39 | $xml += '<one:OE' | |
| 40 | if ($ids.ContainsKey($paragraph.id)) { $xml += ' objectID="' + $ids[$paragraph.id] + '"' } | |
| 41 | $xml += '>' | |
| 42 | if ($paragraph.tag) { $xml += '<one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/>' } | |
| 43 | $decoration = @() | |
| 44 | if ($paragraph.underline) { $decoration += 'underline' } | |
| 45 | if ($paragraph.strike) { $decoration += 'line-through' } | |
| 46 | if ($decoration.Count -eq 0) { $decoration = @('none') } | |
| 47 | $style = 'font-family:Calibri;font-size:' + $paragraph.font_size + 'pt;font-weight:' + $(if ($paragraph.bold) {'bold'} else {'normal'}) + ';font-style:' + $(if ($paragraph.italic) {'italic'} else {'normal'}) + ';text-decoration:' + ($decoration -join ' ') + ';color:' + $paragraph.color + ';background:' + $paragraph.highlight | |
| 48 | $html = '<span style="' + $style + '">' + [Security.SecurityElement]::Escape($paragraph.text) + '</span>' | |
| 49 | if ($paragraph.link) { $html = '<a href="' + [Security.SecurityElement]::Escape($paragraph.link) + '">' + $html + '</a>' } | |
| 50 | $xml += '<one:T><![CDATA[' + $html + ']]></one:T></one:OE>' | |
| 51 | } | |
| 52 | $xml += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns>' | |
| 53 | foreach ($row in $state.table) { | |
| 54 | $xml += '<one:Row>' | |
| 55 | foreach ($cell in $row) { $xml += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[' + [Security.SecurityElement]::Escape($cell) + ']]></one:T></one:OE></one:OEChildren></one:Cell>' } | |
| 56 | $xml += '</one:Row>' | |
| 57 | } | |
| 58 | $xml += '</one:Table></one:OE></one:OEChildren></one:Outline></one:Page>' | |
| 59 | [IO.File]::WriteAllText((Join-Path $inputs ('{0:d6}-{1:d2}.xml' -f $history.seed, ($step + 1))), $xml, [Text.Encoding]::UTF8) | |
| 60 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true) | |
| 61 | $content = '' | |
| 62 | $app.GetPageContent($pageId, [ref]$content, 3, 1) | |
| 63 | [xml]$document = $content | |
| 64 | $manager = New-Object Xml.XmlNamespaceManager($document.NameTable) | |
| 65 | $manager.AddNamespace('one', $namespace) | |
| 66 | $outline = $document.SelectSingleNode('/one:Page/one:Outline', $manager) | |
| 67 | $outlineId = $outline.GetAttribute('objectID') | |
| 68 | $objects = @($outline.SelectNodes('one:OEChildren/one:OE[one:T]', $manager)) | |
| 69 | if ($objects.Count -ne $paragraphs.Count) { throw "Native paragraph count changed at seed $($history.seed), step $step." } | |
| 70 | for ($index = 0; $index -lt $paragraphs.Count; $index++) { $ids[$paragraphs[$index].id] = $objects[$index].GetAttribute('objectID') } | |
| 71 | $log = @{ seed = $history.seed; step = $step; page = $pageId; outline = $outlineId } | ConvertTo-Json -Compress | |
| 72 | [IO.File]::AppendAllText((Join-Path $Root 'operations.jsonl'), $log + [Environment]::NewLine, [Text.Encoding]::UTF8) | |
| 73 | } | |
| 74 | } | |
| 75 | $app.SyncHierarchy($notebookId) | |
| 76 | $app.CloseNotebook($notebookId, $false) | |
| 77 | $notebookId = '' | |
| 78 | } finally { | |
| 79 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 80 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 81 | [GC]::Collect() | |
| 82 | [GC]::WaitForPendingFinalizers() | |
| 83 | } |
corpus/m6/native-empty-link-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-empty-link-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-empty-link-01/source.json created+20| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 1612, | |
| 5 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86", | |
| 6 | "mtime_ns": 1788592288950419463 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "histories.json", | |
| 10 | "bytes": 2205, | |
| 11 | "sha256": "dc7284d1d419a529f16898ace54434486dedda3e7cd1cdc035e90d6c51a69a76", | |
| 12 | "mtime_ns": 1788666437865233873 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "synthetic.one", | |
| 16 | "bytes": 3348, | |
| 17 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797", | |
| 18 | "mtime_ns": 1788592288941514581 | |
| 19 | } | |
| 20 | ] |
corpus/m6/native-empty-link-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-expanded-control-ui-01/ORACLE.md created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | # Native paragraph expansion control | |
| 2 | ||
| 3 | The input is `../native-features-01/notebook`. A fresh OneNote 14.0.4763.1000 | |
| 4 | clone opened it, and the paragraph handle was double-clicked as recorded in | |
| 5 | `ui-operation.json`. `expanded.png` shows both descendants visible. | |
| 6 | ||
| 7 | The selected paragraph reports `collapsed="1"` in `before-read` XML and omits | |
| 8 | that attribute in `read` XML. Both captures retain the child and grandchild. | |
| 9 | The copied `Features.one` is byte-identical to the input. Native PDF publication | |
| 10 | still hides the descendants in both captures, despite the expanded desktop view. | |
| 11 | Thus transient native view state and the PDF rendering are distinct oracles. | |
| 12 | `tools/test_document_oracle.py` locks in these observations. | |
| 13 | ||
| 14 | A preceding COM experiment accepted `collapsed="false"` in UpdatePageContent | |
| 15 | without changing the returned collapse state. Its failure evidence remains in | |
| 16 | `evidence/m6/native-expanded-control-03`; it is not an expansion control. |
corpus/m6/native-expanded-control-ui-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-expanded-control-ui-01/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ |
corpus/m6/native-expanded-control-ui-01/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ |
corpus/m6/native-expanded-control-ui-01/before-read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-DB65123D", | |
| 5 | "cold": true, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-expanded-control-ui-01/before-read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4BF16F46-C46E-4B44-8A4C-F7501E2BD91C}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:00:21.000Z" color="#8AA8E4"><one:Page ID="{8D84E5D0-1791-0BC9-15B4-071F22553597}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/></one:Section><one:Section name="Features" ID="{24C923D7-8942-0504-0B50-AD30C0CEDB03}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Features.one" lastModifiedTime="2026-09-06T06:00:22.000Z" color="#91BAAE"><one:Page ID="{270215AB-0A1A-01FE-144C-7AB0BD678F13}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{45CD2B75-3511-0E18-1ED1-A4F292E98BC8}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{ECFFF87F-0CB5-003C-3076-4C1C6F935479}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{43868DDB-8EC8-0AFB-0F81-A01966A6BDCA}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{8A48861A-496F-05FB-36BA-710F3EF7D51E}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{8E838762-DE34-0E40-1EE3-4325D5F46BAB}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{59B2724D-8424-0624-39D2-34278D058FD8}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{CE4DF6C2-E2BE-0A5F-3CE2-EF28102ADAEC}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{9C66A2F4-9062-052D-2916-5D209A0B1FD3}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{F40778E5-4A16-0CC5-06BF-5A46F1FF9CA8}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{0C38A86A-33B4-0534-16DA-9FFD9AF41EBE}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/></one:Section><one:Section name="Empty" ID="{F53553BB-CE15-0E8C-0162-AE67A5DC3DD8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Empty.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#9BBBD2"/><one:SectionGroup name="fixture-data" ID="{1219496D-4161-403C-BDA7-CA7387C61F4B}{1}{B0}" path="C:\one-tests\runs\capture\notebook\fixture-data" lastModifiedTime="2026-09-06T06:00:50.000Z"/><one:SectionGroup name="Group A" ID="{E031C0DA-4BB2-4566-85BD-693EC68DCDD1}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A" lastModifiedTime="2026-09-06T06:00:23.000Z" isCurrentlyViewed="true"><one:Section name="Duplicate" ID="{3596E26B-D5D1-064E-258F-FFFB08050A84}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A\Duplicate.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#F6B078" isCurrentlyViewed="true"><one:Page ID="{FAF3951F-EA54-0DDA-2D09-FE9DEFE4F065}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{0DB8AF78-686C-0C01-3D52-A89559FC5885}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2"/><one:Page ID="{35E4289B-AD1E-043C-0470-E53BC236A7A8}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3"/></one:Section></one:SectionGroup><one:SectionGroup name="Group B" ID="{08640112-567F-4B02-89D6-B5A950FBD58C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B" lastModifiedTime="2026-09-06T06:00:23.000Z"><one:SectionGroup name="Nested" ID="{768598DE-CCF9-4ABC-AD34-CF30125DDE09}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested" lastModifiedTime="2026-09-06T06:00:23.000Z"><one:Section name="Duplicate" ID="{072C7CCD-900E-082F-1F1A-1EDE846B79A8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested\Duplicate.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#D5A4BB"><one:Page ID="{EEC0EBD1-BCA4-04CF-1581-C1F540980D0E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1"/><one:Page ID="{94D4815F-8289-04F4-084F-3C20BF91CF04}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2"/><one:Page ID="{03B62394-C1B5-04AE-16E3-995530425C92}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3"/></one:Section></one:SectionGroup></one:SectionGroup></one:Notebook> |
corpus/m6/native-expanded-control-ui-01/before-read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-000.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{03B62394-C1B5-04AE-16E3-995530425C92}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-001.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-001.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0C38A86A-33B4-0534-16DA-9FFD9AF41EBE}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Task controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="151.0606994628906" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{40}{B0}" alignment="left" quickStyleIndex="0"><one:OutlookTask startDate="2020-01-02T00:00:00.000Z" dueDate="2020-01-03T00:00:00.000Z" guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[Disabled standalone task]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-002.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-002.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-002.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0DB8AF78-686C-0C01-3D52-A89559FC5885}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-003.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-003.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-003.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{270215AB-0A1A-01FE-144C-7AB0BD678F13}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{585CB0AA-F2AA-0518-3711-A679D519261E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image png]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/png" alt="Pattern png" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{585CB0AA-F2AA-0518-3711-A679D519261E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-004.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-004.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-004.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:MediaPlaylist><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaPlaylist><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Files and recording]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="136.6015625" height="139.427719116211"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{40}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\7d1ab415-649a-43bd-a863-bbef841467de.txt" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{44}{B0}" alignment="left"><one:MediaFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\5cdfe8bc-15a0-4ef8-9710-d05c8cbe5118.wav" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{48}{B0}" alignment="left" quickStyleIndex="0"><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T><![CDATA[Recording annotation]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-005.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-005.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-005.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{35E4289B-AD1E-043C-0470-E53BC236A7A8}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-006.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-006.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-006.xml created+300| ... | ... | @@ -0,0 +1,300 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{43868DDB-8EC8-0AFB-0F81-A01966A6BDCA}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:25:44.000Z" objectID="{00067BA4-A18C-06E4-35DF-AC2ABF791B0F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image tiff]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/tiff" alt="Pattern tiff" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{00067BA4-A18C-06E4-35DF-AC2ABF791B0F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx | |
| 3 | jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp | |
| 4 | TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1 | |
| 5 | AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av | |
| 6 | g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw | |
| 7 | BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq | |
| 8 | HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz | |
| 9 | V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5 | |
| 10 | vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf | |
| 11 | KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze | |
| 12 | 3SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc | |
| 13 | s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3 | |
| 14 | zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6 | |
| 15 | ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh | |
| 16 | 0isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S | |
| 17 | ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI | |
| 18 | U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA | |
| 19 | 2pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt | |
| 20 | oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9 | |
| 21 | Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV | |
| 22 | NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj | |
| 23 | NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk | |
| 24 | EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy | |
| 25 | j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8 | |
| 26 | zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm | |
| 27 | g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz | |
| 28 | V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0 | |
| 29 | dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf | |
| 30 | pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC | |
| 31 | IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ | |
| 32 | pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD | |
| 33 | 4n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7 | |
| 34 | n/orm0ofoP42SO3hUhk8aq+A+kJIZYqoLyXUPimVJaP2K6ivQCpbSX2tpg5AVI6GOqijvoGpXD31 | |
| 35 | rZHKQ6h8E1Vgob5DqUIr9b2dKsKoYgdV4qIO4VSpmzrspcoIqtxHVQSoI0EqGKKORqjKKFUVo6pX | |
| 36 | qGMJKrRKHV+jalJU7TpVt0GdyFDhTerkFlWfoxq2qcYd6lSBiuxSp/eophLVvE+1HFJnylT0iDp7 | |
| 37 | QrVWqLZTqv2cOlelYhfU+Suqo0Z1XlNdt9SFOhW/oy4+UN0NqueR6n2mLgEA7d9NtNYWWhuJ1t5K | |
| 38 | +087jUym/dRB6+ikUai0zi7az900Kp32Sw+tq5dGY9K6+2i/9tPobNpvA7SeQRqDS+vl0V4IaEwh | |
| 39 | 7aWI1iehsaS0fhntlYLGBmmvlbQBNY0D0QY1tDc6GhemvdXTeEYaH6EJTLR3FpoQpb230kR2mhij | |
| 40 | SRy0IRdNitOG3TSZlyYnaAofbSRAA4O00RBNGaGpojR1jDa2QoMStPFVmmaNpk3RdOu0iQ0anKFN | |
| 41 | btL0WzRDjmbcpk3t0JACbXqXZtqjmUs0yz5t5pCGlmmzRzTrCc1WodlPaXPnNKxKm7+gOa5ozhrN | |
| 42 | dU1buKXhddriHc39QPM0aN5H2tIzjQAAemsTva2F3k6i/6eVTm6n/0Smd3TQ/7mrTir95y46tZv+ | |
| 43 | C53e1UOn9dK7mfRf++j0fvpvbHrPAJ0xSO/l0l/w6EwB/aWQ3ieisyT0fin9lYzOVtBfg/QBJZ2j | |
| 44 | pg9C9DcaOldHfwvTeXo630gXIPR3JrrQQn+P0kVWuthOl2D0IQdd6qIP43SZmy730hUEfcRHBwP0 | |
| 45 | 0SBdGaKrInR1lD4Wo0Mr9PEEXbNK167RdSn6xDod3qBPZuj6Tbphi27M0ae26cgOfbpAN+3SzXt0 | |
| 46 | S4k+s09HD+mzZbr1iG47odsr9LlTOnZOn6/SHRd05xXdVaMvXNPxW/pine6+o3se6N4GfemRTjzT | |
| 47 | lwGA0dbEaG9h/IfEILcyfmpndJAZlA5GZyfjZyqD2sX4pZvRRWfQehjdvYxfmQx6H+O3fkYPm8EY | |
| 48 | YPQOMl5wGUwe46WA0SdksESMfgnjlZTBljFeKxgDIIOjZAyqGW8gBlfDeKtj8GAGX88QGBnvEIbQ | |
| 49 | xHhvYYhQhtjKkNgZQxhD6mAMuxgynCF3MxRexgjBAH2M0QBDGWSoQgx1hDEWZUAxxvgKQ5NgaFcZ | |
| 50 | ujXGRIoBrzMmNxj6DMOwyTBuMaZyDGSbMb3DMBUY5l2GZY8xU2Kg+4zZQ4a1zLAdMewnjLkKAztl | |
| 51 | zJ8zHFWG84LhumIs1Bj4NWPxluGuMzx3DO8DY6nBIB4Zy88MHwAw25uY/2lhkknMn1qZHe1MCpnZ | |
| 52 | 2cH8uZNJpTJ/6WJ2dTNpdGZ3D/PXXiadyfytj9nTz2Swmb0DzBeDTCaX+ZLH7BMwWUJmv4j5SsJk | |
| 53 | S5mvZcwBBZMDMgeVzDdqJhdivtUweTomH2YK9Mx3RqYQYb43MUUWphhlSqzMITtTijGHHUyZiynH | |
| 54 | mQo3c8TLBAnmqI+pDDBVQaY6xByLMKEoczzG1KwwtQmmbpU5scaEU8zJdaZ+g2nIMI2bzKktJpJj | |
| 55 | Tm8zTTtMc4Fp2WXO7DHREnN2n2k9ZNrKTPsRc+6EiVWY86dMxznTWWW6LpgLV0y8xly8ZrpvmZ46 | |
| 56 | 03vHXHpgEg3m8iPT98z0AwDrP00scgvrJxKro5VFaWd1klk/d7ConaxfqKyuLhatm9VNZ/3aw6L3 | |
| 57 | sn5jsnr6WIx+Vi+b9WKAxRxkveSy+ngsloDVL2S9ErHYEtZrKWtAxuIoWIMg642SxVWz3kIsnobF | |
| 58 | 17EEMOudniU0st4jLJGJJbawJChryMqS2lnDGEvmYMldLAXOGnGzQC9rlGApfSxVgKUOssZCLCjC | |
| 59 | Go+yNDGWdoWlS7AmVlnwGmsyxdKvswwbLGOGNbXJQrZY0zmWaZtl3mFZCqyZXRa6x5otsaz7LNsh | |
| 60 | y15mzR2xsBPWfIXlOGU5z1muKmvhgoVfsRZrLPc1y3PL8tZZS3cs4oG13GD5Hln+Z1YAANjkJvZP | |
| 61 | LewOEpvSyu5sZ/9MZlM72L90sruobFoXu7ub/Sv9n8hh/9bL7mGyGX3s3n72CzabOcB+Ocju47JZ | |
| 62 | PHa/gP1KyGaL2K8l7AEpmyNjDyrYb0A2V8l+q2bzIDZfwxbo2O9gtlDPfm9kixC22MSWWNhDKFtq | |
| 63 | ZQ/b2TKMLXewFS72CM4G3exRL1tJsFU+tjrAHguyoRB7PMLWRNnaGFu3wp5IsOFV9uQaW59iG9bZ | |
| 64 | xg32VIaNbLKnt9imHNu8zbbssGcKbHSXPbvHtpbYtn22/ZA9V2ZjR+z5E7ajwnaesl3n7IUqG79g | |
| 65 | L16x3TW255rtvWUv1dnEHXv5ge1rsP2P7MAz+wMAcH5q4nS0cCgkTmcr5+d2DpXM+aWD09XJoVE5 | |
| 66 | 3V2cX7s5dDrntx5OTy+HweT09nFe9HOYbM7LAU7fIIfF5fTzOK8EHLaQ81rEGZBwOFLOoIzzRsHh | |
| 67 | gpy3Sg5PzeFDHIGG807HEcKc93qOyMgRIxyJiTNk4UhRzrCVI7Nz5BhH4eCMuDggzhl1c5Rejorg | |
| 68 | qH2csQAHCnLGQxxNhKONcnQxzsQKB05wJlc5+jWOIcUxrnOmNjhIhjO9yTFtccw5jmWbM7PDQQuc | |
| 69 | 2V2OdY9jK3Hs+5y5Qw5W5swfcRwnHGeF4zrlLJxz8Cpn8YLjvuJ4ahzvNWfplkPUOct3HN8Dx9/g | |
| 70 | BB45H545QQDgdjRxKS3cThL351YutZ37C5nb1cGldXK7qdxfu7j0bu5vdG5PD5fRy+1lcl/0cZn9 | |
| 71 | 3Jdsbt8AlzXI7edyX/G4bAH3tZA7IOJyJNxBKfeNjMtVcN+CXJ6Sy1dzBRD3nYYr1HHfw1yRnis2 | |
| 72 | ciUId8jElVq4wyhXZuXK7VwFxh1xcEEXdxTnKt1clZerJrhjPi4U4I4HuZoQVxvh6qLciRgXXuFO | |
| 73 | Jrj6Va5hjWtMcafWucgGdzrDNW1yzVtcS447s81Fd7izBa51l2vb49pL3Ll9LnbInS9zHUdc5wnX | |
| 74 | VeEunHLxc+5ileu+4HquuN4ad+maS9xyl+tc3x3X/8ANNLgfHrnBZ+5HAOBTmvidLfyfSXxqK/+X | |
| 75 | dn4XmU/r4Hd38n+l8uld/N+6+T10PqOH39vLf8HkM/v4L/v5fWw+a4DfP8h/xeWzefzXAv6AkM8R | |
| 76 | 8Qcl/DdSPlfGf6vg80A+X8kXqPnvIL5Qw3+v44tgvljPlxj5QwhfauIPW/gylC+38hV2/gjGBx38 | |
| 77 | URdfifNVbr7ayx8j+JCPPx7ga4J8bYivi/Anonw4xp9c4esTfMMq37jGn0rxkXX+9AbflOGbN/mW | |
| 78 | Lf5Mjo9u82d3+NYC37bLt+/x50p8bJ8/f8h3lPnOI77rhL9Q4eOn/MVzvrvK91zwvVf8pRqfuOYv | |
| 79 | 3/J9db7/jh944H9o8IOP/I/P/BAACDubhD+3CKkk4S+twq52IY0s7O4Q/toppFOFv3UJe7qFDLqw | |
| 80 | t0f4olfIZApf9gn7/glktrB/QPhqUMjmCl/zhAMCIUcoHBQJ30iEXKnwrUzIUwj5oFCgFL5TC4WQ | |
| 81 | 8L1GKNIJxbBQohcOGYVSRDhsEsosQjkqVFiFI3YhiAlHHUKlS6jChWq3cMwrhAjhuE+oCQi1QaEu | |
| 82 | JJyICOGocDIm1K8IDQmhcVU4tSZEUsLpdaFpQ2jOCC2bwpktIZoTzm4LrTtCW0Fo3xXO7QmxknB+ | |
| 83 | X+g4FDrLQteRcOFEiFeEi6dC97nQUxV6L4RLV0KiJly+Fvpuhf66MHAn/PAgDDaEHx+FoWdhGADE | |
| 84 | PzeJqS3iX0jirlYxrV3cTRb/2iGmd4p/o4p7usSMbnEvXfyiR8zsFb9kivv6xKx+cT9b/GpAzB4U | |
| 85 | v+aKB3hijkA8KBS/EYm5EvFbqZgnE/MVYgEofqcUC9Xi95BYpBGLdWIJLB7Si6VG8TAilpnEcotY | |
| 86 | gYpHrGLQLh7FxEqHWOUSq3HxmFsMecXjhFjjE2sDYl1QPBESwxHxZFSsj4kNK2JjQjy1KkbWxNMp | |
| 87 | sWldbN4QWzLimU0xuiWezYmt22LbjtheEM/tirE98XxJ7NgXOw/FrrJ44UiMn4gXK2L3qdhzLvZW | |
| 88 | xUsXYuJKvFwT+67F/ltxoC7+cCcOPog/NsShR3H4WRwBACm1SfpLi7SLJKW1Srvbpb+SpfQO6W+d | |
| 89 | 0h6qlNEl7e2WvqBLmT3Sl73SPqaU1Sft75e+Ykv/eVevB6UDXCmHJx0USN8IpVyR9K1EypNK+TKp | |
| 90 | QCF9B0qFSul7tVQEScUaqUQnHYKlUr102CiVIVK5SaqwSEdQKWiVjtqlSkyqckjVLukYLoXc0nGv | |
| 91 | VENItT6pLiCdCErhkHQyItVHpYaY1LginUpIkVXp9JrUlJKa16WWDelMRopuSme3pNac1LYtte9I | |
| 92 | 5wpSbFc6vyd1lKTOfanrULpQluJH0sUTqbsi9ZxKvefSpaqUuJAuX0l9Nan/Whq4lX6oS4N30o8P | |
| 93 | 0lBDGn6URp6lnwBA/kuTvKtFTiPJu1vlv7bL6WT5bx3ynk45gyrv7ZK/6JYz6fKXPfK+XjmLKe/v | |
| 94 | k7/ql7PZ8tcD8oFBOYcrH+TJ3wjkXKH8rUjOk8j5UrlAJn+nkAtB+XulXKSWiyG5RCMf0smlsHxY | |
| 95 | L5cZ5XJErjDJRyxyEJWPWuVKu1yFydUO+ZhLDuHycbdc45VrCbnOJ58IyOGgfDIk10fkhqjcGJNP | |
| 96 | rciRhHx6VW5ak5tTcsu6fGZDjmbks5ty65bclpPbt+VzO3KsIJ/flTv25M6S3LUvXziU42X54pHc | |
| 97 | fSL3VOTeU/nSuZyoypcv5L4rub8mD1zLP9zKg3X5xzt56EEebsgjj/JPz/IoAIBdTSCtBewmgb+2 | |
| 98 | gvR28Dcy2NMBMjrBXir4ogtkdoMv6WBfD8jqBfuZ4Ks+kN0PvmaDAwMgZxAc5IJveCBXAL4VgjwR | |
| 99 | yJeAAin4TgYKFeB7EBQpQbEalEDgkAaU6sBhGJTpQbkRVCDgiAkELeAoCiqtoMoOqjFwzAFCLnAc | |
| 100 | BzVuUOsFdQQ44QPhADgZBPUh0BABjVFwKgYiK+B0AjStguY10JICZ9ZBdAOczYDWTdC2Bdpz4Nw2 | |
| 101 | iO2A8wXQsQs690BXCVzYB/FDcLEMuo9AzwnorYBLpyBxDi5XQd8F6L8CAzXwwzUYvAU/1sHQHRh+ | |
| 102 | ACMN8NMjGH0GPwOAitak6m5R/UpS0VtVv7WresgqRoeqt1P1gqpidqledqv66CpWj6q/V/WKqWL3 | |
| 103 | qV73qwbYKs6AanBQ9Yar4vJUbwUqnlDFF6kEEtU7qUooU71XqESgSqxUSdSqIUgl1aiGdSoZrJLr | |
| 104 | VQqjagRRgSbVqEWlRFUqq0ptV41hKsihGnepNLhK61bpvKoJQgX7VJMBlT6oMoRUxohqKqpCYqrp | |
| 105 | FZUpoTKvqixrqpmUCl1XzW6orBmVbVNl31LN5VTYtmp+R+UoqJy7KteeaqGkwvdVi4cqd1nlOVJ5 | |
| 106 | T1RLFRVxqlo+V/mqKv+FKnCl+lBTBa9VH29VoboqfKeKPKg+NVTRR9XnZ1UMAKDuJujXFohOgn5r | |
| 107 | hXraIQYZ6u2AXnRCTCr0sgvq64ZYdKi/B3rVC7GZ0Os+aKAf4rChwQHozSDE5UJveRBP8M8nhwQi | |
| 108 | 6J0EEkqh9zJIpIDEICRRQkNqSApBwxpIpoPkMKTQQyNGCESgUROktEAqFFJboTE7BGHQuAPSuCAt | |
| 109 | Dunc0IQXgglo0gfpA5AhCBlD0FQEQqLQdAwyrUDmBGRZhWbWIDQFza5D1g3IloHsm9DcFoTloPlt | |
| 110 | yLEDOQuQaxda2IPwErS4D7kPIU8Z8h5BSycQUYGWTyHfOeSvQoEL6MMVFKxBH6+h0C0UrkORO+jT | |
| 111 | AxRtQJ8fodgzFAcA7a9NWnqL9jeStqdVy2jX9pK1Lzq0zE7tS6q2r0vL6tb207WverTsXu1rpnag | |
| 112 | T8vp1w6ytW8GtNxB7VuulsfT8gVagVD7TqQVSrTvpVqRTCtWaCWgdkiplaq1w5BWptHKdVoFrB3R | |
| 113 | a0GjdhTRKk1alUWrRrVjVi1k145jWo1Dq3Vpdbh2wq2FvdpJQqv3aQ0BrTGonQppkYh2Oqo1xbTm | |
| 114 | Fa0loZ1Z1aJr2tmU1rqutW1o7Rnt3KYW29LO57SOba1zR+sqaBd2tfiedrGkde9rPYdab1m7dKQl | |
| 115 | TrTLFa3vVOs/1waq2g8X2uCV9mNNG7rWhm+1kbr20502+qD93NDGHrXxZ+0KAMD0Jvi3FriHBDNa | |
| 116 | 4d52+AUZZnbALzvhPirM6oL7u+FXdJjdA7/uhQeYMKcPHuyH37Bh7gD8dhDmcWE+DxYI4HdCWCiC | |
| 117 | 30tgkRQWy2CJAh4CYakSHlbDMgiWa2CFDh6BYVAPjxphJQKrTLDaAo+hMGSFx+2wBoO1Dljngidw | |
| 118 | GHbDk15YT8AGH2wMwFNBGAnB0xHYFIXNMdiyAs8kYHQVnl2DrSnYtg7bN+C5DIxtwvNbsCMHO7dh | |
| 119 | 1w68UIDxXXhxD3aXYM8+7D2El8owcQQvn8C+Cuw/hQPn8IcqHLyAP17BoRocvoYjt/CnOhy9gz8/ | |
| 120 | wLEGHH+EV57hLwBg+K3J0NNiYJAMva2GF+0GJtnwssPQ12lgUQ39XYZX3QY23fC6xzDQa+AwDYN9 | |
| 121 | hjf9Bi7b8HbAwBs08LkGAc/wTmAQCg3vRQaRxCCWGiQyw5DCIAUNw0qDTG2QQwaFxjCiM4CwYVRv | |
| 122 | UBoNKsSgNhnGLAYINYxbDRq7QYsZdA7DhMsA44ZJt0HvNRgIg9FnmAoYkKBhOmQwRQzmqMESM8ys | |
| 123 | GNCEYXbVYF0z2FIG+7phbsOAZQzzmwbHlsGZM7i2DQs7BrxgWNw1uPcMnpLBu29YOjQQZcPykcF3 | |
| 124 | YvBXDIFTw4dzQ7Bq+HhhCF0ZwjVD5Nrw6dYQrRs+3xliD4Z4w7DyaPjybEgAANLThDBakF4S8qIV | |
| 125 | YbYjL8lIXwfC6kT6qcirLoTdjbymIwM9CKcXGWQib/oQbj/ylo3wBhD+ICLgIu94iFCAvBciIhEi | |
| 126 | liASKTL0T89RIMMgIlMicjWigJARDQLqkFEYUeoRlRFRI8iYCYEsyDiKaKyI1o7oMGTCgcAuZBJH | |
| 127 | 9G7E4EWMBDLlQ5AAMh1ETCHEHEEsUWQmhqAryGwCsa4itjXEnkLm1hFsA5nPII5NxLmFuHLIwjaC | |
| 128 | 7yCLBcS9i3j2EG8JWdpHiENkuYz4jhD/CRKoIB9OkeA58rGKhC6Q8BUSqSGfrpHoLfK5jsTukPgD | |
| 129 | stJAvjwiiWfkKwCYGU3m3hbzC5KZ2Wp+2W7uI5tZHeb+TvMrqpndZX7dbR6gmzk95sFe8xummdtn | |
| 130 | fttv5rHN/AGzYND8jmsW8szvBWaR0CwWmSUS85DULJWZhxVmGWiWK80KtXkEMoMa86jOrITNKr1Z | |
| 131 | bTSPIWbIZB63mDWoWWs16+zmCcwMO8yTLrMeNxvcZqPXPEWYEZ95OmA2Bc3mkNkSMc9EzWjMPLti | |
| 132 | tibMtlWzfc08lzJj6+b5DbMjY3Zuml1b5oWcGd82L+6Y3QWzZ9fs3TMvlczEvnn50Owrm/1H5sCJ | |
| 133 | +UPFHDw1fzw3h6rm8IU5cmX+VDNHr82fb82xujl+Z155MH9pmBOP5q/P5lUAQHub0BctKJOEvmxF | |
| 134 | +9pRFhnt70BfdaJsKvq6Cx3oRjl0dLAHfdOLcpno2z6U14/y2ahgAH03iAq56HseKhKgYiEqEaFD | |
| 135 | ElQqRYdlqEyB/tMCFUp0RI2CEDqqQZU6VAWjaj06ZkQhBB03oRoLqkVRnRWdsKMwhk46UL0LNeCo | |
| 136 | 0Y1OeVGEQKd9qCmAmoOoJYTORFA0is7GUOsKakug9lV0bg3FUuj8OurYQJ0Z1LWJLmyheA5d3Ebd | |
| 137 | O6ingHp30aU9lCihy/uo7xD1l9HAEfrhBA1W0I+naOgcDVfRyAX66QqN1tDP12jsFo3X0ZU79MsD | |
| 138 | mmigXx/R1Wc0CQC2F002ZovtJcnW12pjtdv6ybZXHTZ2p+011TbQZeN02wbptjc9Nm6v7S3Txuuz | |
| 139 | 8fttArbt3YBNOGh7z7WJeDaxwCYR2oZENqnENiy1yWQ2ucKmAG0jShuoto1CNqXGptLZ1LBtTG+D | |
| 140 | jLZxxKYx2bQWmw61TVhtsN02idn0DpvBZTPitim3DfHapgmbyWczB2yWoG0mZEMjttmozRqz2VZs | |
| 141 | 9oRtbtWGrdnmUzbHus25YXNlbAubNnzLtpizubdtnh2bt2Bb2rURe7blks23b/Mf2gJl24cjW/DE | |
| 142 | 9rFiC53awue2SNX26cIWvbJ9rtli17b4rW2lbvtyZ0s82L42bKuPtuSzbQ0AMGYT9rIF6yNhrFas | |
| 143 | vx17RcbYHdjrTmyAinG6sMFu7A0d4/Zgb3sxHhPj92GCfuwdGxMOYO8HMREXE/MwiQAbEmJSETYs | |
| 144 | wWRSTC7DFApsBMRAJTaqxpQQptJgah02BmOQHhs3YhoE05ownQWbQDHYik3aMT2GGRyY0YVN4Rji | |
| 145 | xqa9mInAzD7MEsBmghgawmYjmDWK2WKYfQWbS2DYKja/hjlSmHMdc21gCxkM38QWtzB3DvNsY94d | |
| 146 | bKmAEbvY8h7mK2H+fSxwiH0oY8Ej7OMJFqpg4VMsco59qmLRC+zzFRarYfFrbOUW+1LHEnfY1wds | |
| 147 | tYElH7G1Z+wbADhfNjn7WpwskrO/1fmq3ckmO193OAc6nRyqc7DL+abbyaU73/Y4eb1OPtMp6HO+ | |
| 148 | 63cK2c73A07RoFPMdUp4ziGBUyp0DoucMolTLnUqZM4RhRMEnaNKp1LtVEFOtcY5pnNCsHNc79QY | |
| 149 | nVrEqTM5JyxOGHVOWp16u9OAOY0O55TLieDOabfT5HWaCafF55wJONGgczbktEactqjTHnPOrTix | |
| 150 | hHN+1elYczpTTte6c2HDiWeci5tO95bTk3N6t51LO06i4Fzedfr2nP6SM7Dv/HDoDJadH4+coRNn | |
| 151 | uOKMnDo/nTujVefnC2fsyhmvOVeunV9unYm68+udc/XBmWw41x6d356dKQDA+5pwVgveT8JfteLs | |
| 152 | dvw1GR/owDmd+CAVf9OFc7vxt3Sc14Pze3EBE3/Xhwv78fdsXDSAiwdxCRcf4uFSAT4sxGUiXC7B | |
| 153 | FVJ8RIaDCnwUxJVKXKXG1RA+pvmnIOPjMK7R41ojrkPwCRMOW/BJFNdbcYMdN2L4lANHXPg0jpvc | |
| 154 | uNmLWwh8xoejAXw2iFtDuC2C26P4XAzHVvD5BO5YxZ1ruCuFL6zj+Aa+mMHdm7hnC/fm8KVtnNjB | |
| 155 | lwu4bxf37+GBEv5hHw8e4h/LeOgID5/gkQr+6RSPnuOfq3jsAo9f4Ss1/Ms1nrjFv9bx1Ts8+YCv | |
| 156 | NfBvj3jqGf8OAB5Wk6e/xfOK5GG3el63ewbIHk6HZ7DT84bq4XZ53nZ7eHQPv8cj6PW8Y3qEfZ73 | |
| 157 | /R4R2yMe8EgGPUNcj5TnGRZ4ZEKPXORRSDwjUg8o84wqPErQo1J61GrPGOSBNJ5xnUcDe7R6j87o | |
| 158 | mUA8sMkzafHoUY/B6jHaPVOYB3F4pl0eE+4xuz0Wr2eG8KA+z2zAYw16bCGPPeKZi3qwmGd+xeNI | |
| 159 | eJyrHteaZyHlwdc9ixsed8bj2fR4tzxLOQ+x7Vne8fgKHv+uJ7Dn+VDyBPc9Hw89obInfOSJnHg+ | |
| 160 | VTzRU8/nc0+s6olfeFauPF9qnsS15+utZ7XuSd551h483xqe1KPn+7NnHQCI/ibiVQvBJhGvW4mB | |
| 161 | doJDJgY7iDedBJdKvO0ieN0En04Ieoh3vYSQSbzvI0T9hJhNSAaIoUFCyiWGeYRMQMiFhEJEjEgI | |
| 162 | UEqMygilglCBhFpJjKkJCCLGNYRGR2hhQqcnJowEjBCTJkJvIQwoYbQSU3YCwYhpB2FyEWacsLiJ | |
| 163 | GS+BEsSsj7AGCFuQsIeIuQiBRYn5GOFYIZwJwrVKLKwReIpYXCfcG4QnQ3g3iaUtgsgRy9uEb4fw | |
| 164 | F4jALvFhjwiWiI/7ROiQCJeJyBHx6YSIVojPp0TsnIhXiZUL4ssVkagRX6+J1VsiWSfW7ohvD0Sq | |
| 165 | QXx/JNafiTQA+F81+dkt/tck/0Crn9PuHyT733T4uZ3+t1Q/r8vP7/YL6P53PX5hr/890y/q84v7 | |
| 166 | /RK2f2jALx30D3P9Mp5fLvArhP4RkR+U+EelfqXMr1L41aB/TOmH1P5xyK/R+LU6vw72T+j9sNE/ | |
| 167 | ifj1Jr/B4jei/imrH7H7pzG/yeE3u/wW3D/j9qNe/yzht/r8toDfHvTPhfxYxD8f9TtifueK35Xw | |
| 168 | L6z68TX/YsrvXvd7NvzejH9p009s+Zdzft+237/jDxT8H3b9wT3/x5I/tO8PH/ojZf+nI3/0xP+5 | |
| 169 | 4o+d+uPn/pWq/8uFP3Hl/1rzr177k7f+tbr/250/9eD/3vCvP/rTz/4NAAiym4KvW4IDpCCnNTjY | |
| 170 | HnxDDnI7gm87gzxqkN8VFHQH39GDwp7g+96giBkU9wUl/cEhdlA6EBweDMq4QTkvqBAER4RBUBQc | |
| 171 | lQSV0qBKFlQrgmNgEFIGx9VBDRTUaoI6XXACDsL64KQxqP8HH0xBoyU4hQYRa3DaHjRhQbMjaHEF | |
| 172 | Z/Ag6g7OeoNWImjzBe2B4FwwiIWC85GgIxp0xoKuleBCIoivBhfXgu5U0LMe9G4ElzJBYjO4vBX0 | |
| 173 | 5YL+7WBgJ/ihEAzuBj/uBUOlYHg/GDkMfioHo0fBzyfBWCUYPw2unAe/VIOJi+DXq+BqLZi8Dq7d | |
| 174 | Br/Vg6m74PeH4HojmH4MbjwHfwBA+HVTeKAlzCGFB1vDb9rDXHL4bUeY1xnmU8OCrvC77rCQHn7f | |
| 175 | Exb1hsXMsKQvPNQflrLDwwNh2WBYzg0reOERQRgUhkdFYaUkrJKG1bLwmCIMgeFxZVijDmuhsE4T | |
| 176 | ntCFYTg8qQ/rjWEDEjaawlOWMIKGp61hkz1sxsIWR3jGFUbx8Kw7bPWGbUTY7gvPBcJYMDwfCjsi | |
| 177 | YWc07IqFF1bCeCK8uBp2r4U9qbB3Pby0ESYy4eXNsG8r7M+FA9vhDzvhYCH8cTcc2guHS+HIfvjT | |
| 178 | YThaDn8+CsdOwvFKeOU0/OU8nKiGv16EV6/CyVp47Tr87Tacqoe/34XXH8LpRnjjMfzjOZwBgOhA | |
| 179 | U5TTEh0kRd+0Rrnt0bfkKK8jyu+MCqjRd11RYXf0PT0q6omKe6MSZnSoLyrtjw6zo7KBqHwwquBG | |
| 180 | R3hRUBAdFUaVoqhKElVLo2OyKKSIjoNRjTKqVUd1UHRCE4V10Uk4qtdHDcaoEYlOmaL/wNU0GjVZ | |
| 181 | o2Z71IJFZxxR1BWdxaNWd9TmjdqJ6JwvigWi88GoIxR1RqKuaHQhFsVXoouJqHs16lmLelPRpfUo | |
| 182 | sRFdzkR9m1H/VjSQi37YjgZ3oh8L0dBuNLwXjZSin/aj0cPo53I0dhSNn0RXKtEvp9HEefRrNbp6 | |
| 183 | EU1eRddq0W/X0dRt9Hs9un4XTT9ENxrRH4/RzHP0dwCIc5rigy3xN6Q4tzX+tj3OI8f5HXFBZ/wd | |
| 184 | NS7sir/vjovocXFPXNIbH2LGpX3x4f64jB2XD8QVg/ERbhzkxUcFcaUwrhLF1ZL4mDQOyeLjirgG | |
| 185 | jGuVcZ06PgHFYU18UhfXw3GDPm40xqeQOGKKT1viJjRutsYt9vgMFkcd8VlX3IrHbe643RufI+KY | |
| 186 | Lz4fiDuCcWco7orEF6JxPBZfXIm7E3HPaty7Fl9KxYn1+PJG3JeJ+zfjga34h1w8uB3/uBMPFeLh | |
| 187 | 3XhkL/6pFI/uxz8fxmPlePwovnIS/1KJJ07jX8/jq9V48iK+dhX/VounruPfb+Pr9Xj6Lr7xEP/R | |
| 188 | iGce478/xzcBIDHYlHjTkuCSEm9bE7z2BJ+cEHQk3nUmhNTE+66EqDshpickPYmh3oSUmRjuS8j6 | |
| 189 | E3J2QjGQGBlMgNzEKC+hFCRUwoRalBiTJCBpYlyW0CgSWjChUyYm1AkYSkxqEnpdwgAnjPrElDGB | |
| 190 | IIlpU8JkSZjRhMWamLEnUCwx60hYXQkbnrC7E3PeBEYk5n0JRyDhDCZcocRCJIFHE4uxhHsl4Ukk | |
| 191 | vKuJpbUEkUosryd8Gwl/JhHYTHzYSgRziY/bidBOIlxIRHYTn/YS0VLi834idpiIlxMrR4kvJ4lE | |
| 192 | JfH1NLF6nkhWE2sXiW9XiVQt8f06sX6bSNcTG3eJHw+JTCPx+2Ni8zmRBYDkm6YktyX5lpTktSb5 | |
| 193 | 7UkBOfmuIynsTL6nJkVdSXF3UkJPDvUkpb3JYWZS1peU9ycV7OTIQBIcTI5yk0peUiVIqoXJMVES | |
| 194 | kiTHpUmNLKlVJHVgckKZhNXJSSip1yQNuqQRTk7pk4gxOY0kTaak2ZK0oMkZaxK1J2expNWRtLmS | |
| 195 | djw5505i3uQ8kXT4ks5A0hVMLoSSeCS5GE26Y0nPStKbSC6tJom15HIq6VtP+jeSgUzyw2YyuJX8 | |
| 196 | mEuGtpPhnWSkkPy0m4zuJT+XkrH9ZPwwuVJOfjlKJk6SXyvJ1dNk8jy5Vk1+u0imrpLfa8n162T6 | |
| 197 | NrlRT/64S2Yekr83kpuPyexzcgsAUtym1NuWFI+U4remBO2pd+SUsCP1vjMloqbEXSlJd2qInpL2 | |
| 198 | pIZ7UzJmSt6XUvSnRtgpcCA1OphSclMqXkotSI0JU5AoNS5JaaQprSylU6QmwBSsTE2qU3ooZdCk | |
| 199 | jLrUFJxC9KlpY8qEpMymlMWSmkFTqDU1a09ZsX+4M2V3pebwFOZOzXtTDiLl9KVcgdRCMIWHUouR | |
| 200 | lDua8sRS3pXUUiJFrKaW11K+VMq/ngpspD5kUsHN1MetVCiXCm+nIjupT4VUdDf1eS8VK6Xi+6mV | |
| 201 | w9SXcipxlPp6klqtpJKnqbXz1LdqKnWR+n6VWq+l0tepjdvUj3oqc5f6/SG12UhlH1Nbz6k/ACD9 | |
| 202 | tinNa0nzSWlBa/pde1pITr/vSIs602JqWtKVHupOS+np4Z60rDctZ6YVfemR/jTITo8OpJWDaRU3 | |
| 203 | realxwRpSJgeF6U1krRWmtbJ0hOKNAymJ5VpvTptgNJGTXpKl0bg9LQ+bTKmzUjaYkrPWNIomp61 | |
| 204 | pq32tA1L2x3pOVcaw9Pz7rTDm3YSaZcvvRBI48H0YijtjqQ90bQ3ll5aSROJ9PJq2reW9qfSgfX0 | |
| 205 | h410MJP+uJkObaXDuXRkO/1pJx0tpD/vpmN76XgpvbKf/nKYTpTTX4/SqyfpZCW9dpr+dp5OVdPf | |
| 206 | L9LrV+l0Lb1xnf5xm87U07/fpTcf0tlGeusx/cdzOgcAGV5Tht+SEZAy71ozwvbMe3JG1JERd2Yk | |
| 207 | 1MxQV0banRmmZ2Q9GXlvRsHMjPRlwP7MKDujHMioBjNqbmaMl4EEmXFhRiPKaCUZnTQzIcvAiswk | |
| 208 | mNErMwZ1xghlpjQZRJeZhjMmfcZszFiQzIwpg1oys2jGas3Y7Bk7lplzZDBXZh7PONwZpzfjIjIL | |
| 209 | vgweyCwGM+5QxhPJeKOZpViGWMksJzK+1Yx/LRNIZT6sZ4IbmY+ZTGgzE97KRHKZT9uZ6E7mcyET | |
| 210 | 283E9zIrpcyX/UziMPO1nFk9yiRPMmuVzLfTTOo8872aWb/IpK8yG7XMj+tM5jbzez2zeZfJPmS2 | |
| 211 | Gpk/HjO558yfAJDlN2UFLdl3pKywNfu+PSsiZ8UdWUlndoialXZlh7uzMnpW3pNV9GZHmFmwLzva | |
| 212 | n1Wys6qBrHowO8bNQrzsuCCrEWa1oqxOkp2QZmFZdlKR1YNZgzJrVGenoCyiyU7rsiY4a9ZnLcbs | |
| 213 | DJJFTdlZS9aKZm3WrN2encOymCM778o68KzTnXV5swtEFvdlFwNZdzDrCWW9kexSNEvEsssrWV8i | |
| 214 | 61/NBtayH1LZ4Hr240Y2lMmGN7ORreynXDa6nf28k40VsvHd7Mpe9kspm9jPfj3MrpazyaPs2kn2 | |
| 215 | WyWbOs1+P8+uV7Ppi+zGVfZHLZu5zv5+m92sZ7N32a2H7B+NbO4x++dzdhsAcoKm3LuWnJCUe9+a | |
| 216 | E7XnxOScpCM31JmTUnPDXTlZd05Ozyl6ciO9OZCZG+3LKftzKnZOPZAbG8xB3Nw4L6cR5LTCnE6U | |
| 217 | m5DkYGluUpbTK3IGMGdU5qbUOQTKTWtyJl3ODOcs+tyMMYciuVlTzmrJ2dCc3Zqbs+cwLDfvyDlc | |
| 218 | OSeec7lzC/9QOZFb9OXcgZwnmPOGckuRHBHNLcdyvpWcP5ELrOY+rOWCqdzH9VxoIxfO5CKbuU9b | |
| 219 | uWgu93k7F9vJxQu5ld3cl71copT7up9bPcwly7m1o9y3k1yqkvt+mls/z6WruY2L3I+rXKaW+/06 | |
| 220 | t3mby9ZzW3e5Px5yuUbuz8fc9nMuDwD5d015YUv+PSkvas2L2/MScn6oIy/tzA9T87KuvLw7r6Dn | |
| 221 | R3ryYG9+lJlX9uVV/Xk1Oz82kIcG8+PcvIaX1wryOmF+QpSHJflJaV4vyxsUeSOYn1LmEXV+Gsqb | |
| 222 | NHmzLm+B8zP6PGrMzyJ5qylvs+TtaH7Omsfs+Xks73Dkna68C88vuPO4N79I5N2+vCeQ9wbzS6E8 | |
| 223 | EckvR/O+WN6/kg8k8h9W88G1/MdUPrSeD2/kI5n8p818dCv/OZePbefjO/mVQv7Lbj6xl/9ayq/u | |
| 224 | 55OH+bVy/ttRPnWS/17Jr5/m0+f5jWr+x0U+c5X/vZbfvM5nb/Nb9fwfd/ncQ/7PRn77MZ9/zu8A | |
| 225 | QEHYVHjfUhCRCuLWgqS9MEQuSDsKw50FGbUg7yoougsj9ALYUxjtLSiZBVVfQd1fGGMXoIHC+GBB | |
| 226 | wy1oeQWdoDAhLMCiwqSkoJcWDLKCUVGYAguIsjCtLpiggllTsOgKM3AB1RdmjQUrUrCZCnZLYQ4t | |
| 227 | YNbCvL3gwApOR8HlKizgBdxdWPQW3EThH2fhDRSWggUiVFiOFHzRgj9WCKwUPiQKwdXCx7VCKFUI | |
| 228 | rxciG4VPmUJ0s/B5qxDLFeLbhZWdwpdCIbFb+LpXWC0VkvuFtcPCt3IhdVT4flJYrxTSp4WN88KP | |
| 229 | aiFzUfj9qrBZK2SvC1u3hT/qhdxd4c+HwnajkH8s7DwX/gKA4vumoqilKCYVJa3FofailFwc7ijK | |
| 230 | OotyalHRVRzpLoL04mhPUdlbVDGL6r7iWH8RYhfHB4qawaKWW9TxihOCIiwsToqKeknRIC0aZcUp | |
| 231 | RREBi9PKokldNENFi6Y4oyuicHFWX7QaizakaDcV5yxFDC3OW4sOe9GJFV2O4oKriOPFRXfR7S16 | |
| 232 | iKLXV1wKFIlgcTlU9EWK/mgxECt+WCkGE8WPq8XQWjGcKkbWi582itFM8fNmMbZVjOeKK9vFLzvF | |
| 233 | RKH4dbe4uldMlopr+8Vvh8VUufj9qLh+UkxXihunxR/nxUy1+PtFcfOqmK0Vt66Lf9wWc/Xin3fF | |
| 234 | 7YdivlHceSz+9VwsAEBJ1FQSt5QkpNJQa0naXhoml2QdJXlnSUEtjXSVwO7SKL2k7CmpektqZmms | |
| 235 | rwT1l8bZJc1ASTtY0nFLE7wSLChNCkt6UckgKRmlpSlZCVGUpsGSSVkyq0sWqDSjKaG60ixcsupL | |
| 236 | NmPJjpTmTCXMUppHSw5ryWkvubDSgqOEu0qLeMntLnm8JS9RWvKViEBpOVjyhUr+SCkQLX2IlYIr | |
| 237 | pY+JUmi1FF4rRVKlT+ul6Ebpc6YU2yzFt0orudKX7VJip/S1UFrdLSX3Smul0rf9Uuqw9L1cWj8q | |
| 238 | pU9KG5XSj9NS5rz0e7W0eVHKXpW2aqU/rku529Kf9dL2XSn/UNpplP56LBWeS38DwIG46UDScjBE | |
| 239 | OpC2Hgy3H8jIB/KOA0XnwQj1AOw6GO0+UNIPVD0H6t6DMeYB1Hcw3n+gYR9oBw50gwcT3AOYdzAp | |
| 240 | ONALDwyiA6PkYEp6gMgOphUHJvDArDywqA9moANUczCrO7DCBzb9gd14MIccYKaDecuBAz1wWg9c | |
| 241 | 9oMF7AB3HCy6Dtz4gcd94PUeLBEHhO9gOXDgCx74QweByMGH6EEwdvBx5SCUOAivHkTWDj6lDqLr | |
| 242 | B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/ | |
| 243 | 2KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r | |
| 244 | OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT | |
| 245 | srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e | |
| 246 | 8pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd | |
| 247 | Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v | |
| 248 | 79yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq | |
| 249 | PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO | |
| 250 | bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ | |
| 251 | cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/ | |
| 252 | Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453 | |
| 253 | H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2 | |
| 254 | BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn | |
| 255 | qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa | |
| 256 | +bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU | |
| 257 | sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk | |
| 258 | /Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW | |
| 259 | nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv | |
| 260 | 42zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki | |
| 261 | c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e | |
| 262 | nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq | |
| 263 | plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz | |
| 264 | YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+ | |
| 265 | 8FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X | |
| 266 | quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8 | |
| 267 | qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl | |
| 268 | 3Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA | |
| 269 | l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/ | |
| 270 | RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7 | |
| 271 | l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3 | |
| 272 | fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa | |
| 273 | 1GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L | |
| 274 | zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV | |
| 275 | /lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla | |
| 276 | 2z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1 | |
| 277 | +Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV | |
| 278 | 3MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+ | |
| 279 | 100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8 | |
| 280 | 27xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K | |
| 281 | Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt | |
| 282 | a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6 | |
| 283 | pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX | |
| 284 | jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP | |
| 285 | 7NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo | |
| 286 | 7zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y | |
| 287 | dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7 | |
| 288 | Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P | |
| 289 | 3q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/ | |
| 290 | /8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97 | |
| 291 | vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh | |
| 292 | HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp | |
| 293 | LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41 | |
| 294 | 1lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0 | |
| 295 | UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn | |
| 296 | DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk | |
| 297 | lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe | |
| 298 | PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM | |
| 299 | U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx | |
| 300 | tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-007.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-007.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-007.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{45CD2B75-3511-0E18-1ED1-A4F292E98BC8}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{9BF08D5A-C2CC-06FD-20A2-36365AA7D039}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image jpg]]></one:T></one:OE></one:Title><one:Image format="jpg" hyperlink="https://example.invalid/image/jpg" alt="Pattern jpg" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{9BF08D5A-C2CC-06FD-20A2-36365AA7D039}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a | |
| 3 | HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy | |
| 4 | MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA | |
| 5 | AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA | |
| 6 | AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 | |
| 7 | ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm | |
| 8 | p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA | |
| 9 | AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx | |
| 10 | BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK | |
| 11 | U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 | |
| 12 | uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa | |
| 13 | plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl | |
| 14 | h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV | |
| 15 | lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1 | |
| 16 | WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP | |
| 17 | tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw | |
| 18 | 1MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ | |
| 19 | YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW | |
| 20 | H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z | |
| 21 | </one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-008.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-008.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-008.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{59B2724D-8424-0624-39D2-34278D058FD8}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-009.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-009.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-009.xml created+46| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8A48861A-496F-05FB-36BA-710F3EF7D51E}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{F11D8E2B-2F45-0008-211C-E532CEC05C7D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image gif]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/gif" alt="Pattern gif" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{F11D8E2B-2F45-0008-211C-E532CEC05C7D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S | |
| 3 | uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5 | |
| 4 | qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4 | |
| 5 | a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG | |
| 6 | YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em | |
| 7 | qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW | |
| 8 | h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK | |
| 9 | hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ | |
| 10 | UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i | |
| 11 | R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4 | |
| 12 | A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo | |
| 13 | AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK | |
| 14 | VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4 | |
| 15 | GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa | |
| 16 | Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ | |
| 17 | REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC | |
| 18 | KKRNURRZytZqRr9zzl2+79779Ty+9w943+ccZ7fPLvGv+N1js9jk8r7HfDFPzCRvktfIDOGEA64/ | |
| 19 | rYD8oUCFVyhPGuAHtqRYUJq0IHFAOFBh7C4Hu/4B//4NfgO/bwGbN4JNm34FC8D7pWD+XDBv3hww | |
| 20 | 8w3w5uvgtVfBjBmvAAf+CvrL6f+HfgXo30L/RurdAP2l9M+lfs4c+t+g/3X6X6U+JiB/egH54wJ/ | |
| 21 | xQ74bUNkAR9a8F5kQeKAaOAvUr5T7CB20Aay5WexTkBPSt8Rb4uXyUvkBfK8cCqkNxL9O3ZIbyQH | |
| 22 | 1klvxATkDwVC/p3btcAPrE8RmJ0U0IAX4wJ/+mDBdoLAeg8E1q5da/f8BGZ7IDBr1iy75y0DeqIB | |
| 23 | U6dOtXueM5wgsM1QYKvhB0wOaE8MmBzAbkyfPl2BadOmmd2A3Qv8QRBAAXoGfiHRwLskEkDB9OGA | |
| 24 | 5H5gm/Rbt8oeDcgeDtgAg/qUAQ7YliJQVoZ7lhjJgZIS/FNcHAkUFeGfwsJC50efH8T34guPMgE5 | |
| 25 | eNajRBSLSWQiKSImB5GA608rIH8osMZbsDppgB9YmmLBlKQFiQPCgTXGj6vBD6vA99+Bz8EXS0HZ | |
| 26 | YrBkyWfgGfDsFFDyNCgungwmTQATx4OicaCw8EHgwL+G/tX0r6JfAfqX0r+YejdA/xT6n6Z+8mT6 | |
| 27 | J9A/nv5x1McE5E8vIH/KQGRAzAI+9Ex0QeKAUOBb8g34mnxFPiWfgI/FIvIUeRI8IR4nD5D7yX1i | |
| 28 | NHECfzRAvxuQXwH63YD8MQH5owEN0II9DWiAuyAxsHJl8NCKFb5/4cLIAg547LHIAj00dmx8YCXh | |
| 29 | QysEBywkuOhDY9GiDwD9ABc9YjwsqCcYMMoYPfpe4HwrvbHckH+ZIb0Bu0G9Ib0BexAoKCiQf8yY | |
| 30 | MdCPGkW9BaD+kiCAAvQMfESigUeJH3gIWAAF04cDkvuB5dIvWyZ7NCB7EKBegQLqUwY4YHmKQH4+ | |
| 31 | 7ulnJAdycxP8iYGcHPyTnZ3tjPQZJoaK2zzyBeSgtUeuaCGakpNIDjE5iARcf1oB+UOBEd6C4UkD | |
| 32 | /ED/FAtaJi1IHBAOjDBGDgfDhoCh94BbwW39Qf4toF+/m0Er0LolyD0btGjRHDRtAk46EeScALKz | |
| 33 | jwcO/CPoH07/EPoVoL8//bdQ7wbob0n/2dQ3b05/E/pPpP8E6mMC8qcXkD9lIDIgZgEfahVdkDgg | |
| 34 | FLib3AXuJHeQm8iN4AZxPTmLnAnOEKeT48ix5BjRkDiBPxqg3w3IrwD9bkD+mID80YAGaMGeBjTA | |
| 35 | XZAYGDw4eGjQIN/ft29kAQc0axZZoIcaN44PDCZ8aJDggL4EF11rXCPoB7joVOMUQT3BgAZGw4ZH | |
| 36 | A+du6Y2BhvwDDOkN2IPANdIbsAeBrKws+Rs1agR9gwbUWwDq2wkCKEDPwHXED/Qhpj6N+IGTgQVQ | |
| 37 | MH04ILkfGCj9gAGyBwHp+/SRPQhQr0AW9SkDHDAwRaBHj/hA3boJ/sRAjRr4p3r16s7VPleIy8Vl | |
| 38 | Hj3EJS5HedQVR4oDyQGkBjE5iARcf1oB+VMF3AG9Qwt6plhQP2mBBuwfF7jKB4XeBI2eHgh0797d | |
| 39 | HroY1PdAoE6dOnbPEQb0RAOqVatm9+xnOEGgl6FAnuEHTA5oTwyYHMBuZGZmKpCRkWF2A3YvcCVB | |
| 40 | AAXoGbiURAP1SCSAgunDAcn9QC/p8/JkjwZkDwdsgEF9ONDN83flgkigffuki2p7/lq1Ei/6v0A3 | |
| 41 | 48quoFcXkHcRuABc2h6cL84jtUG9WuBwcRjJ3Bdk7AP2FnsRB/5u9Helvwv9CtDvBuRXgH43IP9h | |
| 42 | 9O9LvxuQPxqQP72A/DGBzp2DAZ06+f527SILOKBmzcgCDahaNT7QmfChToID2hFcdI7RVtAPcNEh | |
| 43 | xsGCeoIBlQx7h3ST3uhoyN/BkN6APQi0ld6APQhUqVJF/sqVK0NfqZL0jgP1hQQBFKBn4FziB9oQ | |
| 44 | Ux9K/MBBwAIomD4ckNwPdJS+QwfZg4D0bdrIHgSoV6AK9SkDHNAxzQD9sYH/AHAD8Cry1R2MAAAA | |
| 45 | AElFTkSuQmCC | |
| 46 | </one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-010.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-010.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-010.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8D84E5D0-1791-0BC9-15B4-071F22553597}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-011.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-011.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-011.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8E838762-DE34-0E40-1EE3-4325D5F46BAB}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-012.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-012.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-012.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{94D4815F-8289-04F4-084F-3C20BF91CF04}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-013.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-013.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-013.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C66A2F4-9062-052D-2916-5D209A0B1FD3}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-014.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-014.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-014.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CE4DF6C2-E2BE-0A5F-3CE2-EF28102ADAEC}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-015.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-015.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-015.xml created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="Fixture style" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="14.0" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Paragraph controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="87.66204071044922"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{40}{B0}" alignment="left" spaceBefore="9.0" spaceAfter="4.5" quickStyleIndex="1"><one:T><![CDATA[<span | |
| 3 | style='text-decoration:line-through'>Inherited strike and spacing</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{47}{B0}" alignment="center" spaceBefore="12.0" spaceAfter="6.0" quickStyleIndex="0"><one:T><![CDATA[Centered paragraph]]></one:T></one:OE><one:OE RTL="true" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{52}{B0}" alignment="right" quickStyleIndex="0" style="font-family:Arial;font-size:11.0pt;text-align:right"><one:T><![CDATA[<span | |
| 4 | style='direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا بالعالم</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" collapsed="1" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Collapsed parent]]></one:T><one:OEChildren indent="2"><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Hidden child remains stored]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{68}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Grandchild]]></one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{73}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-016.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-016.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-016.xml created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{ECFFF87F-0CB5-003C-3076-4C1C6F935479}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:25:43.000Z" objectID="{BDBBBCD1-A5B1-076B-2BD7-5F0A810BDB28}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image bmp]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/bmp" alt="Pattern bmp" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{BDBBBCD1-A5B1-076B-2BD7-5F0A810BDB28}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO | |
| 3 | xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51 | |
| 4 | 8eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC | |
| 5 | 3c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo | |
| 6 | cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb | |
| 7 | ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O | |
| 8 | amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC | |
| 9 | </one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-017.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-017.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-017.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EEC0EBD1-BCA4-04CF-1581-C1F540980D0E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-018.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-018.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-018.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F40778E5-4A16-0CC5-06BF-5A46F1FF9CA8}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Numbering controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="125.0376281738281" height="137.070068359375"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" text="3"/></one:List><one:T><![CDATA[Sequence 0, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{46}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" text="4"/></one:List><one:T><![CDATA[Sequence 0, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{52}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" text="III"/></one:List><one:T><![CDATA[Sequence 1, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{58}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" text="IV"/></one:List><one:T><![CDATA[Sequence 1, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{64}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" text="iii"/></one:List><one:T><![CDATA[Sequence 2, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{70}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" text="iv"/></one:List><one:T><![CDATA[Sequence 2, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{76}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" text="C"/></one:List><one:T><![CDATA[Sequence 3, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{82}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" text="D"/></one:List><one:T><![CDATA[Sequence 3, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{88}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" text="c"/></one:List><one:T><![CDATA[Sequence 4, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{94}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" text="d"/></one:List><one:T><![CDATA[Sequence 4, item 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/page-019.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/before-read/page-019.pdf differ |
corpus/m6/native-expanded-control-ui-01/before-read/page-019.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FAF3951F-EA54-0DDA-2D09-FE9DEFE4F065}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/before-read/payloads.json created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2", | |
| 4 | "name": "Fictitious attachment.txt", | |
| 5 | "object": "{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{40}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}", | |
| 8 | "bytes": 27 | |
| 9 | }, | |
| 10 | { | |
| 11 | "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9", | |
| 12 | "name": "silence.wav", | |
| 13 | "object": "{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{44}{B0}", | |
| 14 | "kind": "MediaFile", | |
| 15 | "page": "{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}", | |
| 16 | "bytes": 16044 | |
| 17 | } | |
| 18 | ] | |
| \ No newline at end of file |
corpus/m6/native-expanded-control-ui-01/commands.jsonl created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-DB65123D -ExpectedPages 20 -Pdf -KeepOpen", "exit": 0, "stdout": "Read 5 sections and 20 pages.\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 5 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-DB65123D -UseCurrentCache -ExpectedPages -1 -Pdf", "exit": 0, "stdout": "Read 5 sections and 20 pages.\r\n", "stderr": "", "error": null} | |
| 6 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-expanded-control-ui-01/expanded.png created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/expanded.png differ |
corpus/m6/native-expanded-control-ui-01/finish createdcorpus/m6/native-expanded-control-ui-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-DB65123D", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-expanded-control-ui-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-db65123d", "hostname": "ONE-M6-DB65123D"} |
corpus/m6/native-expanded-control-ui-01/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[24,174,123,176,253,140,107,73,154,219,36,174,218,63,108,220]}},{"path":"assets/1.bin","reference":{"Internal":[45,22,52,10,96,95,120,74,149,114,208,117,239,252,150,199]}},{"path":"assets/2.bin","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]}},{"path":"assets/3.bin","reference":{"Internal":[101,133,22,201,93,63,38,68,133,74,149,28,188,8,102,75]}},{"path":"assets/4.bin","reference":{"Internal":[21,180,26,125,154,100,189,67,168,99,187,239,132,20,103,222]}},{"path":"assets/5.bin","reference":{"Internal":[30,98,194,39,135,62,72,68,129,88,26,156,63,209,139,117]}},{"path":"assets/6.bin","reference":{"Internal":[188,232,223,92,160,21,248,78,151,16,208,92,140,190,81,24]}},{"path":"assets/7.bin","reference":{"Internal":[27,128,25,241,248,247,172,71,169,35,81,88,235,90,43,244]}},{"path":"assets/8.bin","reference":{"Internal":[88,222,6,147,153,3,109,79,166,118,29,18,90,218,142,14]}}] | |
| \ No newline at end of file |
corpus/m6/native-expanded-control-ui-01/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/0.bin differ |
corpus/m6/native-expanded-control-ui-01/model/assets/1.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/1.bin differ |
corpus/m6/native-expanded-control-ui-01/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/2.bin differ |
corpus/m6/native-expanded-control-ui-01/model/assets/3.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/3.bin differ |
corpus/m6/native-expanded-control-ui-01/model/assets/4.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/4.bin differ |
corpus/m6/native-expanded-control-ui-01/model/assets/5.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/5.bin differ |
corpus/m6/native-expanded-control-ui-01/model/assets/6.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/6.bin differ |
corpus/m6/native-expanded-control-ui-01/model/assets/7.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/7.bin differ |
corpus/m6/native-expanded-control-ui-01/model/assets/8.bin created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/model/assets/8.bin differ |
corpus/m6/native-expanded-control-ui-01/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[167,129,155,6,9,123,217,79,169,213,239,224,5,110,69,141],"root":"{5FBAB4A8-F2EB-4D9C-892F-64D03C6D5C0C},1","spaces":{"{978C6F00-771C-48A4-B209-85FC9330D376},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{C074D235-5F66-44F7-95FA-B83852FB27FE},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{533C39B0-FBAD-4895-9E24-AD9B23BC5F4B},1"},"revisions":{"{C074D235-5F66-44F7-95FA-B83852FB27FE},1":{"roots":{"1":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},10","2":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},11","4":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},26"},"nodes":{"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},10":{"jcid":393271,"children":[],"content":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image bmp","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"5063cc1a333b1c48bc4b683d66175a9e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0a22304a73ddd01"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},12":{"jcid":393227,"children":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},39"],"content":[],"structure":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},13":{"jcid":393260,"children":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},14","{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},14":{"jcid":393228,"children":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},20":{"jcid":393228,"children":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},21","{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},21":{"jcid":393229,"children":[],"content":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","latest_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},27","extra_set":null}],"paragraph_style":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},24":{"jcid":393229,"children":[],"content":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","latest_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},27","extra_set":null}],"paragraph_style":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},33":{"jcid":393229,"children":[],"content":["{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128743,"modified":1473128743,"original_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","latest_author":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image bmp","runs":[{"start":0,"end":9,"format":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},38","extra_set":null}],"paragraph_style":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},40","filename":null,"alt":"Pattern bmp","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/bmp"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000215810c54095838726eb0d20c966e325cb531c4607fe02e955d8e262c8826744000000000e80000000020000200000009aeb527b585045019a19202938afcde2b51cbd242427b13d7a056e450979211420000000f62cf8eb2d0dfc58dc216a51554db463b2f1a6e2a8b6f2379f0d0e55540e53414000000080ea8ab8e559431a2d2c9889f2cfbbc853fcfe706f67357c72b7adbc73bebd6c7b3a980b4817e93ca6d778b363d165b4d829e9a3908fd3268500274a84bc25b2"}},{"id":469769724,"value":{"Bytes":"736cd8fce2891a1c5d62ba23cfbd41f0adea5fb5"}},{"id":2281709006,"value":"NoData"},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":2281709036,"value":"NoData"}]]},"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[24,174,123,176,253,140,107,73,154,219,36,174,218,63,108,220]},"extension":".png"},"extra":[]}}},"{533C39B0-FBAD-4895-9E24-AD9B23BC5F4B},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{3EBEBC0A-4EB8-4680-9CAE-6D126E4A0CC7},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{70F926CC-F9D0-40E9-BA9E-C61949F36760},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{4B7C7101-699A-4DBD-8B5D-703A463A0590},1"},"revisions":{"{4B7C7101-699A-4DBD-8B5D-703A463A0590},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{70F926CC-F9D0-40E9-BA9E-C61949F36760},1":{"roots":{"1":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},10","2":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},11","4":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},26"},"nodes":{"{E0831A25-B965-4E65-A2DD-FFD6A6045736},10":{"jcid":393271,"children":[],"content":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image jpg","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"d0ef0c224100fa43963c22b59e48a339"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"f021c203a73ddd01"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},12":{"jcid":393227,"children":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},39"],"content":[],"structure":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},13":{"jcid":393260,"children":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},14","{E0831A25-B965-4E65-A2DD-FFD6A6045736},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},14":{"jcid":393228,"children":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},20":{"jcid":393228,"children":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},21","{E0831A25-B965-4E65-A2DD-FFD6A6045736},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},21":{"jcid":393229,"children":[],"content":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","latest_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},27","extra_set":null}],"paragraph_style":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},24":{"jcid":393229,"children":[],"content":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","latest_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},27","extra_set":null}],"paragraph_style":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},33":{"jcid":393229,"children":[],"content":["{E0831A25-B965-4E65-A2DD-FFD6A6045736},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","latest_author":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image jpg","runs":[{"start":0,"end":9,"format":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},38","extra_set":null}],"paragraph_style":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{E0831A25-B965-4E65-A2DD-FFD6A6045736},40","filename":null,"alt":"Pattern jpg","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/jpg"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c65000000000200000000001066000000010000200000008cad040ac7081398a67852bc58b46ebb04e40b6e0a3a39af0d3b7c895e5ce8d4000000000e80000000020000200000006864ef8cced4f32a5725b600c914a13f1347dfed5f11ce03fb703d707c47c45e2000000051be517e7e082d4b0bbfd42804d24d302f30a89d941590fb6bc160d93406e734400000006eaf0f70e5bd6a372231cdada5453162f7ddc1e11fe46426c615ba59a83b75b1f5d6f55de6e7d63db6bba3c2edfdac59014eb0fb4903e88f7ba0fa5508b3857a"}},{"id":469769724,"value":{"Bytes":"7321a3199192deeef11db08454766ad7d65b5526"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{E0831A25-B965-4E65-A2DD-FFD6A6045736},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[45,22,52,10,96,95,120,74,149,114,208,117,239,252,150,199]},"extension":".jpg"},"extra":[]}}}}},"{774B3F15-481D-4DAC-94A5-561D665799B1},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{41CB75DE-5BFA-4D09-8B75-968E378FC588},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{4A009430-74D8-49A2-BDD0-0FFEDC139370},1"},"revisions":{"{4A009430-74D8-49A2-BDD0-0FFEDC139370},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{41CB75DE-5BFA-4D09-8B75-968E378FC588},1":{"roots":{"1":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},10","2":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},11","4":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},26"},"nodes":{"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},10":{"jcid":393271,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Task controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"2c397b9ccaf0174f8e0de3924a07a9cc"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"70e06508a73ddd01"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},12":{"jcid":393227,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},39"],"content":[],"structure":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128751,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},13":{"jcid":393260,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},14","{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},14":{"jcid":393228,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128751,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},20":{"jcid":393228,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},21","{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},21":{"jcid":393229,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128750,"modified":1473128750,"original_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","latest_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},27","extra_set":null}],"paragraph_style":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},24":{"jcid":393229,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128750,"modified":1473128750,"original_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","latest_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},27","extra_set":null}],"paragraph_style":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},33":{"jcid":393229,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128750,"modified":1473128750,"original_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","latest_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Task controls","runs":[{"start":0,"end":13,"format":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},38","extra_set":null}],"paragraph_style":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},39":{"jcid":393228,"children":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},40"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128751,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},40":{"jcid":393229,"children":[],"content":["{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128750,"modified":1473128750,"original_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","latest_author":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[{"definition":null,"action_type":100,"status":6,"created":1262401445,"completed":0,"start":1262390400,"due":1262476800,"task_id":[227,64,175,69,84,29,60,70,144,211,196,84,242,247,26,46],"extra_set":1}],"kind":{"type":"RichText","text":"Disabled standalone task","runs":[{"start":0,"end":24,"format":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},27","extra_set":null}],"paragraph_style":"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}],[{"id":201340019,"value":{"Bytes":"00"}},{"id":268448868,"value":{"Bytes":"5900"}},{"id":335557735,"value":{"Bytes":"00000000"}}]]}}}}},"{F5F0101D-A59D-46D8-9C9C-8AC52957ECA4},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{BD4C28C2-15B2-46BC-B7D5-828916DFC55A},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{F3271F93-A232-41C7-93C8-2161BEC42628},1"},"revisions":{"{F3271F93-A232-41C7-93C8-2161BEC42628},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{BD4C28C2-15B2-46BC-B7D5-828916DFC55A},1":{"roots":{"1":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},10","2":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},11","4":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},26"},"nodes":{"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},10":{"jcid":393271,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=false, printout=false","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"4aaca0cb7a7d20408ef1364bff9db55e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0efa205a73ddd01"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},12":{"jcid":393227,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},39","{C7275DDA-7E57-4706-BA71-E96C8AC93C16},41"],"content":[],"structure":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},13":{"jcid":393260,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},14","{C7275DDA-7E57-4706-BA71-E96C8AC93C16},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},14":{"jcid":393228,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},20":{"jcid":393228,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},21","{C7275DDA-7E57-4706-BA71-E96C8AC93C16},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},21":{"jcid":393229,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","latest_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},27","extra_set":null}],"paragraph_style":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},24":{"jcid":393229,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","latest_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},27","extra_set":null}],"paragraph_style":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},33":{"jcid":393229,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","latest_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image role background=false, printout=false","runs":[{"start":0,"end":43,"format":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},38","extra_set":null}],"paragraph_style":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":36.0,"y":36.0,"max_width":288.0,"max_height":192.0},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},40","filename":null,"alt":"Role pattern","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000baf8284fd835aaa7a44600da70a7e55f4dfb2c7fdc00288a29da42b18e147c5b000000000e8000000002000020000000bb222a40cc0cf0800ddb0dc11a25641f7c0d495ac559a4108ca9d65d862d7f6320000000d42bae115c0bf1a62a2cd6969b5f0994d4f408c6e4da435947a8d2d319fc081940000000b7f71982404e202bbe0429d31edb96f6071810ccd264c8e8cf1974713aaf5f567215260cd91afee74d6a6e9bbb39b532cf701955b6bda0eff768f0149304a4b3"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":335551993,"value":{"Bytes":"02000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},41":{"jcid":393228,"children":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},42"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},42":{"jcid":393229,"children":[],"content":["{C7275DDA-7E57-4706-BA71-E96C8AC93C16},46"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","latest_author":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},46":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Foreground role control","runs":[{"start":0,"end":23,"format":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},27","extra_set":null}],"paragraph_style":"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}},"{22C1E532-FF8D-4EBC-BBAD-FDC771A608D7},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{0C387409-9538-42F1-BF47-A0499D7D5FA8},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{F7C7A401-F29E-4394-A2CE-3C3A4F48209B},1"},"revisions":{"{F7C7A401-F29E-4394-A2CE-3C3A4F48209B},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{0C387409-9538-42F1-BF47-A0499D7D5FA8},1":{"roots":{"1":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},10","2":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},11","4":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},26"},"nodes":{"{E47C60BE-AF76-43E8-8937-2F36F60E114C},10":{"jcid":393271,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=true, printout=false","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"bfe60ae49fb6f04883d33ecd8efdef25"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"309ee505a73ddd01"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},12":{"jcid":393227,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},39","{E47C60BE-AF76-43E8-8937-2F36F60E114C},41"],"content":[],"structure":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},13":{"jcid":393260,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},14","{E47C60BE-AF76-43E8-8937-2F36F60E114C},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},14":{"jcid":393228,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},20":{"jcid":393228,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},21","{E47C60BE-AF76-43E8-8937-2F36F60E114C},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},21":{"jcid":393229,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","latest_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},27","extra_set":null}],"paragraph_style":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},24":{"jcid":393229,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","latest_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},27","extra_set":null}],"paragraph_style":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},33":{"jcid":393229,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","latest_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image role background=true, printout=false","runs":[{"start":0,"end":42,"format":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},38","extra_set":null}],"paragraph_style":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":36.0,"y":36.0,"max_width":288.0,"max_height":192.0},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},40","filename":null,"alt":"Role pattern","picture_width":72.0,"picture_height":48.0,"background":true,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000c6802eaed92442ce1c0d448823d950936073023e637b773db263acdc120afd5d000000000e8000000002000020000000cbb02e1756b482468d07e78fe4a2ad4e7fe727c70e95f5b735427170dce92242200000000cdf3203a81d523fa27ea42f1e3cd7b616dbdae35258a8d16712ff373ec8430c40000000e518d8413b987f05d5c55e0e6425687f65b950dc76d419d6f9800646e7980cad5d2b5151d3ef3026fda8d8812dcf87e04d9823215a13f70b9465bd28d3fc1b55"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":335551993,"value":{"Bytes":"02000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},41":{"jcid":393228,"children":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},42"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},42":{"jcid":393229,"children":[],"content":["{E47C60BE-AF76-43E8-8937-2F36F60E114C},46"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","latest_author":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{E47C60BE-AF76-43E8-8937-2F36F60E114C},46":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Foreground role control","runs":[{"start":0,"end":23,"format":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},27","extra_set":null}],"paragraph_style":"{E47C60BE-AF76-43E8-8937-2F36F60E114C},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}},"{F13B1165-32C6-4D63-B4C5-B8EFC2545211},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{BA226054-F35E-4372-B591-5B02B2E6CC11},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{CD35F978-C249-4837-9D54-000183B276F6},1"},"revisions":{"{BA226054-F35E-4372-B591-5B02B2E6CC11},1":{"roots":{"1":"{8A6E1954-54EC-4890-A363-2CD23263DB72},10","2":"{8A6E1954-54EC-4890-A363-2CD23263DB72},11","4":"{8A6E1954-54EC-4890-A363-2CD23263DB72},26"},"nodes":{"{8A6E1954-54EC-4890-A363-2CD23263DB72},10":{"jcid":393271,"children":[],"content":["{8A6E1954-54EC-4890-A363-2CD23263DB72},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image gif","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"df318a66c286084b9e283696297e82be"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"601d1405a73ddd01"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},12":{"jcid":393227,"children":["{8A6E1954-54EC-4890-A363-2CD23263DB72},39"],"content":[],"structure":["{8A6E1954-54EC-4890-A363-2CD23263DB72},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},13":{"jcid":393260,"children":["{8A6E1954-54EC-4890-A363-2CD23263DB72},14","{8A6E1954-54EC-4890-A363-2CD23263DB72},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},14":{"jcid":393228,"children":["{8A6E1954-54EC-4890-A363-2CD23263DB72},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},20":{"jcid":393228,"children":["{8A6E1954-54EC-4890-A363-2CD23263DB72},21","{8A6E1954-54EC-4890-A363-2CD23263DB72},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},21":{"jcid":393229,"children":[],"content":["{8A6E1954-54EC-4890-A363-2CD23263DB72},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128744,"modified":1473128744,"original_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","latest_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{8A6E1954-54EC-4890-A363-2CD23263DB72},27","extra_set":null}],"paragraph_style":"{8A6E1954-54EC-4890-A363-2CD23263DB72},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},24":{"jcid":393229,"children":[],"content":["{8A6E1954-54EC-4890-A363-2CD23263DB72},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128744,"modified":1473128744,"original_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","latest_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{8A6E1954-54EC-4890-A363-2CD23263DB72},27","extra_set":null}],"paragraph_style":"{8A6E1954-54EC-4890-A363-2CD23263DB72},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},33":{"jcid":393229,"children":[],"content":["{8A6E1954-54EC-4890-A363-2CD23263DB72},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128745,"modified":1473128745,"original_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","latest_author":"{8A6E1954-54EC-4890-A363-2CD23263DB72},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image gif","runs":[{"start":0,"end":9,"format":"{8A6E1954-54EC-4890-A363-2CD23263DB72},38","extra_set":null}],"paragraph_style":"{8A6E1954-54EC-4890-A363-2CD23263DB72},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{8A6E1954-54EC-4890-A363-2CD23263DB72},40","filename":null,"alt":"Pattern gif","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/gif"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000d78fe554bff78311f3c3b0b7e8c7191c4950e5b7153d0566379ff161b10c9236000000000e8000000002000020000000a4fd4030aebdd9d27459583f6488fde7a36254814381665255a7a1aae8e79a23200000004665fd77dc14750758fbce4163a8cf8408d34a6fb4d4333b6c14101eebea87544000000052cabb5d83bbea8d1919e19109fe3ca63b0f9b371db0bd7b11a0af6b62d1535def93d99f6db47cc6f98bb2cad013db23f92e9b772eac9f56fb072304b1e2df86"}},{"id":469769724,"value":{"Bytes":"0b2bde82a2a075665a7679884e67b09d11874441"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{8A6E1954-54EC-4890-A363-2CD23263DB72},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[101,133,22,201,93,63,38,68,133,74,149,28,188,8,102,75]},"extension":".png"},"extra":[]}}},"{CD35F978-C249-4837-9D54-000183B276F6},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{4F120766-6EA7-4E5A-B336-8B441584A4B0},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{A26A8B36-5C5A-4EF0-8A4A-F5875125FBC8},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{54CC6F65-B9D8-4A2D-BF14-F50D0AC5B37B},1"},"revisions":{"{A26A8B36-5C5A-4EF0-8A4A-F5875125FBC8},1":{"roots":{"1":"{55083EE2-B644-4097-A02A-19F56E6362C7},10","2":"{55083EE2-B644-4097-A02A-19F56E6362C7},11","4":"{55083EE2-B644-4097-A02A-19F56E6362C7},26"},"nodes":{"{55083EE2-B644-4097-A02A-19F56E6362C7},10":{"jcid":393271,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Files and recording","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"5bf9f2a7bf7777439427d892fc03e7b1"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"60888e06a73ddd01"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},12":{"jcid":393227,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},39"],"content":[],"structure":["{55083EE2-B644-4097-A02A-19F56E6362C7},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}},{"id":469769379,"value":{"Bytes":"578e419a647fc54087d08a8f7c1e5422"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},13":{"jcid":393260,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},14","{55083EE2-B644-4097-A02A-19F56E6362C7},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},14":{"jcid":393228,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},20":{"jcid":393228,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},21","{55083EE2-B644-4097-A02A-19F56E6362C7},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},21":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{55083EE2-B644-4097-A02A-19F56E6362C7},27","extra_set":null}],"paragraph_style":"{55083EE2-B644-4097-A02A-19F56E6362C7},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},24":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{55083EE2-B644-4097-A02A-19F56E6362C7},27","extra_set":null}],"paragraph_style":"{55083EE2-B644-4097-A02A-19F56E6362C7},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},33":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128747,"modified":1473128747,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Files and recording","runs":[{"start":0,"end":19,"format":"{55083EE2-B644-4097-A02A-19F56E6362C7},38","extra_set":null}],"paragraph_style":"{55083EE2-B644-4097-A02A-19F56E6362C7},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},39":{"jcid":393228,"children":["{55083EE2-B644-4097-A02A-19F56E6362C7},40","{55083EE2-B644-4097-A02A-19F56E6362C7},44","{55083EE2-B644-4097-A02A-19F56E6362C7},48"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":139.42772},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},40":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},41"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128747,"modified":1473128747,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},41":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{55083EE2-B644-4097-A02A-19F56E6362C7},42","preview":"{55083EE2-B644-4097-A02A-19F56E6362C7},43","filename":"Fictitious attachment.txt","source_path":"C:\\one-tests\\runs\\capture\\notebook\\fixture-data\\attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"46006900630074006900740069006f007500730020006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},42":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[21,180,26,125,154,100,189,67,168,99,187,239,132,20,103,222]},"extension":".txt"},"extra":[]},"{55083EE2-B644-4097-A02A-19F56E6362C7},43":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[30,98,194,39,135,62,72,68,129,88,26,156,63,209,139,117]},"extension":".png"},"extra":[]},"{55083EE2-B644-4097-A02A-19F56E6362C7},44":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},45"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128747,"modified":1473128747,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},45":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{55083EE2-B644-4097-A02A-19F56E6362C7},46","preview":"{55083EE2-B644-4097-A02A-19F56E6362C7},47","filename":"silence.wav","source_path":"C:\\one-tests\\runs\\capture\\notebook\\fixture-data\\silence.wav","recording_id":[87,142,65,154,100,127,197,64,135,208,138,143,124,30,84,34],"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"730069006c0065006e00630065002e007700610076000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},46":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[188,232,223,92,160,21,248,78,151,16,208,92,140,190,81,24]},"extension":".wav"},"extra":[]},"{55083EE2-B644-4097-A02A-19F56E6362C7},47":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[27,128,25,241,248,247,172,71,169,35,81,88,235,90,43,244]},"extension":".png"},"extra":[]},"{55083EE2-B644-4097-A02A-19F56E6362C7},48":{"jcid":393229,"children":[],"content":["{55083EE2-B644-4097-A02A-19F56E6362C7},52"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128747,"modified":1473128747,"original_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","latest_author":"{55083EE2-B644-4097-A02A-19F56E6362C7},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55083EE2-B644-4097-A02A-19F56E6362C7},52":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[[87,142,65,154,100,127,197,64,135,208,138,143,124,30,84,34]],"media_time_ms":500,"tags":[],"kind":{"type":"RichText","text":"Recording annotation","runs":[{"start":0,"end":20,"format":"{55083EE2-B644-4097-A02A-19F56E6362C7},27","extra_set":null}],"paragraph_style":"{55083EE2-B644-4097-A02A-19F56E6362C7},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{54CC6F65-B9D8-4A2D-BF14-F50D0AC5B37B},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{E715358B-EBCB-4DB5-AB69-94C066A898DC},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CE82D8C2-54BF-48FB-9931-3CF1C4C49D6A},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{065F701A-0718-4CD5-9984-DF8F477C196C},1"},"revisions":{"{065F701A-0718-4CD5-9984-DF8F477C196C},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{CE82D8C2-54BF-48FB-9931-3CF1C4C49D6A},1":{"roots":{"1":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},10","2":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},11","4":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},26"},"nodes":{"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},10":{"jcid":393271,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=true, printout=true","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"aaec0a4cf8ee1647b71d99037847bc12"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0ec5e06a73ddd01"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},12":{"jcid":393227,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},39","{08DA89CE-DB98-47B8-8A71-8DB27509F71B},41"],"content":[],"structure":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},13":{"jcid":393260,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},14","{08DA89CE-DB98-47B8-8A71-8DB27509F71B},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},14":{"jcid":393228,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},20":{"jcid":393228,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},21","{08DA89CE-DB98-47B8-8A71-8DB27509F71B},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},21":{"jcid":393229,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","latest_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},27","extra_set":null}],"paragraph_style":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},24":{"jcid":393229,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","latest_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},27","extra_set":null}],"paragraph_style":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},33":{"jcid":393229,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","latest_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image role background=true, printout=true","runs":[{"start":0,"end":41,"format":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},38","extra_set":null}],"paragraph_style":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":36.0,"y":36.0,"max_width":286.56,"max_height":190.56001},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},40","filename":null,"alt":"Role pattern","picture_width":72.0,"picture_height":48.0,"background":true,"printout":true,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000c517d993784d0b8510bcd845c1d484105d433ce557ff80b324a65a1094d2171c000000000e80000000020000200000003f76861b32eaaf2abd9d3904f0ecedde447d949ff366ea4b1f445a2970fee50820000000c7a01b667117fece3542cad1b2cc14bc413470995d80a5bedfa73a7e0b9758ef40000000287045e86af32e6e4df18335769dc1730e6be457dad18a9e1701b7461d6e2b2809f40d07cab39863f04b3f9cd5817c7957b613e15b8e7b0bab43820f481a474f"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":335551993,"value":{"Bytes":"02000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},41":{"jcid":393228,"children":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},42"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},42":{"jcid":393229,"children":[],"content":["{08DA89CE-DB98-47B8-8A71-8DB27509F71B},46"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","latest_author":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},46":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Foreground role control","runs":[{"start":0,"end":23,"format":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},27","extra_set":null}],"paragraph_style":"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}}}},"{ABA3D98F-BECC-464C-A8CB-B8FB52C392E2},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{8EC9CE4B-8F17-43E2-A1DE-7A1BB39701BC},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{765EC190-2698-4D0D-9BE4-176915F0525E},1"},"revisions":{"{8EC9CE4B-8F17-43E2-A1DE-7A1BB39701BC},1":{"roots":{"1":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},10","2":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},11","4":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},26"},"nodes":{"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},10":{"jcid":393271,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Paragraph controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"d8f7afe4d929a342ab66d603d5015ebb"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"a0283507a73ddd01"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},12":{"jcid":393227,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},39"],"content":[],"structure":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},13":{"jcid":393260,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},14","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},14":{"jcid":393228,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},20":{"jcid":393228,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},21","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},21":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},24":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},33":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Paragraph controls","runs":[{"start":0,"end":18,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},38","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},39":{"jcid":393228,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},40","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},47","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},52","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},58","{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},73"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":87.66204},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},40":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Inherited strike and spacing","runs":[{"start":0,"end":28,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},46","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},46":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":true,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":14.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":9.0,"space_after":4.5,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"Fixture style"},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},47":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},51"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},51":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":1,"rtl":null,"space_before":12.0,"space_after":6.0,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Centered paragraph","runs":[{"start":0,"end":18,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"02000000"}},{"id":335551620,"value":{"Bytes":"02000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},52":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},56"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},56":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":2,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"مرحبا بالعالم","runs":[{"start":0,"end":13,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},57","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0104"}},{"id":335551550,"value":{"Bytes":"03000000"}},{"id":335551620,"value":{"Bytes":"03000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},57":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":null,"color":null,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},58":{"jcid":393229,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},63"],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},62"],"structure":[],"spaces":[],"child_level":2,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":201333777,"value":{"Bytes":"01"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},62":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Collapsed parent","runs":[{"start":0,"end":16,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},63":{"jcid":393229,"children":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},68"],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},67"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},67":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Hidden child remains stored","runs":[{"start":0,"end":27,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},68":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},72"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},72":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Grandchild","runs":[{"start":0,"end":10,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},73":{"jcid":393229,"children":[],"content":["{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},77"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128748,"modified":1473128748,"original_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","latest_author":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},77":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128748,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"AB        C","runs":[{"start":0,"end":11,"format":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},27","extra_set":null}],"paragraph_style":"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{765EC190-2698-4D0D-9BE4-176915F0525E},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{8F74EF9A-31BF-445D-84C0-93A60D5C1BA7},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CD7B9DD7-3E2B-4718-A3C0-F5B0F3438380},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{937D4936-B04B-4DEC-BA33-575B74F07469},1"},"revisions":{"{937D4936-B04B-4DEC-BA33-575B74F07469},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}},"{CD7B9DD7-3E2B-4718-A3C0-F5B0F3438380},1":{"roots":{"1":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},10","2":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},11","4":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},26"},"nodes":{"{CA4801D9-2718-46A8-B58F-BD356DEA0174},10":{"jcid":393271,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Numbering controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"efd0711e63e0854880e7d07b3635ceae"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"00c4d407a73ddd01"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},12":{"jcid":393227,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},39"],"content":[],"structure":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},13":{"jcid":393260,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},14","{CA4801D9-2718-46A8-B58F-BD356DEA0174},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},14":{"jcid":393228,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},20":{"jcid":393228,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},21","{CA4801D9-2718-46A8-B58F-BD356DEA0174},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},21":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},24":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},33":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Numbering controls","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},38","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},39":{"jcid":393228,"children":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},40","{CA4801D9-2718-46A8-B58F-BD356DEA0174},46","{CA4801D9-2718-46A8-B58F-BD356DEA0174},52","{CA4801D9-2718-46A8-B58F-BD356DEA0174},58","{CA4801D9-2718-46A8-B58F-BD356DEA0174},64","{CA4801D9-2718-46A8-B58F-BD356DEA0174},70","{CA4801D9-2718-46A8-B58F-BD356DEA0174},76","{CA4801D9-2718-46A8-B58F-BD356DEA0174},82","{CA4801D9-2718-46A8-B58F-BD356DEA0174},88","{CA4801D9-2718-46A8-B58F-BD356DEA0174},94"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":137.07007},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128750,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},40":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},44"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},45"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},44":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 0, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},45":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0000","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},46":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},50"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},51"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},50":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 0, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},51":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0000","restart":null,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},52":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},56"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},57"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},56":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 1, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},57":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0001","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},58":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},62"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},63"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},62":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 1, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},63":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0001","restart":null,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},64":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},68"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},69"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},68":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 2, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},69":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0002","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},70":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},74"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},75"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},74":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 2, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},75":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0002","restart":null,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},76":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},80"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},81"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},80":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 3, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},81":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0003","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},82":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},86"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},87"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},86":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 3, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},87":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0003","restart":null,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},88":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},92"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},93"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},92":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 4, item 0","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},93":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0004","restart":3,"bullet":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},94":{"jcid":393229,"children":[],"content":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},98"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128749,"modified":1473128749,"original_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","latest_author":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":["{CA4801D9-2718-46A8-B58F-BD356DEA0174},99"],"paragraph_style":null},"extra":[[]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},98":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Sequence 4, item 1","runs":[{"start":0,"end":18,"format":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},27","extra_set":null}],"paragraph_style":"{CA4801D9-2718-46A8-B58F-BD356DEA0174},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{CA4801D9-2718-46A8-B58F-BD356DEA0174},99":{"jcid":393234,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":4278190080,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128749,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"List","font":null,"format":"�\u0004","restart":null,"bullet":null},"extra":[[]]}}}}},"{38F51AA4-F561-4263-8DFE-69F99A053AC5},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{06BD3755-EF72-4542-890A-E865C245F2C3},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{1E3F8BE5-DA93-4736-B999-5A89E1A42BEE},1"},"revisions":{"{06BD3755-EF72-4542-890A-E865C245F2C3},1":{"roots":{"1":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},10","2":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},11","4":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},26"},"nodes":{"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},10":{"jcid":393271,"children":[],"content":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image tiff","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"1f393c98c8fc1c479e07a2c84eab6bd8"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"10a97404a73ddd01"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},12":{"jcid":393227,"children":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},39"],"content":[],"structure":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},13":{"jcid":393260,"children":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},14","{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},14":{"jcid":393228,"children":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},20":{"jcid":393228,"children":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},21","{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},21":{"jcid":393229,"children":[],"content":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128743,"modified":1473128743,"original_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","latest_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},27","extra_set":null}],"paragraph_style":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},24":{"jcid":393229,"children":[],"content":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128743,"modified":1473128743,"original_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","latest_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128743,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},27","extra_set":null}],"paragraph_style":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},33":{"jcid":393229,"children":[],"content":["{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128744,"modified":1473128744,"original_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","latest_author":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128744,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image tiff","runs":[{"start":0,"end":10,"format":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},38","extra_set":null}],"paragraph_style":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128745,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},40","filename":null,"alt":"Pattern tiff","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/tiff"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000dada78c373873a02763f088cc1e155172beeab45e72d3fccca4427de4b3580bc000000000e8000000002000020000000d58a66b17d60764d623f9d3e7121b81342e8fb8eb9b5acc8ad55183cef04196520000000e16dad985f36be2c7c75ab0fda98f0169ac94895dc07342f170424e17789bf2e400000009b7390f6b3861a4523a0b677bf5750963facd0e36811e6a62737d4e93c4aceb1e1e563a52d0132c7100017f47405763ec901516f34855422c3dd679952402fea"}},{"id":469769724,"value":{"Bytes":"884f1206378302aee2be9dccf4343669c5fa5c34"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[88,222,6,147,153,3,109,79,166,118,29,18,90,218,142,14]},"extension":".tif"},"extra":[]}}},"{1E3F8BE5-DA93-4736-B999-5A89E1A42BEE},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{5FBAB4A8-F2EB-4D9C-892F-64D03C6D5C0C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{D2AE8403-7FD3-4698-9F79-2CF7CE62DA07},1"},"revisions":{"{D2AE8403-7FD3-4698-9F79-2CF7CE62DA07},1":{"roots":{"1":"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},10","2":"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},11"},"nodes":{"{00692503-C98D-0C52-0CB9-2A6BAB823D3F},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=true, printout=false","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"bfe60ae49fb6f04883d33ecd8efdef25"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"309ee505a73ddd01"}}]]},"{55E3FF24-7E1D-0F42-23B1-81B1BC73AC59},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Task controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"2c397b9ccaf0174f8e0de3924a07a9cc"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"70e06508a73ddd01"}}]]},"{D758D02C-939D-0436-2B88-5D69F373D94C},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=false, printout=false","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"4aaca0cb7a7d20408ef1364bff9db55e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0efa205a73ddd01"}}]]},"{B524AF31-411C-0A4A-051D-52504914E69E},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image bmp","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"5063cc1a333b1c48bc4b683d66175a9e"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0a22304a73ddd01"}}]]},"{1C167C3B-78B8-046E-2BBA-BABEB46E392F},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image jpg","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"d0ef0c224100fa43963c22b59e48a339"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"f021c203a73ddd01"}}]]},"{D393D154-04C6-0F8D-03D1-6F43187067F9},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image gif","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"df318a66c286084b9e283696297e82be"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"601d1405a73ddd01"}}]]},"{6DBAC757-58A7-0CB4-0422-5CE8CFA09158},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Files and recording","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"5bf9f2a7bf7777439427d892fc03e7b1"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"60888e06a73ddd01"}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},10":{"jcid":393223,"children":["{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},12","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},13","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},14","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},15","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},16","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},17","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},18","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},19","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},20","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},21","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},22","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},23","{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},24"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"d2e32f46a8d9444ebf84d4dbe59aa72e"}},{"id":402660453,"value":{"Bytes":"50201f02a73ddd01"}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":11451025},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},12":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{5C7182D4-71B3-4966-9633-B35041C4081C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"0eb588c4eff5094892fba535cd437edb"}},{"id":402660453,"value":{"Bytes":"e0a8ab02a73ddd01"}},{"id":603993154,"value":{"Objects":["{7ED942E5-47B3-0B88-2127-64FC9BE03DF4},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},13":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{3EBEBC0A-4EB8-4680-9CAE-6D126E4A0CC7},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"b31d0155dd8b8e4e88b28f62c287257e"}},{"id":402660453,"value":{"Bytes":"f021c203a73ddd01"}},{"id":603993154,"value":{"Objects":["{1C167C3B-78B8-046E-2BBA-BABEB46E392F},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},14":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{978C6F00-771C-48A4-B209-85FC9330D376},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"725aff9281ad4d45883241d8b169f212"}},{"id":402660453,"value":{"Bytes":"8002ed03a73ddd01"}},{"id":603993154,"value":{"Objects":["{B524AF31-411C-0A4A-051D-52504914E69E},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},15":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{38F51AA4-F561-4263-8DFE-69F99A053AC5},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"31ff287e2fb8634fbb516cf646ebd220"}},{"id":402660453,"value":{"Bytes":"10a97404a73ddd01"}},{"id":603993154,"value":{"Objects":["{1A5DDA95-C361-008D-3AEA-BE5540210F2D},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},16":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{F13B1165-32C6-4D63-B4C5-B8EFC2545211},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"55df8c37699cdd4cbe4f0e9ad1cb5686"}},{"id":402660453,"value":{"Bytes":"601d1405a73ddd01"}},{"id":603993154,"value":{"Objects":["{D393D154-04C6-0F8D-03D1-6F43187067F9},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},17":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{F5F0101D-A59D-46D8-9C9C-8AC52957ECA4},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"dd1e38d9be7f7b4a833d6e399f49c259"}},{"id":402660453,"value":{"Bytes":"e07ea005a73ddd01"}},{"id":603993154,"value":{"Objects":["{D758D02C-939D-0436-2B88-5D69F373D94C},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},18":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{22C1E532-FF8D-4EBC-BBAD-FDC771A608D7},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"7bbaee63c803364eb7a6ed17b2658fb9"}},{"id":402660453,"value":{"Bytes":"309ee505a73ddd01"}},{"id":603993154,"value":{"Objects":["{00692503-C98D-0C52-0CB9-2A6BAB823D3F},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},19":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{B53E61BD-9917-42C7-BE9D-26C8EC895DE3},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"19112299eacc6f4ca244c389a8cfb228"}},{"id":402660453,"value":{"Bytes":"a0f41906a73ddd01"}},{"id":603993154,"value":{"Objects":["{9796A18C-AF17-0029-0989-F16436AD680B},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},20":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{E715358B-EBCB-4DB5-AB69-94C066A898DC},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"9448a2d1e4eade4d85d4686d878c0214"}},{"id":402660453,"value":{"Bytes":"e0ec5e06a73ddd01"}},{"id":603993154,"value":{"Objects":["{C5BDF5BA-DDCB-0F5B-1C7D-436CBC8CAD34},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},21":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{4F120766-6EA7-4E5A-B336-8B441584A4B0},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"ff168942cb3eee4dbade34d8a8849ae6"}},{"id":402660453,"value":{"Bytes":"60888e06a73ddd01"}},{"id":603993154,"value":{"Objects":["{6DBAC757-58A7-0CB4-0422-5CE8CFA09158},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},22":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{ABA3D98F-BECC-464C-A8CB-B8FB52C392E2},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"b368d1ab3caf1c4fb97638c4bbb13174"}},{"id":402660453,"value":{"Bytes":"20fe0707a73ddd01"}},{"id":603993154,"value":{"Objects":["{890B19BE-88CC-04A2-1FDF-6F5788E7A70A},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},23":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{8F74EF9A-31BF-445D-84C0-93A60D5C1BA7},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"1ccd0215a164394da144df1fca750f21"}},{"id":402660453,"value":{"Bytes":"00c4d407a73ddd01"}},{"id":603993154,"value":{"Objects":["{ADDC2FAB-07BF-06B3-33D4-440AD7782E4F},1"]}}]]},"{665B4D59-0C0D-4B44-850E-9FCA50F44ACD},24":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{774B3F15-481D-4DAC-94A5-561D665799B1},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"c21045c7b83acc49b90979a29e3ebf62"}},{"id":402660453,"value":{"Bytes":"70e06508a73ddd01"}},{"id":603993154,"value":{"Objects":["{55E3FF24-7E1D-0F42-23B1-81B1BC73AC59},1"]}}]]},"{9796A18C-AF17-0029-0989-F16436AD680B},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=false, printout=true","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"4fd875b7fbc3cd4b8adb9b948bd810c4"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"a0f41906a73ddd01"}}]]},"{1A5DDA95-C361-008D-3AEA-BE5540210F2D},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image tiff","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"1f393c98c8fc1c479e07a2c84eab6bd8"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"10a97404a73ddd01"}}]]},"{ADDC2FAB-07BF-06B3-33D4-440AD7782E4F},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Numbering controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"efd0711e63e0854880e7d07b3635ceae"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"00c4d407a73ddd01"}}]]},"{C5BDF5BA-DDCB-0F5B-1C7D-436CBC8CAD34},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=true, printout=true","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"aaec0a4cf8ee1647b71d99037847bc12"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0ec5e06a73ddd01"}}]]},"{890B19BE-88CC-04A2-1FDF-6F5788E7A70A},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Paragraph controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"d8f7afe4d929a342ab66d603d5015ebb"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"a0283507a73ddd01"}}]]},"{7ED942E5-47B3-0B88-2127-64FC9BE03DF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image png","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"f1ad1c438f60494daab03a4959f7cac4"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0a8ab02a73ddd01"}}]]}}}}},"{B53E61BD-9917-42C7-BE9D-26C8EC895DE3},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{5703C904-730F-455C-BAA8-B6F1D2FB0660},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{12A46566-5353-4007-A00C-2281EEF3BADA},1"},"revisions":{"{5703C904-730F-455C-BAA8-B6F1D2FB0660},1":{"roots":{"1":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},10","2":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},11","4":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},26"},"nodes":{"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},10":{"jcid":393271,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image role background=false, printout=true","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"4fd875b7fbc3cd4b8adb9b948bd810c4"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"a0f41906a73ddd01"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},12":{"jcid":393227,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},39","{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},41"],"content":[],"structure":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},13":{"jcid":393260,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},14","{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},14":{"jcid":393228,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},20":{"jcid":393228,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},21","{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},21":{"jcid":393229,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","latest_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},27","extra_set":null}],"paragraph_style":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},24":{"jcid":393229,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","latest_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},27","extra_set":null}],"paragraph_style":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},33":{"jcid":393229,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","latest_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image role background=false, printout=true","runs":[{"start":0,"end":42,"format":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},38","extra_set":null}],"paragraph_style":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":36.0,"y":36.0,"max_width":286.56,"max_height":190.56001},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128747,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},40","filename":null,"alt":"Role pattern","picture_width":72.0,"picture_height":48.0,"background":false,"printout":true,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c65000000000200000000001066000000010000200000003af5e6042584bbb6d7b2432401acaa4bbf31e2da3e97299ab196e317ea5126f4000000000e800000000200002000000033b6d73fc7620128e759782df06f5393cc0307f33f4a9d0c28245c0ff954b2d720000000a64151834adfdd0963fbc6eb3084c73ecd6f136487f906a265babf9e5919dcf040000000248fd8159557870b2284870d18e8634e352c8d87992506cca9b194e63a436ce5b00127192c93b8d2739f18885c6458ae6a861d343132e11573e3eb55bcb056b9"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":335551993,"value":{"Bytes":"02000000"}},{"id":2281708733,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769250,"value":{"Bytes":"0000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},41":{"jcid":393228,"children":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},42"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":72.0,"y":108.0,"max_width":480.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},42":{"jcid":393229,"children":[],"content":["{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},46"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128746,"modified":1473128746,"original_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","latest_author":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},46":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128746,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Foreground role control","runs":[{"start":0,"end":23,"format":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},27","extra_set":null}],"paragraph_style":"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{12A46566-5353-4007-A00C-2281EEF3BADA},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{5C7182D4-71B3-4966-9633-B35041C4081C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{10D93D65-4605-482C-BA47-26C6F7EDB73D},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{37F604FE-8D16-4032-A5AC-F70AEE7BD3AA},1"},"revisions":{"{10D93D65-4605-482C-BA47-26C6F7EDB73D},1":{"roots":{"1":"{232F27D5-8903-4D80-B56E-6F9929BAA111},10","2":"{232F27D5-8903-4D80-B56E-6F9929BAA111},11","4":"{232F27D5-8903-4D80-B56E-6F9929BAA111},26"},"nodes":{"{232F27D5-8903-4D80-B56E-6F9929BAA111},10":{"jcid":393271,"children":[],"content":["{232F27D5-8903-4D80-B56E-6F9929BAA111},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Image png","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"f1ad1c438f60494daab03a4959f7cac4"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"e0a8ab02a73ddd01"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},12":{"jcid":393227,"children":["{232F27D5-8903-4D80-B56E-6F9929BAA111},39"],"content":[],"structure":["{232F27D5-8903-4D80-B56E-6F9929BAA111},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":null,"level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},13":{"jcid":393260,"children":["{232F27D5-8903-4D80-B56E-6F9929BAA111},14","{232F27D5-8903-4D80-B56E-6F9929BAA111},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128740,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},14":{"jcid":393228,"children":["{232F27D5-8903-4D80-B56E-6F9929BAA111},33"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},20":{"jcid":393228,"children":["{232F27D5-8903-4D80-B56E-6F9929BAA111},21","{232F27D5-8903-4D80-B56E-6F9929BAA111},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128740,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},21":{"jcid":393229,"children":[],"content":["{232F27D5-8903-4D80-B56E-6F9929BAA111},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128740,"modified":1473128740,"original_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","latest_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128740,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{232F27D5-8903-4D80-B56E-6F9929BAA111},27","extra_set":null}],"paragraph_style":"{232F27D5-8903-4D80-B56E-6F9929BAA111},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},24":{"jcid":393229,"children":[],"content":["{232F27D5-8903-4D80-B56E-6F9929BAA111},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128740,"modified":1473128740,"original_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","latest_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128740,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"7:25 PM","runs":[{"start":0,"end":7,"format":"{232F27D5-8903-4D80-B56E-6F9929BAA111},27","extra_set":null}],"paragraph_style":"{232F27D5-8903-4D80-B56E-6F9929BAA111},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":null},"extra":[[]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},33":{"jcid":393229,"children":[],"content":["{232F27D5-8903-4D80-B56E-6F9929BAA111},37"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473128742,"modified":1473128742,"original_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","latest_author":"{232F27D5-8903-4D80-B56E-6F9929BAA111},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},37":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Image png","runs":[{"start":0,"end":9,"format":"{232F27D5-8903-4D80-B56E-6F9929BAA111},38","extra_set":null}],"paragraph_style":"{232F27D5-8903-4D80-B56E-6F9929BAA111},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":2281708724,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},38":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":null,"font_size":17.0,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},39":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":72.0,"y":108.0,"max_width":144.0,"max_height":48.000008},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473128742,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{232F27D5-8903-4D80-B56E-6F9929BAA111},40","filename":null,"alt":"Pattern png","picture_width":72.0,"picture_height":48.0,"background":false,"printout":false,"link":"https://example.invalid/image/png"},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c6500000000020000000000106600000001000020000000f5fbf8658a45bede4756b4f1f553f51ba1bedb3a7faaab7a13958ff597b5b06c000000000e8000000002000020000000a2aaef0f5bc57890f7a598f2bae4d2335f1207531bf8bd2cc32d0d488e1975bb2000000056a1a3b1ee3b272497ef3cb53b8fc61808e557a21a1fea7cf478cedcb7a084b74000000039740dbcaafd9b50569d90388f7878700e0419a5fb0e969c73fe23f83a7daba5c4760fbfc34edc91f1100a29f56c5bdc80043fc28005dc8a9a6913cabda4bc1b"}},{"id":469769724,"value":{"Bytes":"4b2cb5e4e68a713f4c4074f83bc4a99f105611b9"}},{"id":2281709006,"value":"NoData"},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":2281708733,"value":"NoData"},{"id":2281709036,"value":"NoData"}]]},"{232F27D5-8903-4D80-B56E-6F9929BAA111},40":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[7,152,73,239,100,120,37,76,191,193,55,183,50,251,60,41]},"extension":".png"},"extra":[]}}},"{37F604FE-8D16-4032-A5AC-F70AEE7BD3AA},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"math":null,"embedded_object":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/native-expanded-control-ui-01/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{978C6F00-771C-48A4-B209-85FC9330D376},1":{"{C074D235-5F66-44F7-95FA-B83852FB27FE},1":{"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C6C82BAE-DE18-4FF3-A9A8-96EA7DA85C27},37":[{"text":"Image bmp","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{533C39B0-FBAD-4895-9E24-AD9B23BC5F4B},1":{}},"{3EBEBC0A-4EB8-4680-9CAE-6D126E4A0CC7},1":{"{4B7C7101-699A-4DBD-8B5D-703A463A0590},1":{},"{70F926CC-F9D0-40E9-BA9E-C61949F36760},1":{"{E0831A25-B965-4E65-A2DD-FFD6A6045736},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E0831A25-B965-4E65-A2DD-FFD6A6045736},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E0831A25-B965-4E65-A2DD-FFD6A6045736},37":[{"text":"Image jpg","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{774B3F15-481D-4DAC-94A5-561D665799B1},1":{"{4A009430-74D8-49A2-BDD0-0FFEDC139370},1":{},"{41CB75DE-5BFA-4D09-8B75-968E378FC588},1":{"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},37":[{"text":"Task controls","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{25BDF88B-26C4-4598-B0DB-09AED4C73EA5},44":[{"text":"Disabled standalone task","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{F5F0101D-A59D-46D8-9C9C-8AC52957ECA4},1":{"{F3271F93-A232-41C7-93C8-2161BEC42628},1":{},"{BD4C28C2-15B2-46BC-B7D5-828916DFC55A},1":{"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},37":[{"text":"Image role background=false, printout=false","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C7275DDA-7E57-4706-BA71-E96C8AC93C16},46":[{"text":"Foreground role control","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{22C1E532-FF8D-4EBC-BBAD-FDC771A608D7},1":{"{F7C7A401-F29E-4394-A2CE-3C3A4F48209B},1":{},"{0C387409-9538-42F1-BF47-A0499D7D5FA8},1":{"{E47C60BE-AF76-43E8-8937-2F36F60E114C},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E47C60BE-AF76-43E8-8937-2F36F60E114C},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E47C60BE-AF76-43E8-8937-2F36F60E114C},37":[{"text":"Image role background=true, printout=false","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{E47C60BE-AF76-43E8-8937-2F36F60E114C},46":[{"text":"Foreground role control","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{F13B1165-32C6-4D63-B4C5-B8EFC2545211},1":{"{BA226054-F35E-4372-B591-5B02B2E6CC11},1":{"{8A6E1954-54EC-4890-A363-2CD23263DB72},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{8A6E1954-54EC-4890-A363-2CD23263DB72},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{8A6E1954-54EC-4890-A363-2CD23263DB72},37":[{"text":"Image gif","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{CD35F978-C249-4837-9D54-000183B276F6},1":{}},"{4F120766-6EA7-4E5A-B336-8B441584A4B0},1":{"{A26A8B36-5C5A-4EF0-8A4A-F5875125FBC8},1":{"{55083EE2-B644-4097-A02A-19F56E6362C7},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{55083EE2-B644-4097-A02A-19F56E6362C7},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{55083EE2-B644-4097-A02A-19F56E6362C7},37":[{"text":"Files and recording","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{55083EE2-B644-4097-A02A-19F56E6362C7},52":[{"text":"Recording annotation","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{54CC6F65-B9D8-4A2D-BF14-F50D0AC5B37B},1":{}},"{E715358B-EBCB-4DB5-AB69-94C066A898DC},1":{"{065F701A-0718-4CD5-9984-DF8F477C196C},1":{},"{CE82D8C2-54BF-48FB-9931-3CF1C4C49D6A},1":{"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},37":[{"text":"Image role background=true, printout=true","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{08DA89CE-DB98-47B8-8A71-8DB27509F71B},46":[{"text":"Foreground role control","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{ABA3D98F-BECC-464C-A8CB-B8FB52C392E2},1":{"{8EC9CE4B-8F17-43E2-A1DE-7A1BB39701BC},1":{"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},37":[{"text":"Paragraph controls","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},44":[{"text":"Inherited strike and spacing","format":{"bold":false,"italic":false,"underline":false,"strike":true,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":14.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":9.0,"space_after":4.5,"line_spacing":null},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},51":[{"text":"Centered paragraph","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":1,"rtl":null,"space_before":12.0,"space_after":6.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},56":[{"text":"مرحبا بالعالم","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Arial","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1025,"alignment":2,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},62":[{"text":"Collapsed parent","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},67":[{"text":"Hidden child remains stored","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},72":[{"text":"Grandchild","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{EE75F7DA-F99A-4532-8C76-63AB9B8CEC69},77":[{"text":"AB        C","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{765EC190-2698-4D0D-9BE4-176915F0525E},1":{}},"{8F74EF9A-31BF-445D-84C0-93A60D5C1BA7},1":{"{937D4936-B04B-4DEC-BA33-575B74F07469},1":{},"{CD7B9DD7-3E2B-4718-A3C0-F5B0F3438380},1":{"{CA4801D9-2718-46A8-B58F-BD356DEA0174},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},37":[{"text":"Numbering controls","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},44":[{"text":"Sequence 0, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},50":[{"text":"Sequence 0, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},56":[{"text":"Sequence 1, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},62":[{"text":"Sequence 1, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},68":[{"text":"Sequence 2, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},74":[{"text":"Sequence 2, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},80":[{"text":"Sequence 3, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},86":[{"text":"Sequence 3, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},92":[{"text":"Sequence 4, item 0","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{CA4801D9-2718-46A8-B58F-BD356DEA0174},98":[{"text":"Sequence 4, item 1","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]}},"{38F51AA4-F561-4263-8DFE-69F99A053AC5},1":{"{06BD3755-EF72-4542-890A-E865C245F2C3},1":{"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{7B75ECDB-DA25-4E7C-B7A0-65CA43DA9C00},37":[{"text":"Image tiff","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{1E3F8BE5-DA93-4736-B999-5A89E1A42BEE},1":{}},"{5FBAB4A8-F2EB-4D9C-892F-64D03C6D5C0C},1":{"{D2AE8403-7FD3-4698-9F79-2CF7CE62DA07},1":{}},"{B53E61BD-9917-42C7-BE9D-26C8EC895DE3},1":{"{5703C904-730F-455C-BAA8-B6F1D2FB0660},1":{"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},37":[{"text":"Image role background=false, printout=true","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{D05ED09F-AC19-4A7B-9D2B-7B5381E0E499},46":[{"text":"Foreground role control","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{12A46566-5353-4007-A00C-2281EEF3BADA},1":{}},"{5C7182D4-71B3-4966-9633-B35041C4081C},1":{"{10D93D65-4605-482C-BA47-26C6F7EDB73D},1":{"{232F27D5-8903-4D80-B56E-6F9929BAA111},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{232F27D5-8903-4D80-B56E-6F9929BAA111},25":[{"text":"7:25 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{232F27D5-8903-4D80-B56E-6F9929BAA111},37":[{"text":"Image png","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"math":false,"embedded_object":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{37F604FE-8D16-4032-A5AC-F70AEE7BD3AA},1":{}}} | |
| \ No newline at end of file |
corpus/m6/native-expanded-control-ui-01/notebook/Empty.one created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Empty.one differ |
corpus/m6/native-expanded-control-ui-01/notebook/Features.one created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Features.one differ |
corpus/m6/native-expanded-control-ui-01/notebook/Group A/Duplicate.one created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group A/Duplicate.one differ |
corpus/m6/native-expanded-control-ui-01/notebook/Group A/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group A/Open Notebook.onetoc2 differ |
corpus/m6/native-expanded-control-ui-01/notebook/Group B/Nested/Duplicate.one created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group B/Nested/Duplicate.one differ |
corpus/m6/native-expanded-control-ui-01/notebook/Group B/Nested/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group B/Nested/Open Notebook.onetoc2 differ |
corpus/m6/native-expanded-control-ui-01/notebook/Group B/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Group B/Open Notebook.onetoc2 differ |
corpus/m6/native-expanded-control-ui-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/Open Notebook.onetoc2 differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/attachment.txt created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/attachment.txt differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.bmp created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.bmp differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.gif created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.gif differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.jpg created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.jpg differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.png created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.png differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.tiff created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/pattern.tiff differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/silence.wav created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/fixture-data/silence.wav differ |
corpus/m6/native-expanded-control-ui-01/notebook/fixture.json created+86| ... | ... | @@ -0,0 +1,86 @@ |
| 1 | { | |
| 2 | "sections": [ | |
| 3 | "Features.one", | |
| 4 | "Group A/Duplicate.one", | |
| 5 | "Group B/Nested/Duplicate.one", | |
| 6 | "Empty.one" | |
| 7 | ], | |
| 8 | "pages": [ | |
| 9 | { | |
| 10 | "section": "Features.one", | |
| 11 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image png</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern png\" hyperlink=\"https://example.invalid/image/png\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image></one:Page>" | |
| 12 | }, | |
| 13 | { | |
| 14 | "section": "Features.one", | |
| 15 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image jpg</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern jpg\" hyperlink=\"https://example.invalid/image/jpg\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.jpg\"/></one:Image></one:Page>" | |
| 16 | }, | |
| 17 | { | |
| 18 | "section": "Features.one", | |
| 19 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image bmp</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern bmp\" hyperlink=\"https://example.invalid/image/bmp\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.bmp\"/></one:Image></one:Page>" | |
| 20 | }, | |
| 21 | { | |
| 22 | "section": "Features.one", | |
| 23 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image tiff</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern tiff\" hyperlink=\"https://example.invalid/image/tiff\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.tiff\"/></one:Image></one:Page>" | |
| 24 | }, | |
| 25 | { | |
| 26 | "section": "Features.one", | |
| 27 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image gif</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern gif\" hyperlink=\"https://example.invalid/image/gif\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.gif\"/></one:Image></one:Page>" | |
| 28 | }, | |
| 29 | { | |
| 30 | "section": "Features.one", | |
| 31 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 32 | }, | |
| 33 | { | |
| 34 | "section": "Features.one", | |
| 35 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 36 | }, | |
| 37 | { | |
| 38 | "section": "Features.one", | |
| 39 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 40 | }, | |
| 41 | { | |
| 42 | "section": "Features.one", | |
| 43 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 44 | }, | |
| 45 | { | |
| 46 | "section": "Features.one", | |
| 47 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Files and recording</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:InsertedFile pathSource=\"__ASSETS__\\attachment.txt\" preferredName=\"Fictitious attachment.txt\"/></one:OE><one:OE><one:MediaFile pathSource=\"__ASSETS__\\silence.wav\" preferredName=\"silence.wav\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex=\"500\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaIndex><one:T>Recording annotation</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 48 | }, | |
| 49 | { | |
| 50 | "section": "Features.one", | |
| 51 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:QuickStyleDef index=\"0\" name=\"Fixture style\" font=\"Calibri\" fontSize=\"14\" strikethrough=\"true\" spaceBefore=\"0.25\" spaceAfter=\"0.125\"/><one:Title><one:OE><one:T>Paragraph controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE quickStyleIndex=\"0\"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment=\"center\" spaceBefore=\"12\" spaceAfter=\"6\"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL=\"true\" alignment=\"right\"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed=\"true\"><one:T>Collapsed parent</one:T><one:OEChildren indent=\"2\"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 52 | }, | |
| 53 | { | |
| 54 | "section": "Features.one", | |
| 55 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Numbering controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 56 | }, | |
| 57 | { | |
| 58 | "section": "Features.one", | |
| 59 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Task controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:OutlookTask guidTask=\"{45AF40E3-1D54-463C-90D3-C454F2F71A2E}\" completed=\"false\" disabled=\"true\" creationDate=\"2020-01-02T03:04:05Z\" startDate=\"2020-01-02T00:00:00Z\" dueDate=\"2020-01-03T00:00:00Z\"/><one:T>Disabled standalone task</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 60 | }, | |
| 61 | { | |
| 62 | "section": "Group A/Duplicate.one", | |
| 63 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 64 | }, | |
| 65 | { | |
| 66 | "section": "Group A/Duplicate.one", | |
| 67 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 68 | }, | |
| 69 | { | |
| 70 | "section": "Group A/Duplicate.one", | |
| 71 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 72 | }, | |
| 73 | { | |
| 74 | "section": "Group B/Nested/Duplicate.one", | |
| 75 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 76 | }, | |
| 77 | { | |
| 78 | "section": "Group B/Nested/Duplicate.one", | |
| 79 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 80 | }, | |
| 81 | { | |
| 82 | "section": "Group B/Nested/Duplicate.one", | |
| 83 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 84 | } | |
| 85 | ] | |
| 86 | } | |
| \ No newline at end of file |
corpus/m6/native-expanded-control-ui-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/notebook/synthetic.one differ |
corpus/m6/native-expanded-control-ui-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ |
corpus/m6/native-expanded-control-ui-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ |
corpus/m6/native-expanded-control-ui-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-DB65123D", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-expanded-control-ui-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4BF16F46-C46E-4B44-8A4C-F7501E2BD91C}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:00:50.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:00:21.000Z" color="#8AA8E4"><one:Page ID="{8D84E5D0-1791-0BC9-15B4-071F22553597}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/></one:Section><one:Section name="Features" ID="{24C923D7-8942-0504-0B50-AD30C0CEDB03}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Features.one" lastModifiedTime="2026-09-06T06:00:22.000Z" color="#91BAAE"><one:Page ID="{270215AB-0A1A-01FE-144C-7AB0BD678F13}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{45CD2B75-3511-0E18-1ED1-A4F292E98BC8}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{ECFFF87F-0CB5-003C-3076-4C1C6F935479}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:21.000Z" pageLevel="1"/><one:Page ID="{43868DDB-8EC8-0AFB-0F81-A01966A6BDCA}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{8A48861A-496F-05FB-36BA-710F3EF7D51E}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{8E838762-DE34-0E40-1EE3-4325D5F46BAB}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{59B2724D-8424-0624-39D2-34278D058FD8}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{CE4DF6C2-E2BE-0A5F-3CE2-EF28102ADAEC}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{9C66A2F4-9062-052D-2916-5D209A0B1FD3}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{F40778E5-4A16-0CC5-06BF-5A46F1FF9CA8}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/><one:Page ID="{0C38A86A-33B4-0534-16DA-9FFD9AF41EBE}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:22.000Z" pageLevel="1"/></one:Section><one:Section name="Empty" ID="{F53553BB-CE15-0E8C-0162-AE67A5DC3DD8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Empty.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#9BBBD2"/><one:SectionGroup name="fixture-data" ID="{1219496D-4161-403C-BDA7-CA7387C61F4B}{1}{B0}" path="C:\one-tests\runs\capture\notebook\fixture-data" lastModifiedTime="2026-09-06T06:00:50.000Z"/><one:SectionGroup name="Group A" ID="{E031C0DA-4BB2-4566-85BD-693EC68DCDD1}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A" lastModifiedTime="2026-09-06T06:00:23.000Z" isCurrentlyViewed="true"><one:Section name="Duplicate" ID="{3596E26B-D5D1-064E-258F-FFFB08050A84}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A\Duplicate.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#F6B078" isCurrentlyViewed="true"><one:Page ID="{FAF3951F-EA54-0DDA-2D09-FE9DEFE4F065}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{0DB8AF78-686C-0C01-3D52-A89559FC5885}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2"/><one:Page ID="{35E4289B-AD1E-043C-0470-E53BC236A7A8}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3"/></one:Section></one:SectionGroup><one:SectionGroup name="Group B" ID="{08640112-567F-4B02-89D6-B5A950FBD58C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B" lastModifiedTime="2026-09-06T06:00:23.000Z"><one:SectionGroup name="Nested" ID="{768598DE-CCF9-4ABC-AD34-CF30125DDE09}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested" lastModifiedTime="2026-09-06T06:00:23.000Z"><one:Section name="Duplicate" ID="{072C7CCD-900E-082F-1F1A-1EDE846B79A8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested\Duplicate.one" lastModifiedTime="2026-09-06T06:00:23.000Z" color="#D5A4BB"><one:Page ID="{EEC0EBD1-BCA4-04CF-1581-C1F540980D0E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="1"/><one:Page ID="{94D4815F-8289-04F4-084F-3C20BF91CF04}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="2"/><one:Page ID="{03B62394-C1B5-04AE-16E3-995530425C92}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:00:23.000Z" pageLevel="3"/></one:Section></one:SectionGroup></one:SectionGroup></one:Notebook> |
corpus/m6/native-expanded-control-ui-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-000.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{03B62394-C1B5-04AE-16E3-995530425C92}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:00:42.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F035D946-2927-0940-13DF-12AD3F9C2F17}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-001.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-001.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0C38A86A-33B4-0534-16DA-9FFD9AF41EBE}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:43.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Task controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="151.0606994628906" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5ECE6FF4-5D6D-0D00-32A4-C04E2864B9AA}{40}{B0}" alignment="left" quickStyleIndex="0"><one:OutlookTask startDate="2020-01-02T00:00:00.000Z" dueDate="2020-01-03T00:00:00.000Z" guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[Disabled standalone task]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-002.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-002.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-002.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0DB8AF78-686C-0C01-3D52-A89559FC5885}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:44.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{399A6DFB-EBF9-0B33-2801-CAFA573584B7}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-003.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-003.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-003.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{270215AB-0A1A-01FE-144C-7AB0BD678F13}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:00:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{585CB0AA-F2AA-0518-3711-A679D519261E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image png]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/png" alt="Pattern png" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{585CB0AA-F2AA-0518-3711-A679D519261E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-004.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-004.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-004.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:46.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:MediaPlaylist><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaPlaylist><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Files and recording]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="136.6015625" height="139.427719116211"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{40}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\7d1ab415-649a-43bd-a863-bbef841467de.txt" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{44}{B0}" alignment="left"><one:MediaFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\5cdfe8bc-15a0-4ef8-9710-d05c8cbe5118.wav" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{48}{B0}" alignment="left" quickStyleIndex="0"><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T><![CDATA[Recording annotation]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-005.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-005.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-005.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{35E4289B-AD1E-043C-0470-E53BC236A7A8}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:47.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{93E7DAF8-EE72-0A96-3B56-AA3A1B8D270B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-006.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-006.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-006.xml created+300| ... | ... | @@ -0,0 +1,300 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{43868DDB-8EC8-0AFB-0F81-A01966A6BDCA}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:00:48.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:25:44.000Z" objectID="{00067BA4-A18C-06E4-35DF-AC2ABF791B0F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image tiff]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/tiff" alt="Pattern tiff" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{00067BA4-A18C-06E4-35DF-AC2ABF791B0F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx | |
| 3 | jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp | |
| 4 | TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1 | |
| 5 | AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av | |
| 6 | g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw | |
| 7 | BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq | |
| 8 | HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz | |
| 9 | V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5 | |
| 10 | vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf | |
| 11 | KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze | |
| 12 | 3SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc | |
| 13 | s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3 | |
| 14 | zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6 | |
| 15 | ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh | |
| 16 | 0isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S | |
| 17 | ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI | |
| 18 | U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA | |
| 19 | 2pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt | |
| 20 | oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9 | |
| 21 | Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV | |
| 22 | NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj | |
| 23 | NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk | |
| 24 | EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy | |
| 25 | j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8 | |
| 26 | zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm | |
| 27 | g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz | |
| 28 | V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0 | |
| 29 | dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf | |
| 30 | pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC | |
| 31 | IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ | |
| 32 | pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD | |
| 33 | 4n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7 | |
| 34 | n/orm0ofoP42SO3hUhk8aq+A+kJIZYqoLyXUPimVJaP2K6ivQCpbSX2tpg5AVI6GOqijvoGpXD31 | |
| 35 | rZHKQ6h8E1Vgob5DqUIr9b2dKsKoYgdV4qIO4VSpmzrspcoIqtxHVQSoI0EqGKKORqjKKFUVo6pX | |
| 36 | qGMJKrRKHV+jalJU7TpVt0GdyFDhTerkFlWfoxq2qcYd6lSBiuxSp/eophLVvE+1HFJnylT0iDp7 | |
| 37 | QrVWqLZTqv2cOlelYhfU+Suqo0Z1XlNdt9SFOhW/oy4+UN0NqueR6n2mLgEA7d9NtNYWWhuJ1t5K | |
| 38 | +087jUym/dRB6+ikUai0zi7az900Kp32Sw+tq5dGY9K6+2i/9tPobNpvA7SeQRqDS+vl0V4IaEwh | |
| 39 | 7aWI1iehsaS0fhntlYLGBmmvlbQBNY0D0QY1tDc6GhemvdXTeEYaH6EJTLR3FpoQpb230kR2mhij | |
| 40 | SRy0IRdNitOG3TSZlyYnaAofbSRAA4O00RBNGaGpojR1jDa2QoMStPFVmmaNpk3RdOu0iQ0anKFN | |
| 41 | btL0WzRDjmbcpk3t0JACbXqXZtqjmUs0yz5t5pCGlmmzRzTrCc1WodlPaXPnNKxKm7+gOa5ozhrN | |
| 42 | dU1buKXhddriHc39QPM0aN5H2tIzjQAAemsTva2F3k6i/6eVTm6n/0Smd3TQ/7mrTir95y46tZv+ | |
| 43 | C53e1UOn9dK7mfRf++j0fvpvbHrPAJ0xSO/l0l/w6EwB/aWQ3ieisyT0fin9lYzOVtBfg/QBJZ2j | |
| 44 | pg9C9DcaOldHfwvTeXo630gXIPR3JrrQQn+P0kVWuthOl2D0IQdd6qIP43SZmy730hUEfcRHBwP0 | |
| 45 | 0SBdGaKrInR1lD4Wo0Mr9PEEXbNK167RdSn6xDod3qBPZuj6Tbphi27M0ae26cgOfbpAN+3SzXt0 | |
| 46 | S4k+s09HD+mzZbr1iG47odsr9LlTOnZOn6/SHRd05xXdVaMvXNPxW/pine6+o3se6N4GfemRTjzT | |
| 47 | lwGA0dbEaG9h/IfEILcyfmpndJAZlA5GZyfjZyqD2sX4pZvRRWfQehjdvYxfmQx6H+O3fkYPm8EY | |
| 48 | YPQOMl5wGUwe46WA0SdksESMfgnjlZTBljFeKxgDIIOjZAyqGW8gBlfDeKtj8GAGX88QGBnvEIbQ | |
| 49 | xHhvYYhQhtjKkNgZQxhD6mAMuxgynCF3MxRexgjBAH2M0QBDGWSoQgx1hDEWZUAxxvgKQ5NgaFcZ | |
| 50 | ujXGRIoBrzMmNxj6DMOwyTBuMaZyDGSbMb3DMBUY5l2GZY8xU2Kg+4zZQ4a1zLAdMewnjLkKAztl | |
| 51 | zJ8zHFWG84LhumIs1Bj4NWPxluGuMzx3DO8DY6nBIB4Zy88MHwAw25uY/2lhkknMn1qZHe1MCpnZ | |
| 52 | 2cH8uZNJpTJ/6WJ2dTNpdGZ3D/PXXiadyfytj9nTz2Swmb0DzBeDTCaX+ZLH7BMwWUJmv4j5SsJk | |
| 53 | S5mvZcwBBZMDMgeVzDdqJhdivtUweTomH2YK9Mx3RqYQYb43MUUWphhlSqzMITtTijGHHUyZiynH | |
| 54 | mQo3c8TLBAnmqI+pDDBVQaY6xByLMKEoczzG1KwwtQmmbpU5scaEU8zJdaZ+g2nIMI2bzKktJpJj | |
| 55 | Tm8zTTtMc4Fp2WXO7DHREnN2n2k9ZNrKTPsRc+6EiVWY86dMxznTWWW6LpgLV0y8xly8ZrpvmZ46 | |
| 56 | 03vHXHpgEg3m8iPT98z0AwDrP00scgvrJxKro5VFaWd1klk/d7ConaxfqKyuLhatm9VNZ/3aw6L3 | |
| 57 | sn5jsnr6WIx+Vi+b9WKAxRxkveSy+ngsloDVL2S9ErHYEtZrKWtAxuIoWIMg642SxVWz3kIsnobF | |
| 58 | 17EEMOudniU0st4jLJGJJbawJChryMqS2lnDGEvmYMldLAXOGnGzQC9rlGApfSxVgKUOssZCLCjC | |
| 59 | Go+yNDGWdoWlS7AmVlnwGmsyxdKvswwbLGOGNbXJQrZY0zmWaZtl3mFZCqyZXRa6x5otsaz7LNsh | |
| 60 | y15mzR2xsBPWfIXlOGU5z1muKmvhgoVfsRZrLPc1y3PL8tZZS3cs4oG13GD5Hln+Z1YAANjkJvZP | |
| 61 | LewOEpvSyu5sZ/9MZlM72L90sruobFoXu7ub/Sv9n8hh/9bL7mGyGX3s3n72CzabOcB+Ocju47JZ | |
| 62 | PHa/gP1KyGaL2K8l7AEpmyNjDyrYb0A2V8l+q2bzIDZfwxbo2O9gtlDPfm9kixC22MSWWNhDKFtq | |
| 63 | ZQ/b2TKMLXewFS72CM4G3exRL1tJsFU+tjrAHguyoRB7PMLWRNnaGFu3wp5IsOFV9uQaW59iG9bZ | |
| 64 | xg32VIaNbLKnt9imHNu8zbbssGcKbHSXPbvHtpbYtn22/ZA9V2ZjR+z5E7ajwnaesl3n7IUqG79g | |
| 65 | L16x3TW255rtvWUv1dnEHXv5ge1rsP2P7MAz+wMAcH5q4nS0cCgkTmcr5+d2DpXM+aWD09XJoVE5 | |
| 66 | 3V2cX7s5dDrntx5OTy+HweT09nFe9HOYbM7LAU7fIIfF5fTzOK8EHLaQ81rEGZBwOFLOoIzzRsHh | |
| 67 | gpy3Sg5PzeFDHIGG807HEcKc93qOyMgRIxyJiTNk4UhRzrCVI7Nz5BhH4eCMuDggzhl1c5Rejorg | |
| 68 | qH2csQAHCnLGQxxNhKONcnQxzsQKB05wJlc5+jWOIcUxrnOmNjhIhjO9yTFtccw5jmWbM7PDQQuc | |
| 69 | 2V2OdY9jK3Hs+5y5Qw5W5swfcRwnHGeF4zrlLJxz8Cpn8YLjvuJ4ahzvNWfplkPUOct3HN8Dx9/g | |
| 70 | BB45H545QQDgdjRxKS3cThL351YutZ37C5nb1cGldXK7qdxfu7j0bu5vdG5PD5fRy+1lcl/0cZn9 | |
| 71 | 3Jdsbt8AlzXI7edyX/G4bAH3tZA7IOJyJNxBKfeNjMtVcN+CXJ6Sy1dzBRD3nYYr1HHfw1yRnis2 | |
| 72 | ciUId8jElVq4wyhXZuXK7VwFxh1xcEEXdxTnKt1clZerJrhjPi4U4I4HuZoQVxvh6qLciRgXXuFO | |
| 73 | Jrj6Va5hjWtMcafWucgGdzrDNW1yzVtcS447s81Fd7izBa51l2vb49pL3Ll9LnbInS9zHUdc5wnX | |
| 74 | VeEunHLxc+5ileu+4HquuN4ad+maS9xyl+tc3x3X/8ANNLgfHrnBZ+5HAOBTmvidLfyfSXxqK/+X | |
| 75 | dn4XmU/r4Hd38n+l8uld/N+6+T10PqOH39vLf8HkM/v4L/v5fWw+a4DfP8h/xeWzefzXAv6AkM8R | |
| 76 | 8Qcl/DdSPlfGf6vg80A+X8kXqPnvIL5Qw3+v44tgvljPlxj5QwhfauIPW/gylC+38hV2/gjGBx38 | |
| 77 | URdfifNVbr7ayx8j+JCPPx7ga4J8bYivi/Anonw4xp9c4esTfMMq37jGn0rxkXX+9AbflOGbN/mW | |
| 78 | Lf5Mjo9u82d3+NYC37bLt+/x50p8bJ8/f8h3lPnOI77rhL9Q4eOn/MVzvrvK91zwvVf8pRqfuOYv | |
| 79 | 3/J9db7/jh944H9o8IOP/I/P/BAACDubhD+3CKkk4S+twq52IY0s7O4Q/toppFOFv3UJe7qFDLqw | |
| 80 | t0f4olfIZApf9gn7/glktrB/QPhqUMjmCl/zhAMCIUcoHBQJ30iEXKnwrUzIUwj5oFCgFL5TC4WQ | |
| 81 | 8L1GKNIJxbBQohcOGYVSRDhsEsosQjkqVFiFI3YhiAlHHUKlS6jChWq3cMwrhAjhuE+oCQi1QaEu | |
| 82 | JJyICOGocDIm1K8IDQmhcVU4tSZEUsLpdaFpQ2jOCC2bwpktIZoTzm4LrTtCW0Fo3xXO7QmxknB+ | |
| 83 | X+g4FDrLQteRcOFEiFeEi6dC97nQUxV6L4RLV0KiJly+Fvpuhf66MHAn/PAgDDaEHx+FoWdhGADE | |
| 84 | PzeJqS3iX0jirlYxrV3cTRb/2iGmd4p/o4p7usSMbnEvXfyiR8zsFb9kivv6xKx+cT9b/GpAzB4U | |
| 85 | v+aKB3hijkA8KBS/EYm5EvFbqZgnE/MVYgEofqcUC9Xi95BYpBGLdWIJLB7Si6VG8TAilpnEcotY | |
| 86 | gYpHrGLQLh7FxEqHWOUSq3HxmFsMecXjhFjjE2sDYl1QPBESwxHxZFSsj4kNK2JjQjy1KkbWxNMp | |
| 87 | sWldbN4QWzLimU0xuiWezYmt22LbjtheEM/tirE98XxJ7NgXOw/FrrJ44UiMn4gXK2L3qdhzLvZW | |
| 88 | xUsXYuJKvFwT+67F/ltxoC7+cCcOPog/NsShR3H4WRwBACm1SfpLi7SLJKW1Srvbpb+SpfQO6W+d | |
| 89 | 0h6qlNEl7e2WvqBLmT3Sl73SPqaU1Sft75e+Ykv/eVevB6UDXCmHJx0USN8IpVyR9K1EypNK+TKp | |
| 90 | QCF9B0qFSul7tVQEScUaqUQnHYKlUr102CiVIVK5SaqwSEdQKWiVjtqlSkyqckjVLukYLoXc0nGv | |
| 91 | VENItT6pLiCdCErhkHQyItVHpYaY1LginUpIkVXp9JrUlJKa16WWDelMRopuSme3pNac1LYtte9I | |
| 92 | 5wpSbFc6vyd1lKTOfanrULpQluJH0sUTqbsi9ZxKvefSpaqUuJAuX0l9Nan/Whq4lX6oS4N30o8P | |
| 93 | 0lBDGn6URp6lnwBA/kuTvKtFTiPJu1vlv7bL6WT5bx3ynk45gyrv7ZK/6JYz6fKXPfK+XjmLKe/v | |
| 94 | k7/ql7PZ8tcD8oFBOYcrH+TJ3wjkXKH8rUjOk8j5UrlAJn+nkAtB+XulXKSWiyG5RCMf0smlsHxY | |
| 95 | L5cZ5XJErjDJRyxyEJWPWuVKu1yFydUO+ZhLDuHycbdc45VrCbnOJ58IyOGgfDIk10fkhqjcGJNP | |
| 96 | rciRhHx6VW5ak5tTcsu6fGZDjmbks5ty65bclpPbt+VzO3KsIJ/flTv25M6S3LUvXziU42X54pHc | |
| 97 | fSL3VOTeU/nSuZyoypcv5L4rub8mD1zLP9zKg3X5xzt56EEebsgjj/JPz/IoAIBdTSCtBewmgb+2 | |
| 98 | gvR28Dcy2NMBMjrBXir4ogtkdoMv6WBfD8jqBfuZ4Ks+kN0PvmaDAwMgZxAc5IJveCBXAL4VgjwR | |
| 99 | yJeAAin4TgYKFeB7EBQpQbEalEDgkAaU6sBhGJTpQbkRVCDgiAkELeAoCiqtoMoOqjFwzAFCLnAc | |
| 100 | BzVuUOsFdQQ44QPhADgZBPUh0BABjVFwKgYiK+B0AjStguY10JICZ9ZBdAOczYDWTdC2Bdpz4Nw2 | |
| 101 | iO2A8wXQsQs690BXCVzYB/FDcLEMuo9AzwnorYBLpyBxDi5XQd8F6L8CAzXwwzUYvAU/1sHQHRh+ | |
| 102 | ACMN8NMjGH0GPwOAitak6m5R/UpS0VtVv7WresgqRoeqt1P1gqpidqledqv66CpWj6q/V/WKqWL3 | |
| 103 | qV73qwbYKs6AanBQ9Yar4vJUbwUqnlDFF6kEEtU7qUooU71XqESgSqxUSdSqIUgl1aiGdSoZrJLr | |
| 104 | VQqjagRRgSbVqEWlRFUqq0ptV41hKsihGnepNLhK61bpvKoJQgX7VJMBlT6oMoRUxohqKqpCYqrp | |
| 105 | FZUpoTKvqixrqpmUCl1XzW6orBmVbVNl31LN5VTYtmp+R+UoqJy7KteeaqGkwvdVi4cqd1nlOVJ5 | |
| 106 | T1RLFRVxqlo+V/mqKv+FKnCl+lBTBa9VH29VoboqfKeKPKg+NVTRR9XnZ1UMAKDuJujXFohOgn5r | |
| 107 | hXraIQYZ6u2AXnRCTCr0sgvq64ZYdKi/B3rVC7GZ0Os+aKAf4rChwQHozSDE5UJveRBP8M8nhwQi | |
| 108 | 6J0EEkqh9zJIpIDEICRRQkNqSApBwxpIpoPkMKTQQyNGCESgUROktEAqFFJboTE7BGHQuAPSuCAt | |
| 109 | Dunc0IQXgglo0gfpA5AhCBlD0FQEQqLQdAwyrUDmBGRZhWbWIDQFza5D1g3IloHsm9DcFoTloPlt | |
| 110 | yLEDOQuQaxda2IPwErS4D7kPIU8Z8h5BSycQUYGWTyHfOeSvQoEL6MMVFKxBH6+h0C0UrkORO+jT | |
| 111 | AxRtQJ8fodgzFAcA7a9NWnqL9jeStqdVy2jX9pK1Lzq0zE7tS6q2r0vL6tb207WverTsXu1rpnag | |
| 112 | T8vp1w6ytW8GtNxB7VuulsfT8gVagVD7TqQVSrTvpVqRTCtWaCWgdkiplaq1w5BWptHKdVoFrB3R | |
| 113 | a0GjdhTRKk1alUWrRrVjVi1k145jWo1Dq3Vpdbh2wq2FvdpJQqv3aQ0BrTGonQppkYh2Oqo1xbTm | |
| 114 | Fa0loZ1Z1aJr2tmU1rqutW1o7Rnt3KYW29LO57SOba1zR+sqaBd2tfiedrGkde9rPYdab1m7dKQl | |
| 115 | TrTLFa3vVOs/1waq2g8X2uCV9mNNG7rWhm+1kbr20502+qD93NDGHrXxZ+0KAMD0Jvi3FriHBDNa | |
| 116 | 4d52+AUZZnbALzvhPirM6oL7u+FXdJjdA7/uhQeYMKcPHuyH37Bh7gD8dhDmcWE+DxYI4HdCWCiC | |
| 117 | 30tgkRQWy2CJAh4CYakSHlbDMgiWa2CFDh6BYVAPjxphJQKrTLDaAo+hMGSFx+2wBoO1Dljngidw | |
| 118 | GHbDk15YT8AGH2wMwFNBGAnB0xHYFIXNMdiyAs8kYHQVnl2DrSnYtg7bN+C5DIxtwvNbsCMHO7dh | |
| 119 | 1w68UIDxXXhxD3aXYM8+7D2El8owcQQvn8C+Cuw/hQPn8IcqHLyAP17BoRocvoYjt/CnOhy9gz8/ | |
| 120 | wLEGHH+EV57hLwBg+K3J0NNiYJAMva2GF+0GJtnwssPQ12lgUQ39XYZX3QY23fC6xzDQa+AwDYN9 | |
| 121 | hjf9Bi7b8HbAwBs08LkGAc/wTmAQCg3vRQaRxCCWGiQyw5DCIAUNw0qDTG2QQwaFxjCiM4CwYVRv | |
| 122 | UBoNKsSgNhnGLAYINYxbDRq7QYsZdA7DhMsA44ZJt0HvNRgIg9FnmAoYkKBhOmQwRQzmqMESM8ys | |
| 123 | GNCEYXbVYF0z2FIG+7phbsOAZQzzmwbHlsGZM7i2DQs7BrxgWNw1uPcMnpLBu29YOjQQZcPykcF3 | |
| 124 | YvBXDIFTw4dzQ7Bq+HhhCF0ZwjVD5Nrw6dYQrRs+3xliD4Z4w7DyaPjybEgAANLThDBakF4S8qIV | |
| 125 | YbYjL8lIXwfC6kT6qcirLoTdjbymIwM9CKcXGWQib/oQbj/ylo3wBhD+ICLgIu94iFCAvBciIhEi | |
| 126 | liASKTL0T89RIMMgIlMicjWigJARDQLqkFEYUeoRlRFRI8iYCYEsyDiKaKyI1o7oMGTCgcAuZBJH | |
| 127 | 9G7E4EWMBDLlQ5AAMh1ETCHEHEEsUWQmhqAryGwCsa4itjXEnkLm1hFsA5nPII5NxLmFuHLIwjaC | |
| 128 | 7yCLBcS9i3j2EG8JWdpHiENkuYz4jhD/CRKoIB9OkeA58rGKhC6Q8BUSqSGfrpHoLfK5jsTukPgD | |
| 129 | stJAvjwiiWfkKwCYGU3m3hbzC5KZ2Wp+2W7uI5tZHeb+TvMrqpndZX7dbR6gmzk95sFe8xummdtn | |
| 130 | fttv5rHN/AGzYND8jmsW8szvBWaR0CwWmSUS85DULJWZhxVmGWiWK80KtXkEMoMa86jOrITNKr1Z | |
| 131 | bTSPIWbIZB63mDWoWWs16+zmCcwMO8yTLrMeNxvcZqPXPEWYEZ95OmA2Bc3mkNkSMc9EzWjMPLti | |
| 132 | tibMtlWzfc08lzJj6+b5DbMjY3Zuml1b5oWcGd82L+6Y3QWzZ9fs3TMvlczEvnn50Owrm/1H5sCJ | |
| 133 | +UPFHDw1fzw3h6rm8IU5cmX+VDNHr82fb82xujl+Z155MH9pmBOP5q/P5lUAQHub0BctKJOEvmxF | |
| 134 | +9pRFhnt70BfdaJsKvq6Cx3oRjl0dLAHfdOLcpno2z6U14/y2ahgAH03iAq56HseKhKgYiEqEaFD | |
| 135 | ElQqRYdlqEyB/tMCFUp0RI2CEDqqQZU6VAWjaj06ZkQhBB03oRoLqkVRnRWdsKMwhk46UL0LNeCo | |
| 136 | 0Y1OeVGEQKd9qCmAmoOoJYTORFA0is7GUOsKakug9lV0bg3FUuj8OurYQJ0Z1LWJLmyheA5d3Ebd | |
| 137 | O6ingHp30aU9lCihy/uo7xD1l9HAEfrhBA1W0I+naOgcDVfRyAX66QqN1tDP12jsFo3X0ZU79MsD | |
| 138 | mmigXx/R1Wc0CQC2F002ZovtJcnW12pjtdv6ybZXHTZ2p+011TbQZeN02wbptjc9Nm6v7S3Txuuz | |
| 139 | 8fttArbt3YBNOGh7z7WJeDaxwCYR2oZENqnENiy1yWQ2ucKmAG0jShuoto1CNqXGptLZ1LBtTG+D | |
| 140 | jLZxxKYx2bQWmw61TVhtsN02idn0DpvBZTPitim3DfHapgmbyWczB2yWoG0mZEMjttmozRqz2VZs | |
| 141 | 9oRtbtWGrdnmUzbHus25YXNlbAubNnzLtpizubdtnh2bt2Bb2rURe7blks23b/Mf2gJl24cjW/DE | |
| 142 | 9rFiC53awue2SNX26cIWvbJ9rtli17b4rW2lbvtyZ0s82L42bKuPtuSzbQ0AMGYT9rIF6yNhrFas | |
| 143 | vx17RcbYHdjrTmyAinG6sMFu7A0d4/Zgb3sxHhPj92GCfuwdGxMOYO8HMREXE/MwiQAbEmJSETYs | |
| 144 | wWRSTC7DFApsBMRAJTaqxpQQptJgah02BmOQHhs3YhoE05ownQWbQDHYik3aMT2GGRyY0YVN4Rji | |
| 145 | xqa9mInAzD7MEsBmghgawmYjmDWK2WKYfQWbS2DYKja/hjlSmHMdc21gCxkM38QWtzB3DvNsY94d | |
| 146 | bKmAEbvY8h7mK2H+fSxwiH0oY8Ej7OMJFqpg4VMsco59qmLRC+zzFRarYfFrbOUW+1LHEnfY1wds | |
| 147 | tYElH7G1Z+wbADhfNjn7WpwskrO/1fmq3ckmO193OAc6nRyqc7DL+abbyaU73/Y4eb1OPtMp6HO+ | |
| 148 | 63cK2c73A07RoFPMdUp4ziGBUyp0DoucMolTLnUqZM4RhRMEnaNKp1LtVEFOtcY5pnNCsHNc79QY | |
| 149 | nVrEqTM5JyxOGHVOWp16u9OAOY0O55TLieDOabfT5HWaCafF55wJONGgczbktEactqjTHnPOrTix | |
| 150 | hHN+1elYczpTTte6c2HDiWeci5tO95bTk3N6t51LO06i4Fzedfr2nP6SM7Dv/HDoDJadH4+coRNn | |
| 151 | uOKMnDo/nTujVefnC2fsyhmvOVeunV9unYm68+udc/XBmWw41x6d356dKQDA+5pwVgveT8JfteLs | |
| 152 | dvw1GR/owDmd+CAVf9OFc7vxt3Sc14Pze3EBE3/Xhwv78fdsXDSAiwdxCRcf4uFSAT4sxGUiXC7B | |
| 153 | FVJ8RIaDCnwUxJVKXKXG1RA+pvmnIOPjMK7R41ojrkPwCRMOW/BJFNdbcYMdN2L4lANHXPg0jpvc | |
| 154 | uNmLWwh8xoejAXw2iFtDuC2C26P4XAzHVvD5BO5YxZ1ruCuFL6zj+Aa+mMHdm7hnC/fm8KVtnNjB | |
| 155 | lwu4bxf37+GBEv5hHw8e4h/LeOgID5/gkQr+6RSPnuOfq3jsAo9f4Ss1/Ms1nrjFv9bx1Ts8+YCv | |
| 156 | NfBvj3jqGf8OAB5Wk6e/xfOK5GG3el63ewbIHk6HZ7DT84bq4XZ53nZ7eHQPv8cj6PW8Y3qEfZ73 | |
| 157 | /R4R2yMe8EgGPUNcj5TnGRZ4ZEKPXORRSDwjUg8o84wqPErQo1J61GrPGOSBNJ5xnUcDe7R6j87o | |
| 158 | mUA8sMkzafHoUY/B6jHaPVOYB3F4pl0eE+4xuz0Wr2eG8KA+z2zAYw16bCGPPeKZi3qwmGd+xeNI | |
| 159 | eJyrHteaZyHlwdc9ixsed8bj2fR4tzxLOQ+x7Vne8fgKHv+uJ7Dn+VDyBPc9Hw89obInfOSJnHg+ | |
| 160 | VTzRU8/nc0+s6olfeFauPF9qnsS15+utZ7XuSd551h483xqe1KPn+7NnHQCI/ibiVQvBJhGvW4mB | |
| 161 | doJDJgY7iDedBJdKvO0ieN0En04Ieoh3vYSQSbzvI0T9hJhNSAaIoUFCyiWGeYRMQMiFhEJEjEgI | |
| 162 | UEqMygilglCBhFpJjKkJCCLGNYRGR2hhQqcnJowEjBCTJkJvIQwoYbQSU3YCwYhpB2FyEWacsLiJ | |
| 163 | GS+BEsSsj7AGCFuQsIeIuQiBRYn5GOFYIZwJwrVKLKwReIpYXCfcG4QnQ3g3iaUtgsgRy9uEb4fw | |
| 164 | F4jALvFhjwiWiI/7ROiQCJeJyBHx6YSIVojPp0TsnIhXiZUL4ssVkagRX6+J1VsiWSfW7ohvD0Sq | |
| 165 | QXx/JNafiTQA+F81+dkt/tck/0Crn9PuHyT733T4uZ3+t1Q/r8vP7/YL6P53PX5hr/890y/q84v7 | |
| 166 | /RK2f2jALx30D3P9Mp5fLvArhP4RkR+U+EelfqXMr1L41aB/TOmH1P5xyK/R+LU6vw72T+j9sNE/ | |
| 167 | ifj1Jr/B4jei/imrH7H7pzG/yeE3u/wW3D/j9qNe/yzht/r8toDfHvTPhfxYxD8f9TtifueK35Xw | |
| 168 | L6z68TX/YsrvXvd7NvzejH9p009s+Zdzft+237/jDxT8H3b9wT3/x5I/tO8PH/ojZf+nI3/0xP+5 | |
| 169 | 4o+d+uPn/pWq/8uFP3Hl/1rzr177k7f+tbr/250/9eD/3vCvP/rTz/4NAAiym4KvW4IDpCCnNTjY | |
| 170 | HnxDDnI7gm87gzxqkN8VFHQH39GDwp7g+96giBkU9wUl/cEhdlA6EBweDMq4QTkvqBAER4RBUBQc | |
| 171 | lQSV0qBKFlQrgmNgEFIGx9VBDRTUaoI6XXACDsL64KQxqP8HH0xBoyU4hQYRa3DaHjRhQbMjaHEF | |
| 172 | Z/Ag6g7OeoNWImjzBe2B4FwwiIWC85GgIxp0xoKuleBCIoivBhfXgu5U0LMe9G4ElzJBYjO4vBX0 | |
| 173 | 5YL+7WBgJ/ihEAzuBj/uBUOlYHg/GDkMfioHo0fBzyfBWCUYPw2unAe/VIOJi+DXq+BqLZi8Dq7d | |
| 174 | Br/Vg6m74PeH4HojmH4MbjwHfwBA+HVTeKAlzCGFB1vDb9rDXHL4bUeY1xnmU8OCrvC77rCQHn7f | |
| 175 | Exb1hsXMsKQvPNQflrLDwwNh2WBYzg0reOERQRgUhkdFYaUkrJKG1bLwmCIMgeFxZVijDmuhsE4T | |
| 176 | ntCFYTg8qQ/rjWEDEjaawlOWMIKGp61hkz1sxsIWR3jGFUbx8Kw7bPWGbUTY7gvPBcJYMDwfCjsi | |
| 177 | YWc07IqFF1bCeCK8uBp2r4U9qbB3Pby0ESYy4eXNsG8r7M+FA9vhDzvhYCH8cTcc2guHS+HIfvjT | |
| 178 | YThaDn8+CsdOwvFKeOU0/OU8nKiGv16EV6/CyVp47Tr87Tacqoe/34XXH8LpRnjjMfzjOZwBgOhA | |
| 179 | U5TTEh0kRd+0Rrnt0bfkKK8jyu+MCqjRd11RYXf0PT0q6omKe6MSZnSoLyrtjw6zo7KBqHwwquBG | |
| 180 | R3hRUBAdFUaVoqhKElVLo2OyKKSIjoNRjTKqVUd1UHRCE4V10Uk4qtdHDcaoEYlOmaL/wNU0GjVZ | |
| 181 | o2Z71IJFZxxR1BWdxaNWd9TmjdqJ6JwvigWi88GoIxR1RqKuaHQhFsVXoouJqHs16lmLelPRpfUo | |
| 182 | sRFdzkR9m1H/VjSQi37YjgZ3oh8L0dBuNLwXjZSin/aj0cPo53I0dhSNn0RXKtEvp9HEefRrNbp6 | |
| 183 | EU1eRddq0W/X0dRt9Hs9un4XTT9ENxrRH4/RzHP0dwCIc5rigy3xN6Q4tzX+tj3OI8f5HXFBZ/wd | |
| 184 | NS7sir/vjovocXFPXNIbH2LGpX3x4f64jB2XD8QVg/ERbhzkxUcFcaUwrhLF1ZL4mDQOyeLjirgG | |
| 185 | jGuVcZ06PgHFYU18UhfXw3GDPm40xqeQOGKKT1viJjRutsYt9vgMFkcd8VlX3IrHbe643RufI+KY | |
| 186 | Lz4fiDuCcWco7orEF6JxPBZfXIm7E3HPaty7Fl9KxYn1+PJG3JeJ+zfjga34h1w8uB3/uBMPFeLh | |
| 187 | 3XhkL/6pFI/uxz8fxmPlePwovnIS/1KJJ07jX8/jq9V48iK+dhX/VounruPfb+Pr9Xj6Lr7xEP/R | |
| 188 | iGce478/xzcBIDHYlHjTkuCSEm9bE7z2BJ+cEHQk3nUmhNTE+66EqDshpickPYmh3oSUmRjuS8j6 | |
| 189 | E3J2QjGQGBlMgNzEKC+hFCRUwoRalBiTJCBpYlyW0CgSWjChUyYm1AkYSkxqEnpdwgAnjPrElDGB | |
| 190 | IIlpU8JkSZjRhMWamLEnUCwx60hYXQkbnrC7E3PeBEYk5n0JRyDhDCZcocRCJIFHE4uxhHsl4Ukk | |
| 191 | vKuJpbUEkUosryd8Gwl/JhHYTHzYSgRziY/bidBOIlxIRHYTn/YS0VLi834idpiIlxMrR4kvJ4lE | |
| 192 | JfH1NLF6nkhWE2sXiW9XiVQt8f06sX6bSNcTG3eJHw+JTCPx+2Ni8zmRBYDkm6YktyX5lpTktSb5 | |
| 193 | 7UkBOfmuIynsTL6nJkVdSXF3UkJPDvUkpb3JYWZS1peU9ycV7OTIQBIcTI5yk0peUiVIqoXJMVES | |
| 194 | kiTHpUmNLKlVJHVgckKZhNXJSSip1yQNuqQRTk7pk4gxOY0kTaak2ZK0oMkZaxK1J2expNWRtLmS | |
| 195 | djw5505i3uQ8kXT4ks5A0hVMLoSSeCS5GE26Y0nPStKbSC6tJom15HIq6VtP+jeSgUzyw2YyuJX8 | |
| 196 | mEuGtpPhnWSkkPy0m4zuJT+XkrH9ZPwwuVJOfjlKJk6SXyvJ1dNk8jy5Vk1+u0imrpLfa8n162T6 | |
| 197 | NrlRT/64S2Yekr83kpuPyexzcgsAUtym1NuWFI+U4remBO2pd+SUsCP1vjMloqbEXSlJd2qInpL2 | |
| 198 | pIZ7UzJmSt6XUvSnRtgpcCA1OphSclMqXkotSI0JU5AoNS5JaaQprSylU6QmwBSsTE2qU3ooZdCk | |
| 199 | jLrUFJxC9KlpY8qEpMymlMWSmkFTqDU1a09ZsX+4M2V3pebwFOZOzXtTDiLl9KVcgdRCMIWHUouR | |
| 200 | lDua8sRS3pXUUiJFrKaW11K+VMq/ngpspD5kUsHN1MetVCiXCm+nIjupT4VUdDf1eS8VK6Xi+6mV | |
| 201 | w9SXcipxlPp6klqtpJKnqbXz1LdqKnWR+n6VWq+l0tepjdvUj3oqc5f6/SG12UhlH1Nbz6k/ACD9 | |
| 202 | tinNa0nzSWlBa/pde1pITr/vSIs602JqWtKVHupOS+np4Z60rDctZ6YVfemR/jTITo8OpJWDaRU3 | |
| 203 | realxwRpSJgeF6U1krRWmtbJ0hOKNAymJ5VpvTptgNJGTXpKl0bg9LQ+bTKmzUjaYkrPWNIomp61 | |
| 204 | pq32tA1L2x3pOVcaw9Pz7rTDm3YSaZcvvRBI48H0YijtjqQ90bQ3ll5aSROJ9PJq2reW9qfSgfX0 | |
| 205 | h410MJP+uJkObaXDuXRkO/1pJx0tpD/vpmN76XgpvbKf/nKYTpTTX4/SqyfpZCW9dpr+dp5OVdPf | |
| 206 | L9LrV+l0Lb1xnf5xm87U07/fpTcf0tlGeusx/cdzOgcAGV5Tht+SEZAy71ozwvbMe3JG1JERd2Yk | |
| 207 | 1MxQV0banRmmZ2Q9GXlvRsHMjPRlwP7MKDujHMioBjNqbmaMl4EEmXFhRiPKaCUZnTQzIcvAiswk | |
| 208 | mNErMwZ1xghlpjQZRJeZhjMmfcZszFiQzIwpg1oys2jGas3Y7Bk7lplzZDBXZh7PONwZpzfjIjIL | |
| 209 | vgweyCwGM+5QxhPJeKOZpViGWMksJzK+1Yx/LRNIZT6sZ4IbmY+ZTGgzE97KRHKZT9uZ6E7mcyET | |
| 210 | 283E9zIrpcyX/UziMPO1nFk9yiRPMmuVzLfTTOo8872aWb/IpK8yG7XMj+tM5jbzez2zeZfJPmS2 | |
| 211 | Gpk/HjO558yfAJDlN2UFLdl3pKywNfu+PSsiZ8UdWUlndoialXZlh7uzMnpW3pNV9GZHmFmwLzva | |
| 212 | n1Wys6qBrHowO8bNQrzsuCCrEWa1oqxOkp2QZmFZdlKR1YNZgzJrVGenoCyiyU7rsiY4a9ZnLcbs | |
| 213 | DJJFTdlZS9aKZm3WrN2encOymCM778o68KzTnXV5swtEFvdlFwNZdzDrCWW9kexSNEvEsssrWV8i | |
| 214 | 61/NBtayH1LZ4Hr240Y2lMmGN7ORreynXDa6nf28k40VsvHd7Mpe9kspm9jPfj3MrpazyaPs2kn2 | |
| 215 | WyWbOs1+P8+uV7Ppi+zGVfZHLZu5zv5+m92sZ7N32a2H7B+NbO4x++dzdhsAcoKm3LuWnJCUe9+a | |
| 216 | E7XnxOScpCM31JmTUnPDXTlZd05Ozyl6ciO9OZCZG+3LKftzKnZOPZAbG8xB3Nw4L6cR5LTCnE6U | |
| 217 | m5DkYGluUpbTK3IGMGdU5qbUOQTKTWtyJl3ODOcs+tyMMYciuVlTzmrJ2dCc3Zqbs+cwLDfvyDlc | |
| 218 | OSeec7lzC/9QOZFb9OXcgZwnmPOGckuRHBHNLcdyvpWcP5ELrOY+rOWCqdzH9VxoIxfO5CKbuU9b | |
| 219 | uWgu93k7F9vJxQu5ld3cl71copT7up9bPcwly7m1o9y3k1yqkvt+mls/z6WruY2L3I+rXKaW+/06 | |
| 220 | t3mby9ZzW3e5Px5yuUbuz8fc9nMuDwD5d015YUv+PSkvas2L2/MScn6oIy/tzA9T87KuvLw7r6Dn | |
| 221 | R3ryYG9+lJlX9uVV/Xk1Oz82kIcG8+PcvIaX1wryOmF+QpSHJflJaV4vyxsUeSOYn1LmEXV+Gsqb | |
| 222 | NHmzLm+B8zP6PGrMzyJ5qylvs+TtaH7Omsfs+Xks73Dkna68C88vuPO4N79I5N2+vCeQ9wbzS6E8 | |
| 223 | EckvR/O+WN6/kg8k8h9W88G1/MdUPrSeD2/kI5n8p818dCv/OZePbefjO/mVQv7Lbj6xl/9ayq/u | |
| 224 | 55OH+bVy/ttRPnWS/17Jr5/m0+f5jWr+x0U+c5X/vZbfvM5nb/Nb9fwfd/ncQ/7PRn77MZ9/zu8A | |
| 225 | QEHYVHjfUhCRCuLWgqS9MEQuSDsKw50FGbUg7yoougsj9ALYUxjtLSiZBVVfQd1fGGMXoIHC+GBB | |
| 226 | wy1oeQWdoDAhLMCiwqSkoJcWDLKCUVGYAguIsjCtLpiggllTsOgKM3AB1RdmjQUrUrCZCnZLYQ4t | |
| 227 | YNbCvL3gwApOR8HlKizgBdxdWPQW3EThH2fhDRSWggUiVFiOFHzRgj9WCKwUPiQKwdXCx7VCKFUI | |
| 228 | rxciG4VPmUJ0s/B5qxDLFeLbhZWdwpdCIbFb+LpXWC0VkvuFtcPCt3IhdVT4flJYrxTSp4WN88KP | |
| 229 | aiFzUfj9qrBZK2SvC1u3hT/qhdxd4c+HwnajkH8s7DwX/gKA4vumoqilKCYVJa3FofailFwc7ijK | |
| 230 | OotyalHRVRzpLoL04mhPUdlbVDGL6r7iWH8RYhfHB4qawaKWW9TxihOCIiwsToqKeknRIC0aZcUp | |
| 231 | RREBi9PKokldNENFi6Y4oyuicHFWX7QaizakaDcV5yxFDC3OW4sOe9GJFV2O4oKriOPFRXfR7S16 | |
| 232 | iKLXV1wKFIlgcTlU9EWK/mgxECt+WCkGE8WPq8XQWjGcKkbWi582itFM8fNmMbZVjOeKK9vFLzvF | |
| 233 | RKH4dbe4uldMlopr+8Vvh8VUufj9qLh+UkxXihunxR/nxUy1+PtFcfOqmK0Vt66Lf9wWc/Xin3fF | |
| 234 | 7YdivlHceSz+9VwsAEBJ1FQSt5QkpNJQa0naXhoml2QdJXlnSUEtjXSVwO7SKL2k7CmpektqZmms | |
| 235 | rwT1l8bZJc1ASTtY0nFLE7wSLChNCkt6UckgKRmlpSlZCVGUpsGSSVkyq0sWqDSjKaG60ixcsupL | |
| 236 | NmPJjpTmTCXMUppHSw5ryWkvubDSgqOEu0qLeMntLnm8JS9RWvKViEBpOVjyhUr+SCkQLX2IlYIr | |
| 237 | pY+JUmi1FF4rRVKlT+ul6Ebpc6YU2yzFt0orudKX7VJip/S1UFrdLSX3Smul0rf9Uuqw9L1cWj8q | |
| 238 | pU9KG5XSj9NS5rz0e7W0eVHKXpW2aqU/rku529Kf9dL2XSn/UNpplP56LBWeS38DwIG46UDScjBE | |
| 239 | OpC2Hgy3H8jIB/KOA0XnwQj1AOw6GO0+UNIPVD0H6t6DMeYB1Hcw3n+gYR9oBw50gwcT3AOYdzAp | |
| 240 | ONALDwyiA6PkYEp6gMgOphUHJvDArDywqA9moANUczCrO7DCBzb9gd14MIccYKaDecuBAz1wWg9c | |
| 241 | 9oMF7AB3HCy6Dtz4gcd94PUeLBEHhO9gOXDgCx74QweByMGH6EEwdvBx5SCUOAivHkTWDj6lDqLr | |
| 242 | B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/ | |
| 243 | 2KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r | |
| 244 | OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT | |
| 245 | srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e | |
| 246 | 8pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd | |
| 247 | Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v | |
| 248 | 79yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq | |
| 249 | PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO | |
| 250 | bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ | |
| 251 | cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/ | |
| 252 | Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453 | |
| 253 | H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2 | |
| 254 | BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn | |
| 255 | qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa | |
| 256 | +bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU | |
| 257 | sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk | |
| 258 | /Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW | |
| 259 | nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv | |
| 260 | 42zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki | |
| 261 | c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e | |
| 262 | nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq | |
| 263 | plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz | |
| 264 | YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+ | |
| 265 | 8FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X | |
| 266 | quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8 | |
| 267 | qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl | |
| 268 | 3Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA | |
| 269 | l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/ | |
| 270 | RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7 | |
| 271 | l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3 | |
| 272 | fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa | |
| 273 | 1GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L | |
| 274 | zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV | |
| 275 | /lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla | |
| 276 | 2z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1 | |
| 277 | +Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV | |
| 278 | 3MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+ | |
| 279 | 100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8 | |
| 280 | 27xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K | |
| 281 | Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt | |
| 282 | a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6 | |
| 283 | pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX | |
| 284 | jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP | |
| 285 | 7NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo | |
| 286 | 7zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y | |
| 287 | dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7 | |
| 288 | Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P | |
| 289 | 3q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/ | |
| 290 | /8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97 | |
| 291 | vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh | |
| 292 | HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp | |
| 293 | LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41 | |
| 294 | 1lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0 | |
| 295 | UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn | |
| 296 | DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk | |
| 297 | lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe | |
| 298 | PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM | |
| 299 | U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx | |
| 300 | tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-007.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-007.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-007.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{45CD2B75-3511-0E18-1ED1-A4F292E98BC8}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:50.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{9BF08D5A-C2CC-06FD-20A2-36365AA7D039}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image jpg]]></one:T></one:OE></one:Title><one:Image format="jpg" hyperlink="https://example.invalid/image/jpg" alt="Pattern jpg" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{9BF08D5A-C2CC-06FD-20A2-36365AA7D039}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a | |
| 3 | HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy | |
| 4 | MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA | |
| 5 | AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA | |
| 6 | AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 | |
| 7 | ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm | |
| 8 | p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA | |
| 9 | AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx | |
| 10 | BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK | |
| 11 | U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 | |
| 12 | uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa | |
| 13 | plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl | |
| 14 | h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV | |
| 15 | lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1 | |
| 16 | WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP | |
| 17 | tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw | |
| 18 | 1MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ | |
| 19 | YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW | |
| 20 | H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z | |
| 21 | </one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-008.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-008.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-008.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{59B2724D-8424-0624-39D2-34278D058FD8}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:51.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{9F0FF7C1-D4DF-0B70-0B48-E6D60AAD9643}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-009.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-009.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-009.xml created+46| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8A48861A-496F-05FB-36BA-710F3EF7D51E}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:00:52.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{F11D8E2B-2F45-0008-211C-E532CEC05C7D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image gif]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/gif" alt="Pattern gif" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{F11D8E2B-2F45-0008-211C-E532CEC05C7D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S | |
| 3 | uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5 | |
| 4 | qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4 | |
| 5 | a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG | |
| 6 | YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em | |
| 7 | qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW | |
| 8 | h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK | |
| 9 | hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ | |
| 10 | UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i | |
| 11 | R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4 | |
| 12 | A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo | |
| 13 | AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK | |
| 14 | VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4 | |
| 15 | GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa | |
| 16 | Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ | |
| 17 | REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC | |
| 18 | KKRNURRZytZqRr9zzl2+79779Ty+9w943+ccZ7fPLvGv+N1js9jk8r7HfDFPzCRvktfIDOGEA64/ | |
| 19 | rYD8oUCFVyhPGuAHtqRYUJq0IHFAOFBh7C4Hu/4B//4NfgO/bwGbN4JNm34FC8D7pWD+XDBv3hww | |
| 20 | 8w3w5uvgtVfBjBmvAAf+CvrL6f+HfgXo30L/RurdAP2l9M+lfs4c+t+g/3X6X6U+JiB/egH54wJ/ | |
| 21 | xQ74bUNkAR9a8F5kQeKAaOAvUr5T7CB20Aay5WexTkBPSt8Rb4uXyUvkBfK8cCqkNxL9O3ZIbyQH | |
| 22 | 1klvxATkDwVC/p3btcAPrE8RmJ0U0IAX4wJ/+mDBdoLAeg8E1q5da/f8BGZ7IDBr1iy75y0DeqIB | |
| 23 | U6dOtXueM5wgsM1QYKvhB0wOaE8MmBzAbkyfPl2BadOmmd2A3Qv8QRBAAXoGfiHRwLskEkDB9OGA | |
| 24 | 5H5gm/Rbt8oeDcgeDtgAg/qUAQ7YliJQVoZ7lhjJgZIS/FNcHAkUFeGfwsJC50efH8T34guPMgE5 | |
| 25 | eNajRBSLSWQiKSImB5GA608rIH8osMZbsDppgB9YmmLBlKQFiQPCgTXGj6vBD6vA99+Bz8EXS0HZ | |
| 26 | YrBkyWfgGfDsFFDyNCgungwmTQATx4OicaCw8EHgwL+G/tX0r6JfAfqX0r+YejdA/xT6n6Z+8mT6 | |
| 27 | J9A/nv5x1McE5E8vIH/KQGRAzAI+9Ex0QeKAUOBb8g34mnxFPiWfgI/FIvIUeRI8IR4nD5D7yX1i | |
| 28 | NHECfzRAvxuQXwH63YD8MQH5owEN0II9DWiAuyAxsHJl8NCKFb5/4cLIAg547LHIAj00dmx8YCXh | |
| 29 | QysEBywkuOhDY9GiDwD9ABc9YjwsqCcYMMoYPfpe4HwrvbHckH+ZIb0Bu0G9Ib0BexAoKCiQf8yY | |
| 30 | MdCPGkW9BaD+kiCAAvQMfESigUeJH3gIWAAF04cDkvuB5dIvWyZ7NCB7EKBegQLqUwY4YHmKQH4+ | |
| 31 | 7ulnJAdycxP8iYGcHPyTnZ3tjPQZJoaK2zzyBeSgtUeuaCGakpNIDjE5iARcf1oB+UOBEd6C4UkD | |
| 32 | /ED/FAtaJi1IHBAOjDBGDgfDhoCh94BbwW39Qf4toF+/m0Er0LolyD0btGjRHDRtAk46EeScALKz | |
| 33 | jwcO/CPoH07/EPoVoL8//bdQ7wbob0n/2dQ3b05/E/pPpP8E6mMC8qcXkD9lIDIgZgEfahVdkDgg | |
| 34 | FLib3AXuJHeQm8iN4AZxPTmLnAnOEKeT48ix5BjRkDiBPxqg3w3IrwD9bkD+mID80YAGaMGeBjTA | |
| 35 | XZAYGDw4eGjQIN/ft29kAQc0axZZoIcaN44PDCZ8aJDggL4EF11rXCPoB7joVOMUQT3BgAZGw4ZH | |
| 36 | A+du6Y2BhvwDDOkN2IPANdIbsAeBrKws+Rs1agR9gwbUWwDq2wkCKEDPwHXED/Qhpj6N+IGTgQVQ | |
| 37 | MH04ILkfGCj9gAGyBwHp+/SRPQhQr0AW9SkDHDAwRaBHj/hA3boJ/sRAjRr4p3r16s7VPleIy8Vl | |
| 38 | Hj3EJS5HedQVR4oDyQGkBjE5iARcf1oB+VMF3AG9Qwt6plhQP2mBBuwfF7jKB4XeBI2eHgh0797d | |
| 39 | HroY1PdAoE6dOnbPEQb0RAOqVatm9+xnOEGgl6FAnuEHTA5oTwyYHMBuZGZmKpCRkWF2A3YvcCVB | |
| 40 | AAXoGbiURAP1SCSAgunDAcn9QC/p8/JkjwZkDwdsgEF9ONDN83flgkigffuki2p7/lq1Ei/6v0A3 | |
| 41 | 48quoFcXkHcRuABc2h6cL84jtUG9WuBwcRjJ3Bdk7AP2FnsRB/5u9Helvwv9CtDvBuRXgH43IP9h | |
| 42 | 9O9LvxuQPxqQP72A/DGBzp2DAZ06+f527SILOKBmzcgCDahaNT7QmfChToID2hFcdI7RVtAPcNEh | |
| 43 | xsGCeoIBlQx7h3ST3uhoyN/BkN6APQi0ld6APQhUqVJF/sqVK0NfqZL0jgP1hQQBFKBn4FziB9oQ | |
| 44 | Ux9K/MBBwAIomD4ckNwPdJS+QwfZg4D0bdrIHgSoV6AK9SkDHNAxzQD9sYH/AHAD8Cry1R2MAAAA | |
| 45 | AElFTkSuQmCC | |
| 46 | </one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-010.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-010.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-010.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8D84E5D0-1791-0BC9-15B4-071F22553597}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:00:52.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{E20AF8E2-158C-0839-31E9-2755DCDB7C1E}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-011.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-011.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-011.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8E838762-DE34-0E40-1EE3-4325D5F46BAB}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:00:53.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{BC54CAA5-05FE-0F9E-380E-208C766ABB19}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-012.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-012.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-012.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{94D4815F-8289-04F4-084F-3C20BF91CF04}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:54.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{878DE9FD-B150-0DA3-0B18-485739BF1CC2}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-013.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-013.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-013.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C66A2F4-9062-052D-2916-5D209A0B1FD3}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:55.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{73A91EB1-A031-0F20-080E-445289AA7014}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-014.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-014.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-014.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CE4DF6C2-E2BE-0A5F-3CE2-EF28102ADAEC}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:00:55.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{AB2D47E0-D7B0-02E3-1F54-B2B37D436396}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-015.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-015.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-015.xml created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:02:16.000Z" pageLevel="1" isCurrentlyViewed="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="Fixture style" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="14.0" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Paragraph controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T06:02:16.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="316.7999572753906" height="154.8006286621094"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{40}{B0}" alignment="left" spaceBefore="9.0" spaceAfter="4.5" quickStyleIndex="1"><one:T><![CDATA[<span | |
| 3 | style='text-decoration:line-through'>Inherited strike and spacing</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{47}{B0}" alignment="center" spaceBefore="12.0" spaceAfter="6.0" quickStyleIndex="0"><one:T><![CDATA[Centered paragraph]]></one:T></one:OE><one:OE RTL="true" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{52}{B0}" alignment="right" quickStyleIndex="0" style="font-family:Arial;font-size:11.0pt;text-align:right"><one:T><![CDATA[<span | |
| 4 | style='direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا بالعالم</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Collapsed parent]]></one:T><one:OEChildren indent="2"><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Hidden child remains stored]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{68}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Grandchild]]></one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:01:41.000Z" objectID="{950660A5-8233-0DAA-0E09-AA4B672F6B66}{73}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE><one:OE creationTime="2026-09-06T06:02:15.000Z" lastModifiedTime="2026-09-06T06:02:16.000Z" objectID="{74D16F36-3A46-4361-9BC8-06811E9F26A3}{10}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T06:02:15.000Z" lastModifiedTime="2026-09-06T06:02:16.000Z" objectID="{74D16F36-3A46-4361-9BC8-06811E9F26A3}{13}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-06T06:02:15.000Z" lastModifiedTime="2026-09-06T06:02:16.000Z" objectID="{74D16F36-3A46-4361-9BC8-06811E9F26A3}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-016.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-016.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-016.xml created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{ECFFF87F-0CB5-003C-3076-4C1C6F935479}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:00:57.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:25:43.000Z" objectID="{BDBBBCD1-A5B1-076B-2BD7-5F0A810BDB28}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image bmp]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/bmp" alt="Pattern bmp" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{BDBBBCD1-A5B1-076B-2BD7-5F0A810BDB28}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO | |
| 3 | xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51 | |
| 4 | 8eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC | |
| 5 | 3c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo | |
| 6 | cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb | |
| 7 | ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O | |
| 8 | amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC | |
| 9 | </one:Data></one:Image></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-017.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-017.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-017.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EEC0EBD1-BCA4-04CF-1581-C1F540980D0E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:57.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{1CA8FF10-413B-09A5-0EC6-907EDF12FDA5}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-018.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-018.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-018.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F40778E5-4A16-0CC5-06BF-5A46F1FF9CA8}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:00:58.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Numbering controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="125.0376281738281" height="137.070068359375"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" text="3"/></one:List><one:T><![CDATA[Sequence 0, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{46}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" text="4"/></one:List><one:T><![CDATA[Sequence 0, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{52}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" text="III"/></one:List><one:T><![CDATA[Sequence 1, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{58}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" text="IV"/></one:List><one:T><![CDATA[Sequence 1, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{64}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" text="iii"/></one:List><one:T><![CDATA[Sequence 2, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{70}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" text="iv"/></one:List><one:T><![CDATA[Sequence 2, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{76}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" text="C"/></one:List><one:T><![CDATA[Sequence 3, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{82}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" text="D"/></one:List><one:T><![CDATA[Sequence 3, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{88}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" text="c"/></one:List><one:T><![CDATA[Sequence 4, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{B13B96A6-5CB1-0E30-37F0-74D59149867B}{94}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" text="d"/></one:List><one:T><![CDATA[Sequence 4, item 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/page-019.pdf created| Binary files /dev/null and b/corpus/m6/native-expanded-control-ui-01/read/page-019.pdf differ |
corpus/m6/native-expanded-control-ui-01/read/page-019.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FAF3951F-EA54-0DDA-2D09-FE9DEFE4F065}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:00:59.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7E4D93AE-D4AA-0AC6-3104-9CCB6203D325}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-expanded-control-ui-01/read/payloads.json created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2", | |
| 4 | "name": "Fictitious attachment.txt", | |
| 5 | "object": "{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{40}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}", | |
| 8 | "bytes": 27 | |
| 9 | }, | |
| 10 | { | |
| 11 | "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9", | |
| 12 | "name": "silence.wav", | |
| 13 | "object": "{2E7BA99D-CDED-080F-2255-D01592C0E5C8}{44}{B0}", | |
| 14 | "kind": "MediaFile", | |
| 15 | "page": "{34619019-150E-06C2-3149-42A4E92723BF}{1}{B0}", | |
| 16 | "bytes": 16044 | |
| 17 | } | |
| 18 | ] | |
| \ No newline at end of file |
corpus/m6/native-expanded-control-ui-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/corpus/m6/native-features-01/notebook", | |
| 3 | "expected_pages": 20, | |
| 4 | "author": null, | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": true, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-expanded-control-ui-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-expanded-control-ui-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-expanded-control-ui-01/source.json created+110| ... | ... | @@ -0,0 +1,110 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Empty.one", | |
| 4 | "bytes": 4016, | |
| 5 | "sha256": "9e99f8508837f3abe2874ccbd42bea9954ff01a596e3d4e8d1a01bc377b5a0df", | |
| 6 | "mtime_ns": 1788661593561895158 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "Features.one", | |
| 10 | "bytes": 121240, | |
| 11 | "sha256": "97431f8b3d13096d74d95f72470d681792d5506df0692d2b72921031a6ade8c2", | |
| 12 | "mtime_ns": 1788661593562175073 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "Group A/Duplicate.one", | |
| 16 | "bytes": 23504, | |
| 17 | "sha256": "77d0ffb49f308122e1a9155d0941ccecece888cb8f9af395697569a7be70d308", | |
| 18 | "mtime_ns": 1788661593563832275 | |
| 19 | }, | |
| 20 | { | |
| 21 | "path": "Group A/Open Notebook.onetoc2", | |
| 22 | "bytes": 3760, | |
| 23 | "sha256": "945d36daadca6eef55cc34107f6415356836ec79ca2b484a7f1adc0643fa27e0", | |
| 24 | "mtime_ns": 1788661593563917316 | |
| 25 | }, | |
| 26 | { | |
| 27 | "path": "Group B/Nested/Duplicate.one", | |
| 28 | "bytes": 23424, | |
| 29 | "sha256": "952dd1766415dd2c622d6981eb1eb6bf9d3415abf50735048529240c6ae40343", | |
| 30 | "mtime_ns": 1788661593564205357 | |
| 31 | }, | |
| 32 | { | |
| 33 | "path": "Group B/Nested/Open Notebook.onetoc2", | |
| 34 | "bytes": 3760, | |
| 35 | "sha256": "12e9cefade3dfdce9ad27bdc678b6401c71a5ab0fbeb260f94febc6c74fa0bc2", | |
| 36 | "mtime_ns": 1788661593564303940 | |
| 37 | }, | |
| 38 | { | |
| 39 | "path": "Group B/Open Notebook.onetoc2", | |
| 40 | "bytes": 3736, | |
| 41 | "sha256": "0f6318eae2aee05a8f909f009b7ef948e1e7973c34bc348659b7f5cf5dd63f4d", | |
| 42 | "mtime_ns": 1788661593564040816 | |
| 43 | }, | |
| 44 | { | |
| 45 | "path": "Open Notebook.onetoc2", | |
| 46 | "bytes": 5364, | |
| 47 | "sha256": "06ec4fb5b2454514eafae121f3f740c443053f8a4c857e6eb0dc59e5f8024233", | |
| 48 | "mtime_ns": 1788661593562572238 | |
| 49 | }, | |
| 50 | { | |
| 51 | "path": "fixture-data/Open Notebook.onetoc2", | |
| 52 | "bytes": 3656, | |
| 53 | "sha256": "7b2c9d872dfbec669423821452b76d9cca25d2eea83034623ecaf4cf601848ce", | |
| 54 | "mtime_ns": 1788661593562956029 | |
| 55 | }, | |
| 56 | { | |
| 57 | "path": "fixture-data/attachment.txt", | |
| 58 | "bytes": 27, | |
| 59 | "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2", | |
| 60 | "mtime_ns": 1788661593562850321 | |
| 61 | }, | |
| 62 | { | |
| 63 | "path": "fixture-data/pattern.bmp", | |
| 64 | "bytes": 18486, | |
| 65 | "sha256": "d7802912d031a974c277d1500f845faf7d1d5dc3dd9d5a3daf69c44db8d9dbf5", | |
| 66 | "mtime_ns": 1788661593563127403 | |
| 67 | }, | |
| 68 | { | |
| 69 | "path": "fixture-data/pattern.gif", | |
| 70 | "bytes": 3902, | |
| 71 | "sha256": "e0d351f33d156bf3d77b4912269768e2261c0c4850a8e78a87c245a2db2c5953", | |
| 72 | "mtime_ns": 1788661593563230986 | |
| 73 | }, | |
| 74 | { | |
| 75 | "path": "fixture-data/pattern.jpg", | |
| 76 | "bytes": 1071, | |
| 77 | "sha256": "bf7ef0fb92642d75f186c27a0ba662138c7c3f9ea85b1c478805a229cda451ed", | |
| 78 | "mtime_ns": 1788661593563318944 | |
| 79 | }, | |
| 80 | { | |
| 81 | "path": "fixture-data/pattern.png", | |
| 82 | "bytes": 250, | |
| 83 | "sha256": "02065dc5a46ae9a4adc68d0fff2641b62cedaa396f59f93ec6ac79c8b358904a", | |
| 84 | "mtime_ns": 1788661593563399569 | |
| 85 | }, | |
| 86 | { | |
| 87 | "path": "fixture-data/pattern.tiff", | |
| 88 | "bytes": 18572, | |
| 89 | "sha256": "fbbc74945e085389c3e994bfab64c26144056066e0d631512e62a3007b373427", | |
| 90 | "mtime_ns": 1788661593563547193 | |
| 91 | }, | |
| 92 | { | |
| 93 | "path": "fixture-data/silence.wav", | |
| 94 | "bytes": 16044, | |
| 95 | "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9", | |
| 96 | "mtime_ns": 1788661593563674442 | |
| 97 | }, | |
| 98 | { | |
| 99 | "path": "fixture.json", | |
| 100 | "bytes": 12415, | |
| 101 | "sha256": "d3c2142230816e8717c7612a5d2ca816a7551cebc2bc445846f3824d3a44dbc3", | |
| 102 | "mtime_ns": 1788661593562325448 | |
| 103 | }, | |
| 104 | { | |
| 105 | "path": "synthetic.one", | |
| 106 | "bytes": 7428, | |
| 107 | "sha256": "eb1e702f86562e91efcabf0065211efdeaf39bdc977beb82382faf901bf3b2c4", | |
| 108 | "mtime_ns": 1788661593562715779 | |
| 109 | } | |
| 110 | ] |
corpus/m6/native-expanded-control-ui-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-expanded-control-ui-01/ui-operation.json created+5| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | { | |
| 2 | "page_id": "{D0D04EF0-C565-0ED4-2AB4-711BAE6015ED}{1}{B0}", | |
| 3 | "action": "Double-click the collapsed paragraph handle at (120,317).", | |
| 4 | "observed": "Hidden child remains stored and Grandchild become visible." | |
| 5 | } | |
| \ No newline at end of file |
corpus/m6/native-features-01/ORACLE.md created+46| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | # Native feature controls | |
| 2 | ||
| 3 | OneNote 14.0.4763.1000 authored 19 pages alongside the Rust seed page, then | |
| 4 | exported XML, PDFs and attachment bytes. The frozen input is | |
| 5 | [notebook/fixture.json](notebook/fixture.json); [scripts/author.ps1](scripts/author.ps1) | |
| 6 | contains the executed author. The input generator validates every page against | |
| 7 | the unmodified [2010 COM schema](../../../resources/onenote2010-com/SOURCE.md). | |
| 8 | ||
| 9 | The fixture covers PNG/JPEG/BMP/TIFF/GIF import, alternative text and image links, | |
| 10 | all four background/printout flag combinations, an attachment, a WAV recording | |
| 11 | and its timed annotation, inherited strikethrough and paragraph spacing, RTL, | |
| 12 | collapsed nested paragraphs, repeated breaks, numbering formats 0–4, a disabled | |
| 13 | task with identity and dates, duplicate titles, three page levels, nested section | |
| 14 | groups, duplicate section names in different groups, and an empty section. | |
| 15 | Native XML exports BMP, TIFF and GIF images as PNG; JPEG remains JPEG. | |
| 16 | The stored TIFF payload remains TIFF. The report preserves it and creates a | |
| 17 | PNG browser preview whose pixels are checked against the native XML export. | |
| 18 | ||
| 19 | The printout controls isolate a native framing distinction. All four inputs | |
| 20 | request 288 × 192 points. Without `isPrintOut`, stored layout maxima are exactly | |
| 21 | 288 × 192. With it, they are 286.56 × 190.56, independently of `backgroundImage`. | |
| 22 | Native XML includes the 0.72-point border on each side; native PDF bitmap bounds | |
| 23 | agree with the smaller stored dimensions within PDF coordinate rounding. | |
| 24 | The corresponding stored Boolean is `0x08001d85`; the model retains both flags | |
| 25 | and exposes the bitmap dimensions without adding the frame to them. | |
| 26 | ||
| 27 | The recording GUID is stored in `0x1c001c97`. Its annotation stores the same GUID | |
| 28 | in `0x1c001c98` and 500 milliseconds in `0x14001c99`, agreeing with native | |
| 29 | `MediaIndex`. The WAV payload is checked byte-for-byte against the native cache. | |
| 30 | COM import does not set `IRecordMedia` for this fixture; the model leaves that | |
| 31 | property absent. The separate private video has the documented value 2. | |
| 32 | ||
| 33 | The task's GUID, disabled/completed bits and four dates are checked against | |
| 34 | `OutlookTask`. Numbering format 0 ends in a meaningful UTF-16 NUL code, which | |
| 35 | must survive decoding. Rust assertions are in [tests/document.rs](../../../tests/document.rs). | |
| 36 | ||
| 37 | Reproduce the native semantic comparison with the bundled Python runtime: | |
| 38 | ||
| 39 | ```sh | |
| 40 | cargo build --example document | |
| 41 | python3 tools/verify-document.py corpus/m6/native-features-01/notebook corpus/m6/native-features-01/read | |
| 42 | ``` | |
| 43 | ||
| 44 | The comparison passed 20 pages, the task association and 8,576 explicit | |
| 45 | character-format comparisons. These results establish model and native | |
| 46 | agreement; report visual inspection is a separate acceptance gate. |
corpus/m6/native-features-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-features-01/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-1FDCD415", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-1FDCD415 -ExpectedPages 20 -UseCurrentCache -Pdf", "exit": 0, "stdout": "Read 5 sections and 20 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-features-01/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-features-01/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-features-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-1FDCD415", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-features-01/inputs/page-000.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CD265897-1EDE-4BC9-B383-14177FD8ABA3}{1}{B0}"><one:Title><one:OE><one:T>Image png</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern png" hyperlink="https://example.invalid/image/png"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-001.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AFE96649-21D5-442F-B91E-CA555056AF78}{1}{B0}"><one:Title><one:OE><one:T>Image jpg</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern jpg" hyperlink="https://example.invalid/image/jpg"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.jpg" /></one:Image></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-002.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06DBB543-1871-4A0B-97B9-22BBAD2C70C9}{1}{B0}"><one:Title><one:OE><one:T>Image bmp</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern bmp" hyperlink="https://example.invalid/image/bmp"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.bmp" /></one:Image></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-003.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A9A2C0E7-9A0C-40CC-A84E-CEBEA419997A}{1}{B0}"><one:Title><one:OE><one:T>Image tiff</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern tiff" hyperlink="https://example.invalid/image/tiff"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.tiff" /></one:Image></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-004.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{606CCB26-5DAB-4FCC-9175-1FA8FC48F1AE}{1}{B0}"><one:Title><one:OE><one:T>Image gif</one:T></one:OE></one:Title><one:Image format="auto" alt="Pattern gif" hyperlink="https://example.invalid/image/gif"><one:Position x="72" y="108" /><one:Size width="144" height="48" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.gif" /></one:Image></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-005.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{64A7CA5E-CAF0-4477-B92C-2D82174B4F1B}{1}{B0}"><one:Title><one:OE><one:T>Image role background=false, printout=false</one:T></one:OE></one:Title><one:Image format="auto" backgroundImage="false" isPrintOut="false" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36" /><one:Size width="288" height="192" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-006.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B3963F71-90E0-4C13-9E1D-5A804FBAAB68}{1}{B0}"><one:Title><one:OE><one:T>Image role background=true, printout=false</one:T></one:OE></one:Title><one:Image format="auto" backgroundImage="true" isPrintOut="false" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36" /><one:Size width="288" height="192" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-007.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2469BBFE-F67A-4068-9B2D-818FD295FE5C}{1}{B0}"><one:Title><one:OE><one:T>Image role background=false, printout=true</one:T></one:OE></one:Title><one:Image format="auto" backgroundImage="false" isPrintOut="true" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36" /><one:Size width="288" height="192" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-008.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7642EFC8-84A6-4F1A-8ED9-338758B43B63}{1}{B0}"><one:Title><one:OE><one:T>Image role background=true, printout=true</one:T></one:OE></one:Title><one:Image format="auto" backgroundImage="true" isPrintOut="true" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36" /><one:Size width="288" height="192" /><one:File path="C:\one-tests\runs\capture\notebook\fixture-data\pattern.png" /></one:Image><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-009.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DE45DD25-01CA-4CF5-9686-2C032B98070F}{1}{B0}"><one:Title><one:OE><one:T>Files and recording</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:InsertedFile pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt" /></one:OE><one:OE><one:MediaFile pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}" /></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}" /></one:MediaIndex><one:T>Recording annotation</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-010.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3AF403CC-D1A1-44E3-8D7B-1FBC6CDF315D}{1}{B0}"><one:QuickStyleDef index="0" name="Fixture style" font="Calibri" fontSize="14" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125" /><one:Title><one:OE><one:T>Paragraph controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE quickStyleIndex="0"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment="center" spaceBefore="12" spaceAfter="6"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL="true" alignment="right"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed="true"><one:T>Collapsed parent</one:T><one:OEChildren indent="2"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-011.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1E2335D9-5ED2-46F2-A170-34E13340B818}{1}{B0}"><one:Title><one:OE><one:T>Numbering controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 0, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 0, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 1, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 1, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 2, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 2, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 3, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 3, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" /></one:List><one:T>Sequence 4, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" /></one:List><one:T>Sequence 4, item 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-012.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E61CE556-2770-4F03-B115-F15A584B3A0E}{1}{B0}"><one:Title><one:OE><one:T>Task controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:OutlookTask guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05Z" startDate="2020-01-02T00:00:00Z" dueDate="2020-01-03T00:00:00Z" /><one:T>Disabled standalone task</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-013.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="1" ID="{97C679E6-01EA-455B-892B-F3B03DB56165}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-014.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="2" ID="{608D4381-83D2-4480-9970-A5B88BADC985}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-015.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="3" ID="{58D1C462-46A0-4CBD-A052-E816106736A8}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-016.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="1" ID="{3B8597C4-C1C8-4372-845A-1818F5A83695}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-017.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="2" ID="{4191FD4A-FFE5-4349-9994-E5CD0AA1F49F}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/inputs/page-018.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" pageLevel="3" ID="{D6F35F81-BCD9-4313-8738-40B885726709}{1}{B0}"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-features-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-1fdcd415", "hostname": "ONE-M6-1FDCD415"} |
corpus/m6/native-features-01/notebook/Empty.one created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Empty.one differ |
corpus/m6/native-features-01/notebook/Features.one created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Features.one differ |
corpus/m6/native-features-01/notebook/Group A/Duplicate.one created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group A/Duplicate.one differ |
corpus/m6/native-features-01/notebook/Group A/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group A/Open Notebook.onetoc2 differ |
corpus/m6/native-features-01/notebook/Group B/Nested/Duplicate.one created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group B/Nested/Duplicate.one differ |
corpus/m6/native-features-01/notebook/Group B/Nested/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group B/Nested/Open Notebook.onetoc2 differ |
corpus/m6/native-features-01/notebook/Group B/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Group B/Open Notebook.onetoc2 differ |
corpus/m6/native-features-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-features-01/notebook/fixture-data/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/Open Notebook.onetoc2 differ |
corpus/m6/native-features-01/notebook/fixture-data/attachment.txt created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/attachment.txt differ |
corpus/m6/native-features-01/notebook/fixture-data/pattern.bmp created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.bmp differ |
corpus/m6/native-features-01/notebook/fixture-data/pattern.gif created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.gif differ |
corpus/m6/native-features-01/notebook/fixture-data/pattern.jpg created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.jpg differ |
corpus/m6/native-features-01/notebook/fixture-data/pattern.png created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.png differ |
corpus/m6/native-features-01/notebook/fixture-data/pattern.tiff created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/pattern.tiff differ |
corpus/m6/native-features-01/notebook/fixture-data/silence.wav created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/fixture-data/silence.wav differ |
corpus/m6/native-features-01/notebook/fixture.json created+86| ... | ... | @@ -0,0 +1,86 @@ |
| 1 | { | |
| 2 | "sections": [ | |
| 3 | "Features.one", | |
| 4 | "Group A/Duplicate.one", | |
| 5 | "Group B/Nested/Duplicate.one", | |
| 6 | "Empty.one" | |
| 7 | ], | |
| 8 | "pages": [ | |
| 9 | { | |
| 10 | "section": "Features.one", | |
| 11 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image png</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern png\" hyperlink=\"https://example.invalid/image/png\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image></one:Page>" | |
| 12 | }, | |
| 13 | { | |
| 14 | "section": "Features.one", | |
| 15 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image jpg</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern jpg\" hyperlink=\"https://example.invalid/image/jpg\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.jpg\"/></one:Image></one:Page>" | |
| 16 | }, | |
| 17 | { | |
| 18 | "section": "Features.one", | |
| 19 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image bmp</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern bmp\" hyperlink=\"https://example.invalid/image/bmp\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.bmp\"/></one:Image></one:Page>" | |
| 20 | }, | |
| 21 | { | |
| 22 | "section": "Features.one", | |
| 23 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image tiff</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern tiff\" hyperlink=\"https://example.invalid/image/tiff\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.tiff\"/></one:Image></one:Page>" | |
| 24 | }, | |
| 25 | { | |
| 26 | "section": "Features.one", | |
| 27 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image gif</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern gif\" hyperlink=\"https://example.invalid/image/gif\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.gif\"/></one:Image></one:Page>" | |
| 28 | }, | |
| 29 | { | |
| 30 | "section": "Features.one", | |
| 31 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 32 | }, | |
| 33 | { | |
| 34 | "section": "Features.one", | |
| 35 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 36 | }, | |
| 37 | { | |
| 38 | "section": "Features.one", | |
| 39 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 40 | }, | |
| 41 | { | |
| 42 | "section": "Features.one", | |
| 43 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 44 | }, | |
| 45 | { | |
| 46 | "section": "Features.one", | |
| 47 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Files and recording</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:InsertedFile pathSource=\"__ASSETS__\\attachment.txt\" preferredName=\"Fictitious attachment.txt\"/></one:OE><one:OE><one:MediaFile pathSource=\"__ASSETS__\\silence.wav\" preferredName=\"silence.wav\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex=\"500\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaIndex><one:T>Recording annotation</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 48 | }, | |
| 49 | { | |
| 50 | "section": "Features.one", | |
| 51 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:QuickStyleDef index=\"0\" name=\"Fixture style\" font=\"Calibri\" fontSize=\"14\" strikethrough=\"true\" spaceBefore=\"0.25\" spaceAfter=\"0.125\"/><one:Title><one:OE><one:T>Paragraph controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE quickStyleIndex=\"0\"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment=\"center\" spaceBefore=\"12\" spaceAfter=\"6\"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL=\"true\" alignment=\"right\"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed=\"true\"><one:T>Collapsed parent</one:T><one:OEChildren indent=\"2\"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 52 | }, | |
| 53 | { | |
| 54 | "section": "Features.one", | |
| 55 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Numbering controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 56 | }, | |
| 57 | { | |
| 58 | "section": "Features.one", | |
| 59 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Task controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:OutlookTask guidTask=\"{45AF40E3-1D54-463C-90D3-C454F2F71A2E}\" completed=\"false\" disabled=\"true\" creationDate=\"2020-01-02T03:04:05Z\" startDate=\"2020-01-02T00:00:00Z\" dueDate=\"2020-01-03T00:00:00Z\"/><one:T>Disabled standalone task</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 60 | }, | |
| 61 | { | |
| 62 | "section": "Group A/Duplicate.one", | |
| 63 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 64 | }, | |
| 65 | { | |
| 66 | "section": "Group A/Duplicate.one", | |
| 67 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 68 | }, | |
| 69 | { | |
| 70 | "section": "Group A/Duplicate.one", | |
| 71 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 72 | }, | |
| 73 | { | |
| 74 | "section": "Group B/Nested/Duplicate.one", | |
| 75 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 76 | }, | |
| 77 | { | |
| 78 | "section": "Group B/Nested/Duplicate.one", | |
| 79 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 80 | }, | |
| 81 | { | |
| 82 | "section": "Group B/Nested/Duplicate.one", | |
| 83 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 84 | } | |
| 85 | ] | |
| 86 | } | |
| \ No newline at end of file |
corpus/m6/native-features-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-features-01/notebook/synthetic.one differ |
corpus/m6/native-features-01/pdf-format-checks.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-features-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment created| Binary files /dev/null and b/corpus/m6/native-features-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ |
corpus/m6/native-features-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment created| Binary files /dev/null and b/corpus/m6/native-features-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ |
corpus/m6/native-features-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-1FDCD415", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-features-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{3E3A879D-EED1-41A4-AFFC-AFD5CC522B28}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T02:26:19.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{69257C8D-0F31-06D8-24BF-036CE19BB653}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T02:26:09.000Z" color="#8AA8E4"><one:Page ID="{06AB61BF-0D2C-0528-00E2-23261F15FFDA}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T02:26:09.000Z" pageLevel="1"/></one:Section><one:Section name="Features" ID="{F38980CA-F4AE-043D-1950-44E962CD6150}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Features.one" lastModifiedTime="2026-09-06T02:26:03.000Z" color="#91BAAE"><one:Page ID="{F042B6B6-77F6-00C7-064C-93691F643540}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{928D8868-48FD-0F21-0CD1-4D2B30EA319B}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{3BBF5B62-7159-0105-2276-A5C5CD90EE2A}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{94C62EC6-F324-0BC2-1D81-49C0C4A50799}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{5D082507-3483-04C2-24BA-98D69CF46F4D}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{59C3247F-A3D8-0F79-0CE3-AAFC77F7D1F8}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{8EF2D150-F9C8-071D-2BD2-DDFE2F06358B}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{190D55DF-9F52-0B66-2EE2-06F1B22960BF}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{4B2601E9-ED8E-0414-3B16-B4F93808A580}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{E3213304-68E2-07FB-2349-AB7D4B2499EC}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{0790EDED-B889-0FED-38B4-98C20C63AFBE}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{2347DBF8-37FA-0DFC-14BF-B39F53FC26FB}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{DB780B77-4E58-040D-04DA-762438F7A4ED}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/></one:Section><one:Section name="Empty" ID="{90B6632B-0356-012D-35B2-0A42FC8DFDED}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Empty.one" lastModifiedTime="2026-09-06T02:26:04.000Z" color="#9BBBD2"/><one:SectionGroup name="fixture-data" ID="{82D05DE5-3939-46C4-A1C9-45E97380DAC7}{1}{B0}" path="C:\one-tests\runs\capture\notebook\fixture-data" lastModifiedTime="2026-09-06T02:26:19.000Z"/><one:SectionGroup name="Group A" ID="{63465041-EA7B-4F63-B8FD-9F92882A7B5D}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A" lastModifiedTime="2026-09-06T02:26:19.000Z"><one:Section name="Duplicate" ID="{5F4C6CC8-91EC-0A04-1EEB-37729CD97E6D}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A\Duplicate.one" lastModifiedTime="2026-09-06T02:26:19.000Z" color="#F6B078"><one:Page ID="{90291BBC-AE69-0190-166D-36147B38848C}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"/><one:Page ID="{676221DB-2C51-004B-0636-601CCD202C6C}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="2"/><one:Page ID="{5F3EA638-E923-0876-3F14-2DB256EAD341}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="3"/></one:Section></one:SectionGroup><one:SectionGroup name="Group B" ID="{FC323DEF-DD14-4AA3-A942-728C853D1ADC}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B" lastModifiedTime="2026-09-06T02:26:19.000Z" isCurrentlyViewed="true"><one:SectionGroup name="Nested" ID="{D73A5110-74DC-4E2D-BE2C-D90D2539CAD6}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested" lastModifiedTime="2026-09-06T02:26:19.000Z" isCurrentlyViewed="true"><one:Section name="Duplicate" ID="{694F7125-B361-0D13-06E0-7FD84642C0E8}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested\Duplicate.one" lastModifiedTime="2026-09-06T02:26:19.000Z" color="#D5A4BB" isCurrentlyViewed="true"><one:Page ID="{80A3E639-9FCB-01F3-0C7B-A0F382B1B44E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="1"/><one:Page ID="{FAB78CB7-A1E6-01C8-11B5-5D267DB87644}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="2" isCurrentlyViewed="true"/><one:Page ID="{6DD52E7C-E2DA-0192-0F19-F853F26BE5D2}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="3"/></one:Section></one:SectionGroup></one:SectionGroup></one:Notebook> |
corpus/m6/native-features-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-000.pdf differ |
corpus/m6/native-features-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06AB61BF-0D2C-0528-00E2-23261F15FFDA}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{69257C8D-0F31-06D8-24BF-036CE19BB653}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{69257C8D-0F31-06D8-24BF-036CE19BB653}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-001.pdf differ |
corpus/m6/native-features-01/read/page-001.xml created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0790EDED-B889-0FED-38B4-98C20C63AFBE}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="Fixture style" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="14.0" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Paragraph controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="87.66204071044922"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{40}{B0}" alignment="left" spaceBefore="9.0" spaceAfter="4.5" quickStyleIndex="1"><one:T><![CDATA[<span | |
| 3 | style='text-decoration:line-through'>Inherited strike and spacing</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{47}{B0}" alignment="center" spaceBefore="12.0" spaceAfter="6.0" quickStyleIndex="0"><one:T><![CDATA[Centered paragraph]]></one:T></one:OE><one:OE RTL="true" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{52}{B0}" alignment="right" quickStyleIndex="0" style="font-family:Arial;font-size:11.0pt;text-align:right"><one:T><![CDATA[<span | |
| 4 | style='direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا بالعالم</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" collapsed="1" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Collapsed parent]]></one:T><one:OEChildren indent="2"><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Hidden child remains stored]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{68}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Grandchild]]></one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{4246C3B8-FFDF-0C93-1C09-4392C52CD135}{73}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-002.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-002.pdf differ |
corpus/m6/native-features-01/read/page-002.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{190D55DF-9F52-0B66-2EE2-06F1B22960BF}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{7C6DE4FD-AA5C-03DA-0D54-5B6ADF40D9C5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{7C6DE4FD-AA5C-03DA-0D54-5B6ADF40D9C5}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{7C6DE4FD-AA5C-03DA-0D54-5B6ADF40D9C5}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{7C6DE4FD-AA5C-03DA-0D54-5B6ADF40D9C5}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-003.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-003.pdf differ |
corpus/m6/native-features-01/read/page-003.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2347DBF8-37FA-0DFC-14BF-B39F53FC26FB}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Numbering controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="125.0376281738281" height="137.070068359375"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{40}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" text="3"/></one:List><one:T><![CDATA[Sequence 0, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{46}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" text="4"/></one:List><one:T><![CDATA[Sequence 0, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{52}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" text="III"/></one:List><one:T><![CDATA[Sequence 1, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{58}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" text="IV"/></one:List><one:T><![CDATA[Sequence 1, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{64}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" text="iii"/></one:List><one:T><![CDATA[Sequence 2, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{70}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" text="iv"/></one:List><one:T><![CDATA[Sequence 2, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{76}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" text="C"/></one:List><one:T><![CDATA[Sequence 3, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{82}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" text="D"/></one:List><one:T><![CDATA[Sequence 3, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{88}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" text="c"/></one:List><one:T><![CDATA[Sequence 4, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{667B35BB-215D-0F09-25F0-9D0C334A3C28}{94}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" text="d"/></one:List><one:T><![CDATA[Sequence 4, item 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-004.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-004.pdf differ |
corpus/m6/native-features-01/read/page-004.xml created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3BBF5B62-7159-0105-2276-A5C5CD90EE2A}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:25:43.000Z" objectID="{6AFB1FCC-D85D-0652-39D7-B6D32308617B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image bmp]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/bmp" alt="Pattern bmp" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{6AFB1FCC-D85D-0652-39D7-B6D32308617B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO | |
| 3 | xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51 | |
| 4 | 8eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC | |
| 5 | 3c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo | |
| 6 | cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb | |
| 7 | ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O | |
| 8 | amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC | |
| 9 | </one:Data></one:Image></one:Page> |
corpus/m6/native-features-01/read/page-005.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-005.pdf differ |
corpus/m6/native-features-01/read/page-005.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4B2601E9-ED8E-0414-3B16-B4F93808A580}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{A4E9BDAC-DDDD-0E19-1A0E-AD8B2BA9CA47}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{A4E9BDAC-DDDD-0E19-1A0E-AD8B2BA9CA47}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{A4E9BDAC-DDDD-0E19-1A0E-AD8B2BA9CA47}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{A4E9BDAC-DDDD-0E19-1A0E-AD8B2BA9CA47}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-006.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-006.pdf differ |
corpus/m6/native-features-01/read/page-006.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{59C3247F-A3D8-0F79-0CE3-AAFC77F7D1F8}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{6B1469B8-7812-0EA7-2A0E-C955D469014A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{6B1469B8-7812-0EA7-2A0E-C955D469014A}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{6B1469B8-7812-0EA7-2A0E-C955D469014A}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{6B1469B8-7812-0EA7-2A0E-C955D469014A}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-007.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-007.pdf differ |
corpus/m6/native-features-01/read/page-007.xml created+46| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5D082507-3483-04C2-24BA-98D69CF46F4D}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{265D2D36-52A9-0131-331C-0CEB6CC3E62E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image gif]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/gif" alt="Pattern gif" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{265D2D36-52A9-0131-331C-0CEB6CC3E62E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S | |
| 3 | uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5 | |
| 4 | qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4 | |
| 5 | a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG | |
| 6 | YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em | |
| 7 | qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW | |
| 8 | h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK | |
| 9 | hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ | |
| 10 | UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i | |
| 11 | R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4 | |
| 12 | A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo | |
| 13 | AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK | |
| 14 | VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4 | |
| 15 | GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa | |
| 16 | Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ | |
| 17 | REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC | |
| 18 | KKRNURRZytZqRr9zzl2+79779Ty+9w943+ccZ7fPLvGv+N1js9jk8r7HfDFPzCRvktfIDOGEA64/ | |
| 19 | rYD8oUCFVyhPGuAHtqRYUJq0IHFAOFBh7C4Hu/4B//4NfgO/bwGbN4JNm34FC8D7pWD+XDBv3hww | |
| 20 | 8w3w5uvgtVfBjBmvAAf+CvrL6f+HfgXo30L/RurdAP2l9M+lfs4c+t+g/3X6X6U+JiB/egH54wJ/ | |
| 21 | xQ74bUNkAR9a8F5kQeKAaOAvUr5T7CB20Aay5WexTkBPSt8Rb4uXyUvkBfK8cCqkNxL9O3ZIbyQH | |
| 22 | 1klvxATkDwVC/p3btcAPrE8RmJ0U0IAX4wJ/+mDBdoLAeg8E1q5da/f8BGZ7IDBr1iy75y0DeqIB | |
| 23 | U6dOtXueM5wgsM1QYKvhB0wOaE8MmBzAbkyfPl2BadOmmd2A3Qv8QRBAAXoGfiHRwLskEkDB9OGA | |
| 24 | 5H5gm/Rbt8oeDcgeDtgAg/qUAQ7YliJQVoZ7lhjJgZIS/FNcHAkUFeGfwsJC50efH8T34guPMgE5 | |
| 25 | eNajRBSLSWQiKSImB5GA608rIH8osMZbsDppgB9YmmLBlKQFiQPCgTXGj6vBD6vA99+Bz8EXS0HZ | |
| 26 | YrBkyWfgGfDsFFDyNCgungwmTQATx4OicaCw8EHgwL+G/tX0r6JfAfqX0r+YejdA/xT6n6Z+8mT6 | |
| 27 | J9A/nv5x1McE5E8vIH/KQGRAzAI+9Ex0QeKAUOBb8g34mnxFPiWfgI/FIvIUeRI8IR4nD5D7yX1i | |
| 28 | NHECfzRAvxuQXwH63YD8MQH5owEN0II9DWiAuyAxsHJl8NCKFb5/4cLIAg547LHIAj00dmx8YCXh | |
| 29 | QysEBywkuOhDY9GiDwD9ABc9YjwsqCcYMMoYPfpe4HwrvbHckH+ZIb0Bu0G9Ib0BexAoKCiQf8yY | |
| 30 | MdCPGkW9BaD+kiCAAvQMfESigUeJH3gIWAAF04cDkvuB5dIvWyZ7NCB7EKBegQLqUwY4YHmKQH4+ | |
| 31 | 7ulnJAdycxP8iYGcHPyTnZ3tjPQZJoaK2zzyBeSgtUeuaCGakpNIDjE5iARcf1oB+UOBEd6C4UkD | |
| 32 | /ED/FAtaJi1IHBAOjDBGDgfDhoCh94BbwW39Qf4toF+/m0Er0LolyD0btGjRHDRtAk46EeScALKz | |
| 33 | jwcO/CPoH07/EPoVoL8//bdQ7wbob0n/2dQ3b05/E/pPpP8E6mMC8qcXkD9lIDIgZgEfahVdkDgg | |
| 34 | FLib3AXuJHeQm8iN4AZxPTmLnAnOEKeT48ix5BjRkDiBPxqg3w3IrwD9bkD+mID80YAGaMGeBjTA | |
| 35 | XZAYGDw4eGjQIN/ft29kAQc0axZZoIcaN44PDCZ8aJDggL4EF11rXCPoB7joVOMUQT3BgAZGw4ZH | |
| 36 | A+du6Y2BhvwDDOkN2IPANdIbsAeBrKws+Rs1agR9gwbUWwDq2wkCKEDPwHXED/Qhpj6N+IGTgQVQ | |
| 37 | MH04ILkfGCj9gAGyBwHp+/SRPQhQr0AW9SkDHDAwRaBHj/hA3boJ/sRAjRr4p3r16s7VPleIy8Vl | |
| 38 | Hj3EJS5HedQVR4oDyQGkBjE5iARcf1oB+VMF3AG9Qwt6plhQP2mBBuwfF7jKB4XeBI2eHgh0797d | |
| 39 | HroY1PdAoE6dOnbPEQb0RAOqVatm9+xnOEGgl6FAnuEHTA5oTwyYHMBuZGZmKpCRkWF2A3YvcCVB | |
| 40 | AAXoGbiURAP1SCSAgunDAcn9QC/p8/JkjwZkDwdsgEF9ONDN83flgkigffuki2p7/lq1Ei/6v0A3 | |
| 41 | 48quoFcXkHcRuABc2h6cL84jtUG9WuBwcRjJ3Bdk7AP2FnsRB/5u9Helvwv9CtDvBuRXgH43IP9h | |
| 42 | 9O9LvxuQPxqQP72A/DGBzp2DAZ06+f527SILOKBmzcgCDahaNT7QmfChToID2hFcdI7RVtAPcNEh | |
| 43 | xsGCeoIBlQx7h3ST3uhoyN/BkN6APQi0ld6APQhUqVJF/sqVK0NfqZL0jgP1hQQBFKBn4FziB9oQ | |
| 44 | Ux9K/MBBwAIomD4ckNwPdJS+QwfZg4D0bdrIHgSoV6AK9SkDHNAxzQD9sYH/AHAD8Cry1R2MAAAA | |
| 45 | AElFTkSuQmCC | |
| 46 | </one:Data></one:Image></one:Page> |
corpus/m6/native-features-01/read/page-008.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-008.pdf differ |
corpus/m6/native-features-01/read/page-008.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5F3EA638-E923-0876-3F14-2DB256EAD341}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{F93D545B-AA4F-06DC-0032-62B38F5153E2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F93D545B-AA4F-06DC-0032-62B38F5153E2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{F93D545B-AA4F-06DC-0032-62B38F5153E2}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-009.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-009.pdf differ |
corpus/m6/native-features-01/read/page-009.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{676221DB-2C51-004B-0636-601CCD202C6C}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5340E358-AFC4-0779-1365-0273C3E9F05E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{5340E358-AFC4-0779-1365-0273C3E9F05E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{5340E358-AFC4-0779-1365-0273C3E9F05E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-010.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-010.pdf differ |
corpus/m6/native-features-01/read/page-010.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6DD52E7C-E2DA-0192-0F19-F853F26BE5D2}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{9E56D4AE-0A48-0C7C-0A25-73ABFDB59657}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{9E56D4AE-0A48-0C7C-0A25-73ABFDB59657}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{9E56D4AE-0A48-0C7C-0A25-73ABFDB59657}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-011.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-011.pdf differ |
corpus/m6/native-features-01/read/page-011.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80A3E639-9FCB-01F3-0C7B-A0F382B1B44E}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{72CBF2F8-6254-0C99-173C-F1781D3B44E5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{72CBF2F8-6254-0C99-173C-F1781D3B44E5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{72CBF2F8-6254-0C99-173C-F1781D3B44E5}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-012.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-012.pdf differ |
corpus/m6/native-features-01/read/page-012.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8EF2D150-F9C8-071D-2BD2-DDFE2F06358B}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{484F54DC-A933-0A49-1948-0F0FA8AE2C10}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{484F54DC-A933-0A49-1948-0F0FA8AE2C10}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{484F54DC-A933-0A49-1948-0F0FA8AE2C10}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{484F54DC-A933-0A49-1948-0F0FA8AE2C10}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-013.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-013.pdf differ |
corpus/m6/native-features-01/read/page-013.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{90291BBC-AE69-0190-166D-36147B38848C}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{14971D0D-9097-068C-0A60-5442F6DFA7CC}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{14971D0D-9097-068C-0A60-5442F6DFA7CC}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{14971D0D-9097-068C-0A60-5442F6DFA7CC}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-014.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-014.pdf differ |
corpus/m6/native-features-01/read/page-014.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{928D8868-48FD-0F21-0CD1-4D2B30EA319B}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{4CB02E47-BF20-07C4-32A2-DFEFF8A46A6A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image jpg]]></one:T></one:OE></one:Title><one:Image format="jpg" hyperlink="https://example.invalid/image/jpg" alt="Pattern jpg" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{4CB02E47-BF20-07C4-32A2-DFEFF8A46A6A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a | |
| 3 | HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy | |
| 4 | MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA | |
| 5 | AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA | |
| 6 | AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 | |
| 7 | ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm | |
| 8 | p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA | |
| 9 | AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx | |
| 10 | BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK | |
| 11 | U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 | |
| 12 | uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa | |
| 13 | plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl | |
| 14 | h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV | |
| 15 | lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1 | |
| 16 | WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP | |
| 17 | tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw | |
| 18 | 1MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ | |
| 19 | YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW | |
| 20 | H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z | |
| 21 | </one:Data></one:Image></one:Page> |
corpus/m6/native-features-01/read/page-015.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-015.pdf differ |
corpus/m6/native-features-01/read/page-015.xml created+300| ... | ... | @@ -0,0 +1,300 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{94C62EC6-F324-0BC2-1D81-49C0C4A50799}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:25:44.000Z" objectID="{D746D8B9-DC60-07DD-27DF-45F31D7AA15C}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image tiff]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/tiff" alt="Pattern tiff" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{D746D8B9-DC60-07DD-27DF-45F31D7AA15C}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx | |
| 3 | jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp | |
| 4 | TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1 | |
| 5 | AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av | |
| 6 | g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw | |
| 7 | BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq | |
| 8 | HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz | |
| 9 | V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5 | |
| 10 | vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf | |
| 11 | KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze | |
| 12 | 3SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc | |
| 13 | s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3 | |
| 14 | zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6 | |
| 15 | ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh | |
| 16 | 0isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S | |
| 17 | ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI | |
| 18 | U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA | |
| 19 | 2pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt | |
| 20 | oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9 | |
| 21 | Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV | |
| 22 | NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj | |
| 23 | NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk | |
| 24 | EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy | |
| 25 | j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8 | |
| 26 | zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm | |
| 27 | g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz | |
| 28 | V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0 | |
| 29 | dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf | |
| 30 | pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC | |
| 31 | IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ | |
| 32 | pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD | |
| 33 | 4n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7 | |
| 34 | n/orm0ofoP42SO3hUhk8aq+A+kJIZYqoLyXUPimVJaP2K6ivQCpbSX2tpg5AVI6GOqijvoGpXD31 | |
| 35 | rZHKQ6h8E1Vgob5DqUIr9b2dKsKoYgdV4qIO4VSpmzrspcoIqtxHVQSoI0EqGKKORqjKKFUVo6pX | |
| 36 | qGMJKrRKHV+jalJU7TpVt0GdyFDhTerkFlWfoxq2qcYd6lSBiuxSp/eophLVvE+1HFJnylT0iDp7 | |
| 37 | QrVWqLZTqv2cOlelYhfU+Suqo0Z1XlNdt9SFOhW/oy4+UN0NqueR6n2mLgEA7d9NtNYWWhuJ1t5K | |
| 38 | +087jUym/dRB6+ikUai0zi7az900Kp32Sw+tq5dGY9K6+2i/9tPobNpvA7SeQRqDS+vl0V4IaEwh | |
| 39 | 7aWI1iehsaS0fhntlYLGBmmvlbQBNY0D0QY1tDc6GhemvdXTeEYaH6EJTLR3FpoQpb230kR2mhij | |
| 40 | SRy0IRdNitOG3TSZlyYnaAofbSRAA4O00RBNGaGpojR1jDa2QoMStPFVmmaNpk3RdOu0iQ0anKFN | |
| 41 | btL0WzRDjmbcpk3t0JACbXqXZtqjmUs0yz5t5pCGlmmzRzTrCc1WodlPaXPnNKxKm7+gOa5ozhrN | |
| 42 | dU1buKXhddriHc39QPM0aN5H2tIzjQAAemsTva2F3k6i/6eVTm6n/0Smd3TQ/7mrTir95y46tZv+ | |
| 43 | C53e1UOn9dK7mfRf++j0fvpvbHrPAJ0xSO/l0l/w6EwB/aWQ3ieisyT0fin9lYzOVtBfg/QBJZ2j | |
| 44 | pg9C9DcaOldHfwvTeXo630gXIPR3JrrQQn+P0kVWuthOl2D0IQdd6qIP43SZmy730hUEfcRHBwP0 | |
| 45 | 0SBdGaKrInR1lD4Wo0Mr9PEEXbNK167RdSn6xDod3qBPZuj6Tbphi27M0ae26cgOfbpAN+3SzXt0 | |
| 46 | S4k+s09HD+mzZbr1iG47odsr9LlTOnZOn6/SHRd05xXdVaMvXNPxW/pine6+o3se6N4GfemRTjzT | |
| 47 | lwGA0dbEaG9h/IfEILcyfmpndJAZlA5GZyfjZyqD2sX4pZvRRWfQehjdvYxfmQx6H+O3fkYPm8EY | |
| 48 | YPQOMl5wGUwe46WA0SdksESMfgnjlZTBljFeKxgDIIOjZAyqGW8gBlfDeKtj8GAGX88QGBnvEIbQ | |
| 49 | xHhvYYhQhtjKkNgZQxhD6mAMuxgynCF3MxRexgjBAH2M0QBDGWSoQgx1hDEWZUAxxvgKQ5NgaFcZ | |
| 50 | ujXGRIoBrzMmNxj6DMOwyTBuMaZyDGSbMb3DMBUY5l2GZY8xU2Kg+4zZQ4a1zLAdMewnjLkKAztl | |
| 51 | zJ8zHFWG84LhumIs1Bj4NWPxluGuMzx3DO8DY6nBIB4Zy88MHwAw25uY/2lhkknMn1qZHe1MCpnZ | |
| 52 | 2cH8uZNJpTJ/6WJ2dTNpdGZ3D/PXXiadyfytj9nTz2Swmb0DzBeDTCaX+ZLH7BMwWUJmv4j5SsJk | |
| 53 | S5mvZcwBBZMDMgeVzDdqJhdivtUweTomH2YK9Mx3RqYQYb43MUUWphhlSqzMITtTijGHHUyZiynH | |
| 54 | mQo3c8TLBAnmqI+pDDBVQaY6xByLMKEoczzG1KwwtQmmbpU5scaEU8zJdaZ+g2nIMI2bzKktJpJj | |
| 55 | Tm8zTTtMc4Fp2WXO7DHREnN2n2k9ZNrKTPsRc+6EiVWY86dMxznTWWW6LpgLV0y8xly8ZrpvmZ46 | |
| 56 | 03vHXHpgEg3m8iPT98z0AwDrP00scgvrJxKro5VFaWd1klk/d7ConaxfqKyuLhatm9VNZ/3aw6L3 | |
| 57 | sn5jsnr6WIx+Vi+b9WKAxRxkveSy+ngsloDVL2S9ErHYEtZrKWtAxuIoWIMg642SxVWz3kIsnobF | |
| 58 | 17EEMOudniU0st4jLJGJJbawJChryMqS2lnDGEvmYMldLAXOGnGzQC9rlGApfSxVgKUOssZCLCjC | |
| 59 | Go+yNDGWdoWlS7AmVlnwGmsyxdKvswwbLGOGNbXJQrZY0zmWaZtl3mFZCqyZXRa6x5otsaz7LNsh | |
| 60 | y15mzR2xsBPWfIXlOGU5z1muKmvhgoVfsRZrLPc1y3PL8tZZS3cs4oG13GD5Hln+Z1YAANjkJvZP | |
| 61 | LewOEpvSyu5sZ/9MZlM72L90sruobFoXu7ub/Sv9n8hh/9bL7mGyGX3s3n72CzabOcB+Ocju47JZ | |
| 62 | PHa/gP1KyGaL2K8l7AEpmyNjDyrYb0A2V8l+q2bzIDZfwxbo2O9gtlDPfm9kixC22MSWWNhDKFtq | |
| 63 | ZQ/b2TKMLXewFS72CM4G3exRL1tJsFU+tjrAHguyoRB7PMLWRNnaGFu3wp5IsOFV9uQaW59iG9bZ | |
| 64 | xg32VIaNbLKnt9imHNu8zbbssGcKbHSXPbvHtpbYtn22/ZA9V2ZjR+z5E7ajwnaesl3n7IUqG79g | |
| 65 | L16x3TW255rtvWUv1dnEHXv5ge1rsP2P7MAz+wMAcH5q4nS0cCgkTmcr5+d2DpXM+aWD09XJoVE5 | |
| 66 | 3V2cX7s5dDrntx5OTy+HweT09nFe9HOYbM7LAU7fIIfF5fTzOK8EHLaQ81rEGZBwOFLOoIzzRsHh | |
| 67 | gpy3Sg5PzeFDHIGG807HEcKc93qOyMgRIxyJiTNk4UhRzrCVI7Nz5BhH4eCMuDggzhl1c5Rejorg | |
| 68 | qH2csQAHCnLGQxxNhKONcnQxzsQKB05wJlc5+jWOIcUxrnOmNjhIhjO9yTFtccw5jmWbM7PDQQuc | |
| 69 | 2V2OdY9jK3Hs+5y5Qw5W5swfcRwnHGeF4zrlLJxz8Cpn8YLjvuJ4ahzvNWfplkPUOct3HN8Dx9/g | |
| 70 | BB45H545QQDgdjRxKS3cThL351YutZ37C5nb1cGldXK7qdxfu7j0bu5vdG5PD5fRy+1lcl/0cZn9 | |
| 71 | 3Jdsbt8AlzXI7edyX/G4bAH3tZA7IOJyJNxBKfeNjMtVcN+CXJ6Sy1dzBRD3nYYr1HHfw1yRnis2 | |
| 72 | ciUId8jElVq4wyhXZuXK7VwFxh1xcEEXdxTnKt1clZerJrhjPi4U4I4HuZoQVxvh6qLciRgXXuFO | |
| 73 | Jrj6Va5hjWtMcafWucgGdzrDNW1yzVtcS447s81Fd7izBa51l2vb49pL3Ll9LnbInS9zHUdc5wnX | |
| 74 | VeEunHLxc+5ileu+4HquuN4ad+maS9xyl+tc3x3X/8ANNLgfHrnBZ+5HAOBTmvidLfyfSXxqK/+X | |
| 75 | dn4XmU/r4Hd38n+l8uld/N+6+T10PqOH39vLf8HkM/v4L/v5fWw+a4DfP8h/xeWzefzXAv6AkM8R | |
| 76 | 8Qcl/DdSPlfGf6vg80A+X8kXqPnvIL5Qw3+v44tgvljPlxj5QwhfauIPW/gylC+38hV2/gjGBx38 | |
| 77 | URdfifNVbr7ayx8j+JCPPx7ga4J8bYivi/Anonw4xp9c4esTfMMq37jGn0rxkXX+9AbflOGbN/mW | |
| 78 | Lf5Mjo9u82d3+NYC37bLt+/x50p8bJ8/f8h3lPnOI77rhL9Q4eOn/MVzvrvK91zwvVf8pRqfuOYv | |
| 79 | 3/J9db7/jh944H9o8IOP/I/P/BAACDubhD+3CKkk4S+twq52IY0s7O4Q/toppFOFv3UJe7qFDLqw | |
| 80 | t0f4olfIZApf9gn7/glktrB/QPhqUMjmCl/zhAMCIUcoHBQJ30iEXKnwrUzIUwj5oFCgFL5TC4WQ | |
| 81 | 8L1GKNIJxbBQohcOGYVSRDhsEsosQjkqVFiFI3YhiAlHHUKlS6jChWq3cMwrhAjhuE+oCQi1QaEu | |
| 82 | JJyICOGocDIm1K8IDQmhcVU4tSZEUsLpdaFpQ2jOCC2bwpktIZoTzm4LrTtCW0Fo3xXO7QmxknB+ | |
| 83 | X+g4FDrLQteRcOFEiFeEi6dC97nQUxV6L4RLV0KiJly+Fvpuhf66MHAn/PAgDDaEHx+FoWdhGADE | |
| 84 | PzeJqS3iX0jirlYxrV3cTRb/2iGmd4p/o4p7usSMbnEvXfyiR8zsFb9kivv6xKx+cT9b/GpAzB4U | |
| 85 | v+aKB3hijkA8KBS/EYm5EvFbqZgnE/MVYgEofqcUC9Xi95BYpBGLdWIJLB7Si6VG8TAilpnEcotY | |
| 86 | gYpHrGLQLh7FxEqHWOUSq3HxmFsMecXjhFjjE2sDYl1QPBESwxHxZFSsj4kNK2JjQjy1KkbWxNMp | |
| 87 | sWldbN4QWzLimU0xuiWezYmt22LbjtheEM/tirE98XxJ7NgXOw/FrrJ44UiMn4gXK2L3qdhzLvZW | |
| 88 | xUsXYuJKvFwT+67F/ltxoC7+cCcOPog/NsShR3H4WRwBACm1SfpLi7SLJKW1Srvbpb+SpfQO6W+d | |
| 89 | 0h6qlNEl7e2WvqBLmT3Sl73SPqaU1Sft75e+Ykv/eVevB6UDXCmHJx0USN8IpVyR9K1EypNK+TKp | |
| 90 | QCF9B0qFSul7tVQEScUaqUQnHYKlUr102CiVIVK5SaqwSEdQKWiVjtqlSkyqckjVLukYLoXc0nGv | |
| 91 | VENItT6pLiCdCErhkHQyItVHpYaY1LginUpIkVXp9JrUlJKa16WWDelMRopuSme3pNac1LYtte9I | |
| 92 | 5wpSbFc6vyd1lKTOfanrULpQluJH0sUTqbsi9ZxKvefSpaqUuJAuX0l9Nan/Whq4lX6oS4N30o8P | |
| 93 | 0lBDGn6URp6lnwBA/kuTvKtFTiPJu1vlv7bL6WT5bx3ynk45gyrv7ZK/6JYz6fKXPfK+XjmLKe/v | |
| 94 | k7/ql7PZ8tcD8oFBOYcrH+TJ3wjkXKH8rUjOk8j5UrlAJn+nkAtB+XulXKSWiyG5RCMf0smlsHxY | |
| 95 | L5cZ5XJErjDJRyxyEJWPWuVKu1yFydUO+ZhLDuHycbdc45VrCbnOJ58IyOGgfDIk10fkhqjcGJNP | |
| 96 | rciRhHx6VW5ak5tTcsu6fGZDjmbks5ty65bclpPbt+VzO3KsIJ/flTv25M6S3LUvXziU42X54pHc | |
| 97 | fSL3VOTeU/nSuZyoypcv5L4rub8mD1zLP9zKg3X5xzt56EEebsgjj/JPz/IoAIBdTSCtBewmgb+2 | |
| 98 | gvR28Dcy2NMBMjrBXir4ogtkdoMv6WBfD8jqBfuZ4Ks+kN0PvmaDAwMgZxAc5IJveCBXAL4VgjwR | |
| 99 | yJeAAin4TgYKFeB7EBQpQbEalEDgkAaU6sBhGJTpQbkRVCDgiAkELeAoCiqtoMoOqjFwzAFCLnAc | |
| 100 | BzVuUOsFdQQ44QPhADgZBPUh0BABjVFwKgYiK+B0AjStguY10JICZ9ZBdAOczYDWTdC2Bdpz4Nw2 | |
| 101 | iO2A8wXQsQs690BXCVzYB/FDcLEMuo9AzwnorYBLpyBxDi5XQd8F6L8CAzXwwzUYvAU/1sHQHRh+ | |
| 102 | ACMN8NMjGH0GPwOAitak6m5R/UpS0VtVv7WresgqRoeqt1P1gqpidqledqv66CpWj6q/V/WKqWL3 | |
| 103 | qV73qwbYKs6AanBQ9Yar4vJUbwUqnlDFF6kEEtU7qUooU71XqESgSqxUSdSqIUgl1aiGdSoZrJLr | |
| 104 | VQqjagRRgSbVqEWlRFUqq0ptV41hKsihGnepNLhK61bpvKoJQgX7VJMBlT6oMoRUxohqKqpCYqrp | |
| 105 | FZUpoTKvqixrqpmUCl1XzW6orBmVbVNl31LN5VTYtmp+R+UoqJy7KteeaqGkwvdVi4cqd1nlOVJ5 | |
| 106 | T1RLFRVxqlo+V/mqKv+FKnCl+lBTBa9VH29VoboqfKeKPKg+NVTRR9XnZ1UMAKDuJujXFohOgn5r | |
| 107 | hXraIQYZ6u2AXnRCTCr0sgvq64ZYdKi/B3rVC7GZ0Os+aKAf4rChwQHozSDE5UJveRBP8M8nhwQi | |
| 108 | 6J0EEkqh9zJIpIDEICRRQkNqSApBwxpIpoPkMKTQQyNGCESgUROktEAqFFJboTE7BGHQuAPSuCAt | |
| 109 | Dunc0IQXgglo0gfpA5AhCBlD0FQEQqLQdAwyrUDmBGRZhWbWIDQFza5D1g3IloHsm9DcFoTloPlt | |
| 110 | yLEDOQuQaxda2IPwErS4D7kPIU8Z8h5BSycQUYGWTyHfOeSvQoEL6MMVFKxBH6+h0C0UrkORO+jT | |
| 111 | AxRtQJ8fodgzFAcA7a9NWnqL9jeStqdVy2jX9pK1Lzq0zE7tS6q2r0vL6tb207WverTsXu1rpnag | |
| 112 | T8vp1w6ytW8GtNxB7VuulsfT8gVagVD7TqQVSrTvpVqRTCtWaCWgdkiplaq1w5BWptHKdVoFrB3R | |
| 113 | a0GjdhTRKk1alUWrRrVjVi1k145jWo1Dq3Vpdbh2wq2FvdpJQqv3aQ0BrTGonQppkYh2Oqo1xbTm | |
| 114 | Fa0loZ1Z1aJr2tmU1rqutW1o7Rnt3KYW29LO57SOba1zR+sqaBd2tfiedrGkde9rPYdab1m7dKQl | |
| 115 | TrTLFa3vVOs/1waq2g8X2uCV9mNNG7rWhm+1kbr20502+qD93NDGHrXxZ+0KAMD0Jvi3FriHBDNa | |
| 116 | 4d52+AUZZnbALzvhPirM6oL7u+FXdJjdA7/uhQeYMKcPHuyH37Bh7gD8dhDmcWE+DxYI4HdCWCiC | |
| 117 | 30tgkRQWy2CJAh4CYakSHlbDMgiWa2CFDh6BYVAPjxphJQKrTLDaAo+hMGSFx+2wBoO1Dljngidw | |
| 118 | GHbDk15YT8AGH2wMwFNBGAnB0xHYFIXNMdiyAs8kYHQVnl2DrSnYtg7bN+C5DIxtwvNbsCMHO7dh | |
| 119 | 1w68UIDxXXhxD3aXYM8+7D2El8owcQQvn8C+Cuw/hQPn8IcqHLyAP17BoRocvoYjt/CnOhy9gz8/ | |
| 120 | wLEGHH+EV57hLwBg+K3J0NNiYJAMva2GF+0GJtnwssPQ12lgUQ39XYZX3QY23fC6xzDQa+AwDYN9 | |
| 121 | hjf9Bi7b8HbAwBs08LkGAc/wTmAQCg3vRQaRxCCWGiQyw5DCIAUNw0qDTG2QQwaFxjCiM4CwYVRv | |
| 122 | UBoNKsSgNhnGLAYINYxbDRq7QYsZdA7DhMsA44ZJt0HvNRgIg9FnmAoYkKBhOmQwRQzmqMESM8ys | |
| 123 | GNCEYXbVYF0z2FIG+7phbsOAZQzzmwbHlsGZM7i2DQs7BrxgWNw1uPcMnpLBu29YOjQQZcPykcF3 | |
| 124 | YvBXDIFTw4dzQ7Bq+HhhCF0ZwjVD5Nrw6dYQrRs+3xliD4Z4w7DyaPjybEgAANLThDBakF4S8qIV | |
| 125 | YbYjL8lIXwfC6kT6qcirLoTdjbymIwM9CKcXGWQib/oQbj/ylo3wBhD+ICLgIu94iFCAvBciIhEi | |
| 126 | liASKTL0T89RIMMgIlMicjWigJARDQLqkFEYUeoRlRFRI8iYCYEsyDiKaKyI1o7oMGTCgcAuZBJH | |
| 127 | 9G7E4EWMBDLlQ5AAMh1ETCHEHEEsUWQmhqAryGwCsa4itjXEnkLm1hFsA5nPII5NxLmFuHLIwjaC | |
| 128 | 7yCLBcS9i3j2EG8JWdpHiENkuYz4jhD/CRKoIB9OkeA58rGKhC6Q8BUSqSGfrpHoLfK5jsTukPgD | |
| 129 | stJAvjwiiWfkKwCYGU3m3hbzC5KZ2Wp+2W7uI5tZHeb+TvMrqpndZX7dbR6gmzk95sFe8xummdtn | |
| 130 | fttv5rHN/AGzYND8jmsW8szvBWaR0CwWmSUS85DULJWZhxVmGWiWK80KtXkEMoMa86jOrITNKr1Z | |
| 131 | bTSPIWbIZB63mDWoWWs16+zmCcwMO8yTLrMeNxvcZqPXPEWYEZ95OmA2Bc3mkNkSMc9EzWjMPLti | |
| 132 | tibMtlWzfc08lzJj6+b5DbMjY3Zuml1b5oWcGd82L+6Y3QWzZ9fs3TMvlczEvnn50Owrm/1H5sCJ | |
| 133 | +UPFHDw1fzw3h6rm8IU5cmX+VDNHr82fb82xujl+Z155MH9pmBOP5q/P5lUAQHub0BctKJOEvmxF | |
| 134 | +9pRFhnt70BfdaJsKvq6Cx3oRjl0dLAHfdOLcpno2z6U14/y2ahgAH03iAq56HseKhKgYiEqEaFD | |
| 135 | ElQqRYdlqEyB/tMCFUp0RI2CEDqqQZU6VAWjaj06ZkQhBB03oRoLqkVRnRWdsKMwhk46UL0LNeCo | |
| 136 | 0Y1OeVGEQKd9qCmAmoOoJYTORFA0is7GUOsKakug9lV0bg3FUuj8OurYQJ0Z1LWJLmyheA5d3Ebd | |
| 137 | O6ingHp30aU9lCihy/uo7xD1l9HAEfrhBA1W0I+naOgcDVfRyAX66QqN1tDP12jsFo3X0ZU79MsD | |
| 138 | mmigXx/R1Wc0CQC2F002ZovtJcnW12pjtdv6ybZXHTZ2p+011TbQZeN02wbptjc9Nm6v7S3Txuuz | |
| 139 | 8fttArbt3YBNOGh7z7WJeDaxwCYR2oZENqnENiy1yWQ2ucKmAG0jShuoto1CNqXGptLZ1LBtTG+D | |
| 140 | jLZxxKYx2bQWmw61TVhtsN02idn0DpvBZTPitim3DfHapgmbyWczB2yWoG0mZEMjttmozRqz2VZs | |
| 141 | 9oRtbtWGrdnmUzbHus25YXNlbAubNnzLtpizubdtnh2bt2Bb2rURe7blks23b/Mf2gJl24cjW/DE | |
| 142 | 9rFiC53awue2SNX26cIWvbJ9rtli17b4rW2lbvtyZ0s82L42bKuPtuSzbQ0AMGYT9rIF6yNhrFas | |
| 143 | vx17RcbYHdjrTmyAinG6sMFu7A0d4/Zgb3sxHhPj92GCfuwdGxMOYO8HMREXE/MwiQAbEmJSETYs | |
| 144 | wWRSTC7DFApsBMRAJTaqxpQQptJgah02BmOQHhs3YhoE05ownQWbQDHYik3aMT2GGRyY0YVN4Rji | |
| 145 | xqa9mInAzD7MEsBmghgawmYjmDWK2WKYfQWbS2DYKja/hjlSmHMdc21gCxkM38QWtzB3DvNsY94d | |
| 146 | bKmAEbvY8h7mK2H+fSxwiH0oY8Ej7OMJFqpg4VMsco59qmLRC+zzFRarYfFrbOUW+1LHEnfY1wds | |
| 147 | tYElH7G1Z+wbADhfNjn7WpwskrO/1fmq3ckmO193OAc6nRyqc7DL+abbyaU73/Y4eb1OPtMp6HO+ | |
| 148 | 63cK2c73A07RoFPMdUp4ziGBUyp0DoucMolTLnUqZM4RhRMEnaNKp1LtVEFOtcY5pnNCsHNc79QY | |
| 149 | nVrEqTM5JyxOGHVOWp16u9OAOY0O55TLieDOabfT5HWaCafF55wJONGgczbktEactqjTHnPOrTix | |
| 150 | hHN+1elYczpTTte6c2HDiWeci5tO95bTk3N6t51LO06i4Fzedfr2nP6SM7Dv/HDoDJadH4+coRNn | |
| 151 | uOKMnDo/nTujVefnC2fsyhmvOVeunV9unYm68+udc/XBmWw41x6d356dKQDA+5pwVgveT8JfteLs | |
| 152 | dvw1GR/owDmd+CAVf9OFc7vxt3Sc14Pze3EBE3/Xhwv78fdsXDSAiwdxCRcf4uFSAT4sxGUiXC7B | |
| 153 | FVJ8RIaDCnwUxJVKXKXG1RA+pvmnIOPjMK7R41ojrkPwCRMOW/BJFNdbcYMdN2L4lANHXPg0jpvc | |
| 154 | uNmLWwh8xoejAXw2iFtDuC2C26P4XAzHVvD5BO5YxZ1ruCuFL6zj+Aa+mMHdm7hnC/fm8KVtnNjB | |
| 155 | lwu4bxf37+GBEv5hHw8e4h/LeOgID5/gkQr+6RSPnuOfq3jsAo9f4Ss1/Ms1nrjFv9bx1Ts8+YCv | |
| 156 | NfBvj3jqGf8OAB5Wk6e/xfOK5GG3el63ewbIHk6HZ7DT84bq4XZ53nZ7eHQPv8cj6PW8Y3qEfZ73 | |
| 157 | /R4R2yMe8EgGPUNcj5TnGRZ4ZEKPXORRSDwjUg8o84wqPErQo1J61GrPGOSBNJ5xnUcDe7R6j87o | |
| 158 | mUA8sMkzafHoUY/B6jHaPVOYB3F4pl0eE+4xuz0Wr2eG8KA+z2zAYw16bCGPPeKZi3qwmGd+xeNI | |
| 159 | eJyrHteaZyHlwdc9ixsed8bj2fR4tzxLOQ+x7Vne8fgKHv+uJ7Dn+VDyBPc9Hw89obInfOSJnHg+ | |
| 160 | VTzRU8/nc0+s6olfeFauPF9qnsS15+utZ7XuSd551h483xqe1KPn+7NnHQCI/ibiVQvBJhGvW4mB | |
| 161 | doJDJgY7iDedBJdKvO0ieN0En04Ieoh3vYSQSbzvI0T9hJhNSAaIoUFCyiWGeYRMQMiFhEJEjEgI | |
| 162 | UEqMygilglCBhFpJjKkJCCLGNYRGR2hhQqcnJowEjBCTJkJvIQwoYbQSU3YCwYhpB2FyEWacsLiJ | |
| 163 | GS+BEsSsj7AGCFuQsIeIuQiBRYn5GOFYIZwJwrVKLKwReIpYXCfcG4QnQ3g3iaUtgsgRy9uEb4fw | |
| 164 | F4jALvFhjwiWiI/7ROiQCJeJyBHx6YSIVojPp0TsnIhXiZUL4ssVkagRX6+J1VsiWSfW7ohvD0Sq | |
| 165 | QXx/JNafiTQA+F81+dkt/tck/0Crn9PuHyT733T4uZ3+t1Q/r8vP7/YL6P53PX5hr/890y/q84v7 | |
| 166 | /RK2f2jALx30D3P9Mp5fLvArhP4RkR+U+EelfqXMr1L41aB/TOmH1P5xyK/R+LU6vw72T+j9sNE/ | |
| 167 | ifj1Jr/B4jei/imrH7H7pzG/yeE3u/wW3D/j9qNe/yzht/r8toDfHvTPhfxYxD8f9TtifueK35Xw | |
| 168 | L6z68TX/YsrvXvd7NvzejH9p009s+Zdzft+237/jDxT8H3b9wT3/x5I/tO8PH/ojZf+nI3/0xP+5 | |
| 169 | 4o+d+uPn/pWq/8uFP3Hl/1rzr177k7f+tbr/250/9eD/3vCvP/rTz/4NAAiym4KvW4IDpCCnNTjY | |
| 170 | HnxDDnI7gm87gzxqkN8VFHQH39GDwp7g+96giBkU9wUl/cEhdlA6EBweDMq4QTkvqBAER4RBUBQc | |
| 171 | lQSV0qBKFlQrgmNgEFIGx9VBDRTUaoI6XXACDsL64KQxqP8HH0xBoyU4hQYRa3DaHjRhQbMjaHEF | |
| 172 | Z/Ag6g7OeoNWImjzBe2B4FwwiIWC85GgIxp0xoKuleBCIoivBhfXgu5U0LMe9G4ElzJBYjO4vBX0 | |
| 173 | 5YL+7WBgJ/ihEAzuBj/uBUOlYHg/GDkMfioHo0fBzyfBWCUYPw2unAe/VIOJi+DXq+BqLZi8Dq7d | |
| 174 | Br/Vg6m74PeH4HojmH4MbjwHfwBA+HVTeKAlzCGFB1vDb9rDXHL4bUeY1xnmU8OCrvC77rCQHn7f | |
| 175 | Exb1hsXMsKQvPNQflrLDwwNh2WBYzg0reOERQRgUhkdFYaUkrJKG1bLwmCIMgeFxZVijDmuhsE4T | |
| 176 | ntCFYTg8qQ/rjWEDEjaawlOWMIKGp61hkz1sxsIWR3jGFUbx8Kw7bPWGbUTY7gvPBcJYMDwfCjsi | |
| 177 | YWc07IqFF1bCeCK8uBp2r4U9qbB3Pby0ESYy4eXNsG8r7M+FA9vhDzvhYCH8cTcc2guHS+HIfvjT | |
| 178 | YThaDn8+CsdOwvFKeOU0/OU8nKiGv16EV6/CyVp47Tr87Tacqoe/34XXH8LpRnjjMfzjOZwBgOhA | |
| 179 | U5TTEh0kRd+0Rrnt0bfkKK8jyu+MCqjRd11RYXf0PT0q6omKe6MSZnSoLyrtjw6zo7KBqHwwquBG | |
| 180 | R3hRUBAdFUaVoqhKElVLo2OyKKSIjoNRjTKqVUd1UHRCE4V10Uk4qtdHDcaoEYlOmaL/wNU0GjVZ | |
| 181 | o2Z71IJFZxxR1BWdxaNWd9TmjdqJ6JwvigWi88GoIxR1RqKuaHQhFsVXoouJqHs16lmLelPRpfUo | |
| 182 | sRFdzkR9m1H/VjSQi37YjgZ3oh8L0dBuNLwXjZSin/aj0cPo53I0dhSNn0RXKtEvp9HEefRrNbp6 | |
| 183 | EU1eRddq0W/X0dRt9Hs9un4XTT9ENxrRH4/RzHP0dwCIc5rigy3xN6Q4tzX+tj3OI8f5HXFBZ/wd | |
| 184 | NS7sir/vjovocXFPXNIbH2LGpX3x4f64jB2XD8QVg/ERbhzkxUcFcaUwrhLF1ZL4mDQOyeLjirgG | |
| 185 | jGuVcZ06PgHFYU18UhfXw3GDPm40xqeQOGKKT1viJjRutsYt9vgMFkcd8VlX3IrHbe643RufI+KY | |
| 186 | Lz4fiDuCcWco7orEF6JxPBZfXIm7E3HPaty7Fl9KxYn1+PJG3JeJ+zfjga34h1w8uB3/uBMPFeLh | |
| 187 | 3XhkL/6pFI/uxz8fxmPlePwovnIS/1KJJ07jX8/jq9V48iK+dhX/VounruPfb+Pr9Xj6Lr7xEP/R | |
| 188 | iGce478/xzcBIDHYlHjTkuCSEm9bE7z2BJ+cEHQk3nUmhNTE+66EqDshpickPYmh3oSUmRjuS8j6 | |
| 189 | E3J2QjGQGBlMgNzEKC+hFCRUwoRalBiTJCBpYlyW0CgSWjChUyYm1AkYSkxqEnpdwgAnjPrElDGB | |
| 190 | IIlpU8JkSZjRhMWamLEnUCwx60hYXQkbnrC7E3PeBEYk5n0JRyDhDCZcocRCJIFHE4uxhHsl4Ukk | |
| 191 | vKuJpbUEkUosryd8Gwl/JhHYTHzYSgRziY/bidBOIlxIRHYTn/YS0VLi834idpiIlxMrR4kvJ4lE | |
| 192 | JfH1NLF6nkhWE2sXiW9XiVQt8f06sX6bSNcTG3eJHw+JTCPx+2Ni8zmRBYDkm6YktyX5lpTktSb5 | |
| 193 | 7UkBOfmuIynsTL6nJkVdSXF3UkJPDvUkpb3JYWZS1peU9ycV7OTIQBIcTI5yk0peUiVIqoXJMVES | |
| 194 | kiTHpUmNLKlVJHVgckKZhNXJSSip1yQNuqQRTk7pk4gxOY0kTaak2ZK0oMkZaxK1J2expNWRtLmS | |
| 195 | djw5505i3uQ8kXT4ks5A0hVMLoSSeCS5GE26Y0nPStKbSC6tJom15HIq6VtP+jeSgUzyw2YyuJX8 | |
| 196 | mEuGtpPhnWSkkPy0m4zuJT+XkrH9ZPwwuVJOfjlKJk6SXyvJ1dNk8jy5Vk1+u0imrpLfa8n162T6 | |
| 197 | NrlRT/64S2Yekr83kpuPyexzcgsAUtym1NuWFI+U4remBO2pd+SUsCP1vjMloqbEXSlJd2qInpL2 | |
| 198 | pIZ7UzJmSt6XUvSnRtgpcCA1OphSclMqXkotSI0JU5AoNS5JaaQprSylU6QmwBSsTE2qU3ooZdCk | |
| 199 | jLrUFJxC9KlpY8qEpMymlMWSmkFTqDU1a09ZsX+4M2V3pebwFOZOzXtTDiLl9KVcgdRCMIWHUouR | |
| 200 | lDua8sRS3pXUUiJFrKaW11K+VMq/ngpspD5kUsHN1MetVCiXCm+nIjupT4VUdDf1eS8VK6Xi+6mV | |
| 201 | w9SXcipxlPp6klqtpJKnqbXz1LdqKnWR+n6VWq+l0tepjdvUj3oqc5f6/SG12UhlH1Nbz6k/ACD9 | |
| 202 | tinNa0nzSWlBa/pde1pITr/vSIs602JqWtKVHupOS+np4Z60rDctZ6YVfemR/jTITo8OpJWDaRU3 | |
| 203 | realxwRpSJgeF6U1krRWmtbJ0hOKNAymJ5VpvTptgNJGTXpKl0bg9LQ+bTKmzUjaYkrPWNIomp61 | |
| 204 | pq32tA1L2x3pOVcaw9Pz7rTDm3YSaZcvvRBI48H0YijtjqQ90bQ3ll5aSROJ9PJq2reW9qfSgfX0 | |
| 205 | h410MJP+uJkObaXDuXRkO/1pJx0tpD/vpmN76XgpvbKf/nKYTpTTX4/SqyfpZCW9dpr+dp5OVdPf | |
| 206 | L9LrV+l0Lb1xnf5xm87U07/fpTcf0tlGeusx/cdzOgcAGV5Tht+SEZAy71ozwvbMe3JG1JERd2Yk | |
| 207 | 1MxQV0banRmmZ2Q9GXlvRsHMjPRlwP7MKDujHMioBjNqbmaMl4EEmXFhRiPKaCUZnTQzIcvAiswk | |
| 208 | mNErMwZ1xghlpjQZRJeZhjMmfcZszFiQzIwpg1oys2jGas3Y7Bk7lplzZDBXZh7PONwZpzfjIjIL | |
| 209 | vgweyCwGM+5QxhPJeKOZpViGWMksJzK+1Yx/LRNIZT6sZ4IbmY+ZTGgzE97KRHKZT9uZ6E7mcyET | |
| 210 | 283E9zIrpcyX/UziMPO1nFk9yiRPMmuVzLfTTOo8872aWb/IpK8yG7XMj+tM5jbzez2zeZfJPmS2 | |
| 211 | Gpk/HjO558yfAJDlN2UFLdl3pKywNfu+PSsiZ8UdWUlndoialXZlh7uzMnpW3pNV9GZHmFmwLzva | |
| 212 | n1Wys6qBrHowO8bNQrzsuCCrEWa1oqxOkp2QZmFZdlKR1YNZgzJrVGenoCyiyU7rsiY4a9ZnLcbs | |
| 213 | DJJFTdlZS9aKZm3WrN2encOymCM778o68KzTnXV5swtEFvdlFwNZdzDrCWW9kexSNEvEsssrWV8i | |
| 214 | 61/NBtayH1LZ4Hr240Y2lMmGN7ORreynXDa6nf28k40VsvHd7Mpe9kspm9jPfj3MrpazyaPs2kn2 | |
| 215 | WyWbOs1+P8+uV7Ppi+zGVfZHLZu5zv5+m92sZ7N32a2H7B+NbO4x++dzdhsAcoKm3LuWnJCUe9+a | |
| 216 | E7XnxOScpCM31JmTUnPDXTlZd05Ozyl6ciO9OZCZG+3LKftzKnZOPZAbG8xB3Nw4L6cR5LTCnE6U | |
| 217 | m5DkYGluUpbTK3IGMGdU5qbUOQTKTWtyJl3ODOcs+tyMMYciuVlTzmrJ2dCc3Zqbs+cwLDfvyDlc | |
| 218 | OSeec7lzC/9QOZFb9OXcgZwnmPOGckuRHBHNLcdyvpWcP5ELrOY+rOWCqdzH9VxoIxfO5CKbuU9b | |
| 219 | uWgu93k7F9vJxQu5ld3cl71copT7up9bPcwly7m1o9y3k1yqkvt+mls/z6WruY2L3I+rXKaW+/06 | |
| 220 | t3mby9ZzW3e5Px5yuUbuz8fc9nMuDwD5d015YUv+PSkvas2L2/MScn6oIy/tzA9T87KuvLw7r6Dn | |
| 221 | R3ryYG9+lJlX9uVV/Xk1Oz82kIcG8+PcvIaX1wryOmF+QpSHJflJaV4vyxsUeSOYn1LmEXV+Gsqb | |
| 222 | NHmzLm+B8zP6PGrMzyJ5qylvs+TtaH7Omsfs+Xks73Dkna68C88vuPO4N79I5N2+vCeQ9wbzS6E8 | |
| 223 | EckvR/O+WN6/kg8k8h9W88G1/MdUPrSeD2/kI5n8p818dCv/OZePbefjO/mVQv7Lbj6xl/9ayq/u | |
| 224 | 55OH+bVy/ttRPnWS/17Jr5/m0+f5jWr+x0U+c5X/vZbfvM5nb/Nb9fwfd/ncQ/7PRn77MZ9/zu8A | |
| 225 | QEHYVHjfUhCRCuLWgqS9MEQuSDsKw50FGbUg7yoougsj9ALYUxjtLSiZBVVfQd1fGGMXoIHC+GBB | |
| 226 | wy1oeQWdoDAhLMCiwqSkoJcWDLKCUVGYAguIsjCtLpiggllTsOgKM3AB1RdmjQUrUrCZCnZLYQ4t | |
| 227 | YNbCvL3gwApOR8HlKizgBdxdWPQW3EThH2fhDRSWggUiVFiOFHzRgj9WCKwUPiQKwdXCx7VCKFUI | |
| 228 | rxciG4VPmUJ0s/B5qxDLFeLbhZWdwpdCIbFb+LpXWC0VkvuFtcPCt3IhdVT4flJYrxTSp4WN88KP | |
| 229 | aiFzUfj9qrBZK2SvC1u3hT/qhdxd4c+HwnajkH8s7DwX/gKA4vumoqilKCYVJa3FofailFwc7ijK | |
| 230 | OotyalHRVRzpLoL04mhPUdlbVDGL6r7iWH8RYhfHB4qawaKWW9TxihOCIiwsToqKeknRIC0aZcUp | |
| 231 | RREBi9PKokldNENFi6Y4oyuicHFWX7QaizakaDcV5yxFDC3OW4sOe9GJFV2O4oKriOPFRXfR7S16 | |
| 232 | iKLXV1wKFIlgcTlU9EWK/mgxECt+WCkGE8WPq8XQWjGcKkbWi582itFM8fNmMbZVjOeKK9vFLzvF | |
| 233 | RKH4dbe4uldMlopr+8Vvh8VUufj9qLh+UkxXihunxR/nxUy1+PtFcfOqmK0Vt66Lf9wWc/Xin3fF | |
| 234 | 7YdivlHceSz+9VwsAEBJ1FQSt5QkpNJQa0naXhoml2QdJXlnSUEtjXSVwO7SKL2k7CmpektqZmms | |
| 235 | rwT1l8bZJc1ASTtY0nFLE7wSLChNCkt6UckgKRmlpSlZCVGUpsGSSVkyq0sWqDSjKaG60ixcsupL | |
| 236 | NmPJjpTmTCXMUppHSw5ryWkvubDSgqOEu0qLeMntLnm8JS9RWvKViEBpOVjyhUr+SCkQLX2IlYIr | |
| 237 | pY+JUmi1FF4rRVKlT+ul6Ebpc6YU2yzFt0orudKX7VJip/S1UFrdLSX3Smul0rf9Uuqw9L1cWj8q | |
| 238 | pU9KG5XSj9NS5rz0e7W0eVHKXpW2aqU/rku529Kf9dL2XSn/UNpplP56LBWeS38DwIG46UDScjBE | |
| 239 | OpC2Hgy3H8jIB/KOA0XnwQj1AOw6GO0+UNIPVD0H6t6DMeYB1Hcw3n+gYR9oBw50gwcT3AOYdzAp | |
| 240 | ONALDwyiA6PkYEp6gMgOphUHJvDArDywqA9moANUczCrO7DCBzb9gd14MIccYKaDecuBAz1wWg9c | |
| 241 | 9oMF7AB3HCy6Dtz4gcd94PUeLBEHhO9gOXDgCx74QweByMGH6EEwdvBx5SCUOAivHkTWDj6lDqLr | |
| 242 | B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/ | |
| 243 | 2KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r | |
| 244 | OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT | |
| 245 | srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e | |
| 246 | 8pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd | |
| 247 | Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v | |
| 248 | 79yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq | |
| 249 | PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO | |
| 250 | bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ | |
| 251 | cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/ | |
| 252 | Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453 | |
| 253 | H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2 | |
| 254 | BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn | |
| 255 | qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa | |
| 256 | +bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU | |
| 257 | sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk | |
| 258 | /Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW | |
| 259 | nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv | |
| 260 | 42zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki | |
| 261 | c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e | |
| 262 | nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq | |
| 263 | plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz | |
| 264 | YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+ | |
| 265 | 8FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X | |
| 266 | quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8 | |
| 267 | qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl | |
| 268 | 3Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA | |
| 269 | l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/ | |
| 270 | RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7 | |
| 271 | l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3 | |
| 272 | fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa | |
| 273 | 1GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L | |
| 274 | zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV | |
| 275 | /lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla | |
| 276 | 2z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1 | |
| 277 | +Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV | |
| 278 | 3MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+ | |
| 279 | 100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8 | |
| 280 | 27xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K | |
| 281 | Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt | |
| 282 | a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6 | |
| 283 | pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX | |
| 284 | jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP | |
| 285 | 7NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo | |
| 286 | 7zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y | |
| 287 | dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7 | |
| 288 | Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P | |
| 289 | 3q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/ | |
| 290 | /8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97 | |
| 291 | vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh | |
| 292 | HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp | |
| 293 | LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41 | |
| 294 | 1lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0 | |
| 295 | UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn | |
| 296 | DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk | |
| 297 | lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe | |
| 298 | PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM | |
| 299 | U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx | |
| 300 | tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page> |
corpus/m6/native-features-01/read/page-016.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-016.pdf differ |
corpus/m6/native-features-01/read/page-016.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DB780B77-4E58-040D-04DA-762438F7A4ED}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{898ECCE9-2081-0C39-20A4-29978A6703F9}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Task controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{898ECCE9-2081-0C39-20A4-29978A6703F9}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="151.0606994628906" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{898ECCE9-2081-0C39-20A4-29978A6703F9}{40}{B0}" alignment="left" quickStyleIndex="0"><one:OutlookTask startDate="2020-01-02T00:00:00.000Z" dueDate="2020-01-03T00:00:00.000Z" guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[Disabled standalone task]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-017.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-017.pdf differ |
corpus/m6/native-features-01/read/page-017.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E3213304-68E2-07FB-2349-AB7D4B2499EC}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:MediaPlaylist><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaPlaylist><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Files and recording]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="136.6015625" height="139.427719116211"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{40}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\7d1ab415-649a-43bd-a863-bbef841467de.txt" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{44}{B0}" alignment="left"><one:MediaFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\5cdfe8bc-15a0-4ef8-9710-d05c8cbe5118.wav" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{F93B0A80-B001-0936-3055-39CC30C35F9B}{48}{B0}" alignment="left" quickStyleIndex="0"><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T><![CDATA[Recording annotation]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/page-018.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-018.pdf differ |
corpus/m6/native-features-01/read/page-018.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F042B6B6-77F6-00C7-064C-93691F643540}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T02:26:03.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{8F1C13B7-8F46-0421-2511-4FA0771A9C4D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image png]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/png" alt="Pattern png" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{8F1C13B7-8F46-0421-2511-4FA0771A9C4D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page> |
corpus/m6/native-features-01/read/page-019.pdf created| Binary files /dev/null and b/corpus/m6/native-features-01/read/page-019.pdf differ |
corpus/m6/native-features-01/read/page-019.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FAB78CB7-A1E6-01C8-11B5-5D267DB87644}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:26:04.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{E9EEE415-923F-089F-12E2-2951FB96A582}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{E9EEE415-923F-089F-12E2-2951FB96A582}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{E9EEE415-923F-089F-12E2-2951FB96A582}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-features-01/read/payloads.json created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2", | |
| 4 | "name": "Fictitious attachment.txt", | |
| 5 | "object": "{F93B0A80-B001-0936-3055-39CC30C35F9B}{40}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{E3213304-68E2-07FB-2349-AB7D4B2499EC}{1}{B0}", | |
| 8 | "bytes": 27 | |
| 9 | }, | |
| 10 | { | |
| 11 | "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9", | |
| 12 | "name": "silence.wav", | |
| 13 | "object": "{F93B0A80-B001-0936-3055-39CC30C35F9B}{44}{B0}", | |
| 14 | "kind": "MediaFile", | |
| 15 | "page": "{E3213304-68E2-07FB-2349-AB7D4B2499EC}{1}{B0}", | |
| 16 | "bytes": 16044 | |
| 17 | } | |
| 18 | ] | |
| \ No newline at end of file |
corpus/m6/native-features-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/feature-input-02/notebook", | |
| 3 | "expected_pages": 20, | |
| 4 | "author": "tools/native/pages.ps1", | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "base": { | |
| 7 | "file": "win7-office-base.qcow2", | |
| 8 | "format": "qcow2", | |
| 9 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 10 | "virtual_size": 68719476736 | |
| 11 | }, | |
| 12 | "scripts": { | |
| 13 | "author.ps1": "dfbf0e016aa4c8486ecea9f39768c633de05ac0db8214139052ca2e9c43bbd02", | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "fc7199ff4e01a5d18dbc6d472130006ef6f195a8f944daa33eaf6de2ac896553" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-features-01/scripts/author.ps1 created+42| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $fixture = Get-Content (Join-Path $Root 'notebook\fixture.json') -Raw -Encoding UTF8 | ConvertFrom-Json | |
| 6 | $inputs = Join-Path $Root 'inputs' | |
| 7 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 8 | $app = New-Object -ComObject OneNote.Application | |
| 9 | $notebookId = '' | |
| 10 | try { | |
| 11 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 12 | $sections = @{} | |
| 13 | foreach ($path in $fixture.sections) { | |
| 14 | $parts = $path.Split('/') | |
| 15 | if (@($parts | Where-Object { $_ -in @('', '.', '..') -or $_.Contains('\') -or $_.Contains(':') }).Count) { throw 'Invalid fixture section path.' } | |
| 16 | $parent = $notebookId | |
| 17 | for ($index = 0; $index -lt $parts.Count; $index++) { | |
| 18 | $id = '' | |
| 19 | $app.OpenHierarchy($parts[$index], $parent, [ref]$id, $(if ($index -eq $parts.Count - 1) {3} else {2})) | |
| 20 | $parent = $id | |
| 21 | } | |
| 22 | $sections[$path] = $id | |
| 23 | } | |
| 24 | $index = 0 | |
| 25 | foreach ($item in $fixture.pages) { | |
| 26 | $pageId = '' | |
| 27 | $app.CreateNewPage($sections[$item.section], [ref]$pageId, 0) | |
| 28 | [xml]$xml = $item.xml.Replace('__ASSETS__', [Security.SecurityElement]::Escape((Join-Path $Root 'notebook\fixture-data'))) | |
| 29 | $xml.DocumentElement.SetAttribute('ID', $pageId) | |
| 30 | [IO.File]::WriteAllText((Join-Path $inputs ('page-{0:d3}.xml' -f $index)), $xml.OuterXml, [Text.Encoding]::UTF8) | |
| 31 | $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true) | |
| 32 | $index++ | |
| 33 | } | |
| 34 | $app.SyncHierarchy($notebookId) | |
| 35 | $app.CloseNotebook($notebookId, $false) | |
| 36 | $notebookId = '' | |
| 37 | } finally { | |
| 38 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 39 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 40 | [GC]::Collect() | |
| 41 | [GC]::WaitForPendingFinalizers() | |
| 42 | } |
corpus/m6/native-features-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-features-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 3, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-features-01/source.json created+62| ... | ... | @@ -0,0 +1,62 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 1612, | |
| 5 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86", | |
| 6 | "mtime_ns": 1788592288950419463 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "fixture-data/attachment.txt", | |
| 10 | "bytes": 27, | |
| 11 | "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2", | |
| 12 | "mtime_ns": 1788661433289873149 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "fixture-data/pattern.bmp", | |
| 16 | "bytes": 18486, | |
| 17 | "sha256": "d7802912d031a974c277d1500f845faf7d1d5dc3dd9d5a3daf69c44db8d9dbf5", | |
| 18 | "mtime_ns": 1788661433281066713 | |
| 19 | }, | |
| 20 | { | |
| 21 | "path": "fixture-data/pattern.gif", | |
| 22 | "bytes": 3902, | |
| 23 | "sha256": "e0d351f33d156bf3d77b4912269768e2261c0c4850a8e78a87c245a2db2c5953", | |
| 24 | "mtime_ns": 1788661433289731365 | |
| 25 | }, | |
| 26 | { | |
| 27 | "path": "fixture-data/pattern.jpg", | |
| 28 | "bytes": 1071, | |
| 29 | "sha256": "bf7ef0fb92642d75f186c27a0ba662138c7c3f9ea85b1c478805a229cda451ed", | |
| 30 | "mtime_ns": 1788661433280638778 | |
| 31 | }, | |
| 32 | { | |
| 33 | "path": "fixture-data/pattern.png", | |
| 34 | "bytes": 250, | |
| 35 | "sha256": "02065dc5a46ae9a4adc68d0fff2641b62cedaa396f59f93ec6ac79c8b358904a", | |
| 36 | "mtime_ns": 1788661433279052573 | |
| 37 | }, | |
| 38 | { | |
| 39 | "path": "fixture-data/pattern.tiff", | |
| 40 | "bytes": 18572, | |
| 41 | "sha256": "fbbc74945e085389c3e994bfab64c26144056066e0d631512e62a3007b373427", | |
| 42 | "mtime_ns": 1788661433282081783 | |
| 43 | }, | |
| 44 | { | |
| 45 | "path": "fixture-data/silence.wav", | |
| 46 | "bytes": 16044, | |
| 47 | "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9", | |
| 48 | "mtime_ns": 1788661433289972060 | |
| 49 | }, | |
| 50 | { | |
| 51 | "path": "fixture.json", | |
| 52 | "bytes": 12415, | |
| 53 | "sha256": "d3c2142230816e8717c7612a5d2ca816a7551cebc2bc445846f3824d3a44dbc3", | |
| 54 | "mtime_ns": 1788661433292101944 | |
| 55 | }, | |
| 56 | { | |
| 57 | "path": "synthetic.one", | |
| 58 | "bytes": 3348, | |
| 59 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797", | |
| 60 | "mtime_ns": 1788592288941514581 | |
| 61 | } | |
| 62 | ] |
corpus/m6/native-features-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-histories-pilot-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-histories-pilot-01/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-C757B24A", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-C757B24A -ExpectedPages 4 -UseCurrentCache", "exit": 0, "stdout": "Read 1 sections and 4 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-histories-pilot-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-C757B24A", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-histories-pilot-01/inputs/000000-00.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-01.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-02.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-03.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-04.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-05.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#000000;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-06.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#ffff00">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-07.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-08.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-09.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-10.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-11.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{46}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-12.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-13.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-14.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-15.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">simple text</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-16.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-17.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-18.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-19.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:underline line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000000-20.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000000</one:T></one:OE></one:Title><one:Outline objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"><one:Position x="216" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{54C16252-4179-46D1-8DF7-301004515364}{53}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{51}{B0}"><one:T><![CDATA[<a href="https://example.invalid/0/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 2</span></a>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{61379533-DDB3-40A1-A836-40DD2A937A33}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:underline line-through;color:#00ffff;background:#00ffff">A😀éZ</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[A😀éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-00.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-01.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-02.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-03.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-04.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-05.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-06.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-07.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-08.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:18pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-09.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<a href="https://example.invalid/1/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:18pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span></a>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-10.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<a href="https://example.invalid/1/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:18pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span></a>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-11.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{40}{B0}"><one:T><![CDATA[<a href="https://example.invalid/1/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:18pt;font-weight:bold;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 0</span></a>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-12.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-13.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-14.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-15.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-16.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-17.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-18.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-19.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000001-20.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000001</one:T></one:OE></one:Title><one:Outline objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"><one:Position x="180" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:italic;text-decoration:line-through;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{029D6555-3118-40EF-8210-4C502C9F216D}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#ffff00;background:#ff0000">Initial 3</span>]]></one:T></one:OE><one:OE objectID="{CBBC3E77-1205-41BC-89FF-34FB24E7357F}{66}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-00.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 0</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-01.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-02.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-03.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-04.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-05.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#000000;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-06.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#ffff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-07.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-08.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-09.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-10.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-11.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{51}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:line-through;color:#00ff00;background:#ffff00">Initial 2</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-12.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-13.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="72" y="108"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-14.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-15.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Repeated words</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs	here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-16.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:bold;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs	here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-17.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs	here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-18.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs	here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-19.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:underline;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs	here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/inputs/000002-20.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>History 000002</one:T></one:OE></one:Title><one:Outline objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"><one:Position x="108" y="324"/><one:Size width="480" height="100"/><one:OEChildren><one:OE objectID="{9F2C1442-692C-41AF-BB4C-F19A9EE56DDC}{61}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:line-through;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{40}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:italic;text-decoration:underline;color:#000000;background:#ffff00">tabs	here</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{46}{B0}"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:underline;color:#000000;background:#00ff00">Initial 1</span>]]></one:T></one:OE><one:OE objectID="{BE045C12-B494-41CA-969F-7B4667D46FE3}{56}{B0}"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a href="https://example.invalid/2/8?a=1&amp;b=2"><span style="font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:#000000;background:#ffff00">Initial 3</span></a>]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[tabs	here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-c757b24a", "hostname": "ONE-M6-C757B24A"} |
corpus/m6/native-histories-pilot-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-histories-pilot-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-histories-pilot-01/notebook/histories.json created+566| ... | ... | @@ -0,0 +1,566 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "seed": 0, | |
| 4 | "title": "History 000000", | |
| 5 | "initial": { | |
| 6 | "paragraphs": [ | |
| 7 | { | |
| 8 | "id": "p0", | |
| 9 | "text": "Initial 0", | |
| 10 | "bold": false, | |
| 11 | "italic": false, | |
| 12 | "underline": false, | |
| 13 | "strike": false, | |
| 14 | "color": "#000000", | |
| 15 | "highlight": "#ffff00", | |
| 16 | "font_size": 11, | |
| 17 | "link": "", | |
| 18 | "tag": false | |
| 19 | }, | |
| 20 | { | |
| 21 | "id": "p1", | |
| 22 | "text": "Initial 1", | |
| 23 | "bold": false, | |
| 24 | "italic": false, | |
| 25 | "underline": false, | |
| 26 | "strike": false, | |
| 27 | "color": "#000000", | |
| 28 | "highlight": "#ffff00", | |
| 29 | "font_size": 11, | |
| 30 | "link": "", | |
| 31 | "tag": false | |
| 32 | }, | |
| 33 | { | |
| 34 | "id": "p2", | |
| 35 | "text": "Initial 2", | |
| 36 | "bold": false, | |
| 37 | "italic": false, | |
| 38 | "underline": false, | |
| 39 | "strike": false, | |
| 40 | "color": "#000000", | |
| 41 | "highlight": "#ffff00", | |
| 42 | "font_size": 11, | |
| 43 | "link": "", | |
| 44 | "tag": false | |
| 45 | }, | |
| 46 | { | |
| 47 | "id": "p3", | |
| 48 | "text": "Initial 3", | |
| 49 | "bold": false, | |
| 50 | "italic": false, | |
| 51 | "underline": false, | |
| 52 | "strike": false, | |
| 53 | "color": "#000000", | |
| 54 | "highlight": "#ffff00", | |
| 55 | "font_size": 11, | |
| 56 | "link": "", | |
| 57 | "tag": false | |
| 58 | } | |
| 59 | ], | |
| 60 | "table": [ | |
| 61 | [ | |
| 62 | "Cell 0,0", | |
| 63 | "Cell 0,1" | |
| 64 | ], | |
| 65 | [ | |
| 66 | "Cell 1,0", | |
| 67 | "Cell 1,1" | |
| 68 | ] | |
| 69 | ], | |
| 70 | "x": 72, | |
| 71 | "y": 108 | |
| 72 | }, | |
| 73 | "operations": [ | |
| 74 | { | |
| 75 | "kind": "text", | |
| 76 | "index": 3, | |
| 77 | "value": "simple text" | |
| 78 | }, | |
| 79 | { | |
| 80 | "kind": "bold", | |
| 81 | "index": 3, | |
| 82 | "value": true | |
| 83 | }, | |
| 84 | { | |
| 85 | "kind": "italic", | |
| 86 | "index": 0, | |
| 87 | "value": true | |
| 88 | }, | |
| 89 | { | |
| 90 | "kind": "underline", | |
| 91 | "index": 2, | |
| 92 | "value": true | |
| 93 | }, | |
| 94 | { | |
| 95 | "kind": "strike", | |
| 96 | "index": 3, | |
| 97 | "value": true | |
| 98 | }, | |
| 99 | { | |
| 100 | "kind": "color", | |
| 101 | "index": 3, | |
| 102 | "value": "#00ffff" | |
| 103 | }, | |
| 104 | { | |
| 105 | "kind": "highlight", | |
| 106 | "index": 3, | |
| 107 | "value": "#00ffff" | |
| 108 | }, | |
| 109 | { | |
| 110 | "kind": "font_size", | |
| 111 | "index": 1, | |
| 112 | "value": 11 | |
| 113 | }, | |
| 114 | { | |
| 115 | "kind": "link", | |
| 116 | "index": 2, | |
| 117 | "value": "https://example.invalid/0/8?a=1&b=2" | |
| 118 | }, | |
| 119 | { | |
| 120 | "kind": "tag", | |
| 121 | "index": 1, | |
| 122 | "value": true | |
| 123 | }, | |
| 124 | { | |
| 125 | "kind": "insert", | |
| 126 | "index": 0, | |
| 127 | "paragraph": { | |
| 128 | "id": "new10", | |
| 129 | "text": "tabs\there", | |
| 130 | "bold": false, | |
| 131 | "italic": false, | |
| 132 | "underline": false, | |
| 133 | "strike": false, | |
| 134 | "color": "#000000", | |
| 135 | "highlight": "#ffff00", | |
| 136 | "font_size": 11, | |
| 137 | "link": "", | |
| 138 | "tag": false | |
| 139 | } | |
| 140 | }, | |
| 141 | { | |
| 142 | "kind": "delete", | |
| 143 | "index": 2 | |
| 144 | }, | |
| 145 | { | |
| 146 | "kind": "move", | |
| 147 | "index": 1, | |
| 148 | "to": 2 | |
| 149 | }, | |
| 150 | { | |
| 151 | "kind": "position", | |
| 152 | "index": 0, | |
| 153 | "x": 216, | |
| 154 | "y": 108 | |
| 155 | }, | |
| 156 | { | |
| 157 | "kind": "cell", | |
| 158 | "index": 2, | |
| 159 | "row": 1, | |
| 160 | "column": 0, | |
| 161 | "text": "A😀éZ" | |
| 162 | }, | |
| 163 | { | |
| 164 | "kind": "text", | |
| 165 | "index": 3, | |
| 166 | "value": "A😀éZ" | |
| 167 | }, | |
| 168 | { | |
| 169 | "kind": "bold", | |
| 170 | "index": 1, | |
| 171 | "value": true | |
| 172 | }, | |
| 173 | { | |
| 174 | "kind": "italic", | |
| 175 | "index": 3, | |
| 176 | "value": true | |
| 177 | }, | |
| 178 | { | |
| 179 | "kind": "underline", | |
| 180 | "index": 3, | |
| 181 | "value": true | |
| 182 | }, | |
| 183 | { | |
| 184 | "kind": "strike", | |
| 185 | "index": 2, | |
| 186 | "value": true | |
| 187 | } | |
| 188 | ] | |
| 189 | }, | |
| 190 | { | |
| 191 | "seed": 1, | |
| 192 | "title": "History 000001", | |
| 193 | "initial": { | |
| 194 | "paragraphs": [ | |
| 195 | { | |
| 196 | "id": "p0", | |
| 197 | "text": "Initial 0", | |
| 198 | "bold": false, | |
| 199 | "italic": false, | |
| 200 | "underline": false, | |
| 201 | "strike": false, | |
| 202 | "color": "#000000", | |
| 203 | "highlight": "#ffff00", | |
| 204 | "font_size": 11, | |
| 205 | "link": "", | |
| 206 | "tag": false | |
| 207 | }, | |
| 208 | { | |
| 209 | "id": "p1", | |
| 210 | "text": "Initial 1", | |
| 211 | "bold": false, | |
| 212 | "italic": false, | |
| 213 | "underline": false, | |
| 214 | "strike": false, | |
| 215 | "color": "#000000", | |
| 216 | "highlight": "#ffff00", | |
| 217 | "font_size": 11, | |
| 218 | "link": "", | |
| 219 | "tag": false | |
| 220 | }, | |
| 221 | { | |
| 222 | "id": "p2", | |
| 223 | "text": "Initial 2", | |
| 224 | "bold": false, | |
| 225 | "italic": false, | |
| 226 | "underline": false, | |
| 227 | "strike": false, | |
| 228 | "color": "#000000", | |
| 229 | "highlight": "#ffff00", | |
| 230 | "font_size": 11, | |
| 231 | "link": "", | |
| 232 | "tag": false | |
| 233 | }, | |
| 234 | { | |
| 235 | "id": "p3", | |
| 236 | "text": "Initial 3", | |
| 237 | "bold": false, | |
| 238 | "italic": false, | |
| 239 | "underline": false, | |
| 240 | "strike": false, | |
| 241 | "color": "#000000", | |
| 242 | "highlight": "#ffff00", | |
| 243 | "font_size": 11, | |
| 244 | "link": "", | |
| 245 | "tag": false | |
| 246 | } | |
| 247 | ], | |
| 248 | "table": [ | |
| 249 | [ | |
| 250 | "Cell 0,0", | |
| 251 | "Cell 0,1" | |
| 252 | ], | |
| 253 | [ | |
| 254 | "Cell 1,0", | |
| 255 | "Cell 1,1" | |
| 256 | ] | |
| 257 | ], | |
| 258 | "x": 72, | |
| 259 | "y": 108 | |
| 260 | }, | |
| 261 | "operations": [ | |
| 262 | { | |
| 263 | "kind": "text", | |
| 264 | "index": 1, | |
| 265 | "value": "tabs\there" | |
| 266 | }, | |
| 267 | { | |
| 268 | "kind": "bold", | |
| 269 | "index": 0, | |
| 270 | "value": true | |
| 271 | }, | |
| 272 | { | |
| 273 | "kind": "italic", | |
| 274 | "index": 2, | |
| 275 | "value": true | |
| 276 | }, | |
| 277 | { | |
| 278 | "kind": "underline", | |
| 279 | "index": 0, | |
| 280 | "value": true | |
| 281 | }, | |
| 282 | { | |
| 283 | "kind": "strike", | |
| 284 | "index": 3, | |
| 285 | "value": true | |
| 286 | }, | |
| 287 | { | |
| 288 | "kind": "color", | |
| 289 | "index": 3, | |
| 290 | "value": "#ffff00" | |
| 291 | }, | |
| 292 | { | |
| 293 | "kind": "highlight", | |
| 294 | "index": 3, | |
| 295 | "value": "#ff0000" | |
| 296 | }, | |
| 297 | { | |
| 298 | "kind": "font_size", | |
| 299 | "index": 0, | |
| 300 | "value": 18 | |
| 301 | }, | |
| 302 | { | |
| 303 | "kind": "link", | |
| 304 | "index": 0, | |
| 305 | "value": "https://example.invalid/1/8?a=1&b=2" | |
| 306 | }, | |
| 307 | { | |
| 308 | "kind": "tag", | |
| 309 | "index": 3, | |
| 310 | "value": true | |
| 311 | }, | |
| 312 | { | |
| 313 | "kind": "insert", | |
| 314 | "index": 3, | |
| 315 | "paragraph": { | |
| 316 | "id": "new10", | |
| 317 | "text": "tabs\there", | |
| 318 | "bold": false, | |
| 319 | "italic": false, | |
| 320 | "underline": false, | |
| 321 | "strike": false, | |
| 322 | "color": "#000000", | |
| 323 | "highlight": "#ffff00", | |
| 324 | "font_size": 11, | |
| 325 | "link": "", | |
| 326 | "tag": false | |
| 327 | } | |
| 328 | }, | |
| 329 | { | |
| 330 | "kind": "delete", | |
| 331 | "index": 0 | |
| 332 | }, | |
| 333 | { | |
| 334 | "kind": "move", | |
| 335 | "index": 3, | |
| 336 | "to": 2 | |
| 337 | }, | |
| 338 | { | |
| 339 | "kind": "position", | |
| 340 | "index": 1, | |
| 341 | "x": 180, | |
| 342 | "y": 108 | |
| 343 | }, | |
| 344 | { | |
| 345 | "kind": "cell", | |
| 346 | "index": 2, | |
| 347 | "row": 0, | |
| 348 | "column": 0, | |
| 349 | "text": "Repeated words" | |
| 350 | }, | |
| 351 | { | |
| 352 | "kind": "text", | |
| 353 | "index": 0, | |
| 354 | "value": "literal <b> & \"quotes\"" | |
| 355 | }, | |
| 356 | { | |
| 357 | "kind": "bold", | |
| 358 | "index": 1, | |
| 359 | "value": true | |
| 360 | }, | |
| 361 | { | |
| 362 | "kind": "italic", | |
| 363 | "index": 3, | |
| 364 | "value": true | |
| 365 | }, | |
| 366 | { | |
| 367 | "kind": "underline", | |
| 368 | "index": 0, | |
| 369 | "value": true | |
| 370 | }, | |
| 371 | { | |
| 372 | "kind": "strike", | |
| 373 | "index": 1, | |
| 374 | "value": true | |
| 375 | } | |
| 376 | ] | |
| 377 | }, | |
| 378 | { | |
| 379 | "seed": 2, | |
| 380 | "title": "History 000002", | |
| 381 | "initial": { | |
| 382 | "paragraphs": [ | |
| 383 | { | |
| 384 | "id": "p0", | |
| 385 | "text": "Initial 0", | |
| 386 | "bold": false, | |
| 387 | "italic": false, | |
| 388 | "underline": false, | |
| 389 | "strike": false, | |
| 390 | "color": "#000000", | |
| 391 | "highlight": "#ffff00", | |
| 392 | "font_size": 11, | |
| 393 | "link": "", | |
| 394 | "tag": false | |
| 395 | }, | |
| 396 | { | |
| 397 | "id": "p1", | |
| 398 | "text": "Initial 1", | |
| 399 | "bold": false, | |
| 400 | "italic": false, | |
| 401 | "underline": false, | |
| 402 | "strike": false, | |
| 403 | "color": "#000000", | |
| 404 | "highlight": "#ffff00", | |
| 405 | "font_size": 11, | |
| 406 | "link": "", | |
| 407 | "tag": false | |
| 408 | }, | |
| 409 | { | |
| 410 | "id": "p2", | |
| 411 | "text": "Initial 2", | |
| 412 | "bold": false, | |
| 413 | "italic": false, | |
| 414 | "underline": false, | |
| 415 | "strike": false, | |
| 416 | "color": "#000000", | |
| 417 | "highlight": "#ffff00", | |
| 418 | "font_size": 11, | |
| 419 | "link": "", | |
| 420 | "tag": false | |
| 421 | }, | |
| 422 | { | |
| 423 | "id": "p3", | |
| 424 | "text": "Initial 3", | |
| 425 | "bold": false, | |
| 426 | "italic": false, | |
| 427 | "underline": false, | |
| 428 | "strike": false, | |
| 429 | "color": "#000000", | |
| 430 | "highlight": "#ffff00", | |
| 431 | "font_size": 11, | |
| 432 | "link": "", | |
| 433 | "tag": false | |
| 434 | } | |
| 435 | ], | |
| 436 | "table": [ | |
| 437 | [ | |
| 438 | "Cell 0,0", | |
| 439 | "Cell 0,1" | |
| 440 | ], | |
| 441 | [ | |
| 442 | "Cell 1,0", | |
| 443 | "Cell 1,1" | |
| 444 | ] | |
| 445 | ], | |
| 446 | "x": 72, | |
| 447 | "y": 108 | |
| 448 | }, | |
| 449 | "operations": [ | |
| 450 | { | |
| 451 | "kind": "text", | |
| 452 | "index": 0, | |
| 453 | "value": "Repeated words" | |
| 454 | }, | |
| 455 | { | |
| 456 | "kind": "bold", | |
| 457 | "index": 0, | |
| 458 | "value": true | |
| 459 | }, | |
| 460 | { | |
| 461 | "kind": "italic", | |
| 462 | "index": 2, | |
| 463 | "value": true | |
| 464 | }, | |
| 465 | { | |
| 466 | "kind": "underline", | |
| 467 | "index": 1, | |
| 468 | "value": true | |
| 469 | }, | |
| 470 | { | |
| 471 | "kind": "strike", | |
| 472 | "index": 2, | |
| 473 | "value": true | |
| 474 | }, | |
| 475 | { | |
| 476 | "kind": "color", | |
| 477 | "index": 2, | |
| 478 | "value": "#00ff00" | |
| 479 | }, | |
| 480 | { | |
| 481 | "kind": "highlight", | |
| 482 | "index": 1, | |
| 483 | "value": "#00ff00" | |
| 484 | }, | |
| 485 | { | |
| 486 | "kind": "font_size", | |
| 487 | "index": 0, | |
| 488 | "value": 11 | |
| 489 | }, | |
| 490 | { | |
| 491 | "kind": "link", | |
| 492 | "index": 3, | |
| 493 | "value": "https://example.invalid/2/8?a=1&b=2" | |
| 494 | }, | |
| 495 | { | |
| 496 | "kind": "tag", | |
| 497 | "index": 3, | |
| 498 | "value": true | |
| 499 | }, | |
| 500 | { | |
| 501 | "kind": "insert", | |
| 502 | "index": 2, | |
| 503 | "paragraph": { | |
| 504 | "id": "new10", | |
| 505 | "text": "tabs\there", | |
| 506 | "bold": false, | |
| 507 | "italic": false, | |
| 508 | "underline": false, | |
| 509 | "strike": false, | |
| 510 | "color": "#000000", | |
| 511 | "highlight": "#ffff00", | |
| 512 | "font_size": 11, | |
| 513 | "link": "", | |
| 514 | "tag": false | |
| 515 | } | |
| 516 | }, | |
| 517 | { | |
| 518 | "kind": "delete", | |
| 519 | "index": 3 | |
| 520 | }, | |
| 521 | { | |
| 522 | "kind": "move", | |
| 523 | "index": 2, | |
| 524 | "to": 0 | |
| 525 | }, | |
| 526 | { | |
| 527 | "kind": "position", | |
| 528 | "index": 0, | |
| 529 | "x": 108, | |
| 530 | "y": 324 | |
| 531 | }, | |
| 532 | { | |
| 533 | "kind": "cell", | |
| 534 | "index": 2, | |
| 535 | "row": 1, | |
| 536 | "column": 1, | |
| 537 | "text": "tabs\there" | |
| 538 | }, | |
| 539 | { | |
| 540 | "kind": "text", | |
| 541 | "index": 1, | |
| 542 | "value": "tabs\there" | |
| 543 | }, | |
| 544 | { | |
| 545 | "kind": "bold", | |
| 546 | "index": 1, | |
| 547 | "value": false | |
| 548 | }, | |
| 549 | { | |
| 550 | "kind": "italic", | |
| 551 | "index": 1, | |
| 552 | "value": true | |
| 553 | }, | |
| 554 | { | |
| 555 | "kind": "underline", | |
| 556 | "index": 1, | |
| 557 | "value": true | |
| 558 | }, | |
| 559 | { | |
| 560 | "kind": "strike", | |
| 561 | "index": 0, | |
| 562 | "value": true | |
| 563 | } | |
| 564 | ] | |
| 565 | } | |
| 566 | ] | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-histories-pilot-01/notebook/synthetic.one differ |
corpus/m6/native-histories-pilot-01/operations.jsonl created+63| ... | ... | @@ -0,0 +1,63 @@ |
| 1 | {"step":-1,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 2 | {"step":0,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 3 | {"step":1,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 4 | {"step":2,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 5 | {"step":3,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 6 | {"step":4,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 7 | {"step":5,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 8 | {"step":6,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 9 | {"step":7,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 10 | {"step":8,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 11 | {"step":9,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 12 | {"step":10,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 13 | {"step":11,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 14 | {"step":12,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 15 | {"step":13,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 16 | {"step":14,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 17 | {"step":15,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 18 | {"step":16,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 19 | {"step":17,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 20 | {"step":18,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 21 | {"step":19,"seed":0,"page":"{EAAE75E2-34FE-44DE-991F-4B75BF503616}{1}{B0}","outline":"{61379533-DDB3-40A1-A836-40DD2A937A33}{39}{B0}"} | |
| 22 | {"step":-1,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 23 | {"step":0,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 24 | {"step":1,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 25 | {"step":2,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 26 | {"step":3,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 27 | {"step":4,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 28 | {"step":5,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 29 | {"step":6,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 30 | {"step":7,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 31 | {"step":8,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 32 | {"step":9,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 33 | {"step":10,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 34 | {"step":11,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 35 | {"step":12,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 36 | {"step":13,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 37 | {"step":14,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 38 | {"step":15,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 39 | {"step":16,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 40 | {"step":17,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 41 | {"step":18,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 42 | {"step":19,"seed":1,"page":"{80FE0FED-CA08-4385-BE7E-A7253BEED6CA}{1}{B0}","outline":"{029D6555-3118-40EF-8210-4C502C9F216D}{39}{B0}"} | |
| 43 | {"step":-1,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 44 | {"step":0,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 45 | {"step":1,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 46 | {"step":2,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 47 | {"step":3,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 48 | {"step":4,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 49 | {"step":5,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 50 | {"step":6,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 51 | {"step":7,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 52 | {"step":8,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 53 | {"step":9,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 54 | {"step":10,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 55 | {"step":11,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 56 | {"step":12,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 57 | {"step":13,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 58 | {"step":14,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 59 | {"step":15,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 60 | {"step":16,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 61 | {"step":17,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 62 | {"step":18,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} | |
| 63 | {"step":19,"seed":2,"page":"{E1F7C64A-9729-48F7-A6F7-DE50604C7D74}{1}{B0}","outline":"{BE045C12-B494-41CA-969F-7B4667D46FE3}{39}{B0}"} |
corpus/m6/native-histories-pilot-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-C757B24A", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-histories-pilot-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{70B6F45E-08D5-4452-B2BD-66FFB167393F}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T01:39:13.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{15861660-5C67-07C0-10ED-66879A60BBC2}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T01:39:13.000Z" color="#8AA8E4"><one:Page ID="{7A080B52-5E7A-0430-34B0-46CD64EEF24B}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1"/><one:Page ID="{7A714550-499F-419D-A48A-BD3055B17B4A}{1}{B0}" name="History 000000" dateTime="2026-09-06T01:38:33.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1"/><one:Page ID="{10213F5F-B769-46C6-83EB-5160D10F9B96}{1}{B0}" name="History 000001" dateTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1"/><one:Page ID="{7128F6F8-EA48-4DB4-9B62-28158AAD3028}{1}{B0}" name="History 000002" dateTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/m6/native-histories-pilot-01/read/page-000.xml created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{10213F5F-B769-46C6-83EB-5160D10F9B96}{1}{B0}" name="History 000001" dateTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{163}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[History 000001]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{924255E7-4C79-45AC-BF85-BA15C67E6C31}{39}{B0}"><one:Position x="180.0" y="108.0" z="0"/><one:Size width="368.1299438476562" height="94.06629943847656"/><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{924255E7-4C79-45AC-BF85-BA15C67E6C31}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 3 | style='text-decoration:underline;background:yellow;mso-highlight:yellow'>literal &lt;b&gt; &amp; &quot;quotes&quot;</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{924255E7-4C79-45AC-BF85-BA15C67E6C31}{51}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 4 | style='font-weight:bold;font-style:italic;text-decoration:line-through; | |
| 5 | background:yellow;mso-highlight:yellow'>Initial 2</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{924255E7-4C79-45AC-BF85-BA15C67E6C31}{56}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#DBDB00"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span | |
| 6 | style='text-decoration:line-through;background:red;mso-highlight:red'>Initial 3</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{5B630EC5-6F64-44FF-B46A-C2BECE067823}{66}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 7 | style='font-style:italic;background:yellow;mso-highlight:yellow'>tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{190}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{191}{B0}"><one:Columns><one:Column index="0" width="180.0" isLocked="true"/><one:Column index="1" width="180.0" isLocked="true"/></one:Columns><one:Row objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{192}{B0}" lastModifiedTime="2026-09-06T01:38:58.000Z"><one:Cell lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{193}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{196}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Repeated words]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{201}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{204}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{209}{B0}" lastModifiedTime="2026-09-06T01:38:58.000Z"><one:Cell lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{213}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{216}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{210}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:38:58.000Z" objectID="{C0ADBD03-378B-460E-9666-C968DBA31763}{221}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-histories-pilot-01/read/page-001.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7128F6F8-EA48-4DB4-9B62-28158AAD3028}{1}{B0}" name="History 000002" dateTime="2026-09-06T01:38:58.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{162}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[History 000002]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{2EDB6CA0-C9F5-4489-AB0A-8D038D3522BF}{39}{B0}"><one:Position x="108.0" y="324.0" z="0"/><one:Size width="368.1299438476562" height="94.06631469726562"/><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{0FF324F0-144D-44EC-86D9-07DF74042080}{61}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 3 | style='text-decoration:line-through;background:yellow;mso-highlight:yellow'>tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{2EDB6CA0-C9F5-4489-AB0A-8D038D3522BF}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 4 | style='font-style:italic;text-decoration:underline;background:yellow; | |
| 5 | mso-highlight:yellow'>tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{2EDB6CA0-C9F5-4489-AB0A-8D038D3522BF}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 6 | style='text-decoration:underline;background:lime;mso-highlight:lime'>Initial 1</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:39:01.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{2EDB6CA0-C9F5-4489-AB0A-8D038D3522BF}{56}{B0}" alignment="left" quickStyleIndex="0"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<a | |
| 7 | href="https://example.invalid/2/8?a=1&amp;b=2"><span style='background:yellow; | |
| 8 | mso-highlight:yellow'>Initial 3</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{189}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{190}{B0}"><one:Columns><one:Column index="0" width="180.0" isLocked="true"/><one:Column index="1" width="180.0" isLocked="true"/></one:Columns><one:Row objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{191}{B0}" lastModifiedTime="2026-09-06T01:39:05.000Z"><one:Cell lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{192}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{195}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{200}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{203}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{208}{B0}" lastModifiedTime="2026-09-06T01:39:05.000Z"><one:Cell lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{212}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{215}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{209}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:39:05.000Z" lastModifiedTime="2026-09-06T01:39:05.000Z" objectID="{42614A41-5515-44D6-94BE-F6BBBF72DE43}{220}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-histories-pilot-01/read/page-002.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7A080B52-5E7A-0430-34B0-46CD64EEF24B}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{15861660-5C67-07C0-10ED-66879A60BBC2}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{15861660-5C67-07C0-10ED-66879A60BBC2}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-histories-pilot-01/read/page-003.xml created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7A714550-499F-419D-A48A-BD3055B17B4A}{1}{B0}" name="History 000000" dateTime="2026-09-06T01:38:33.000Z" lastModifiedTime="2026-09-06T01:39:13.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{162}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[History 000000]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{F1E8A581-A0D2-45E2-95A3-B698C072376F}{39}{B0}"><one:Position x="216.0" y="108.0" z="0"/><one:Size width="368.1299438476562" height="94.06629943847656"/><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{C41E52E0-3C18-4392-B062-C655EEB01E38}{53}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 3 | style='background:yellow;mso-highlight:yellow'>tabs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;here</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:43.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{F1E8A581-A0D2-45E2-95A3-B698C072376F}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a | |
| 4 | href="https://example.invalid/0/8?a=1&amp;b=2"><span style='font-weight:bold; | |
| 5 | background:yellow;mso-highlight:yellow'>Initial 2</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{F1E8A581-A0D2-45E2-95A3-B698C072376F}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 6 | style='font-style:italic;text-decoration:line-through;background:yellow; | |
| 7 | mso-highlight:yellow'>Initial 0</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:49.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{F1E8A581-A0D2-45E2-95A3-B698C072376F}{56}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:aqua"><one:T><![CDATA[<span | |
| 8 | style='font-weight:bold;font-style:italic;text-decoration:underline line-through; | |
| 9 | background:aqua;mso-highlight:aqua'>A&#128512;éZ</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{189}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{190}{B0}"><one:Columns><one:Column index="0" width="180.0" isLocked="true"/><one:Column index="1" width="180.0" isLocked="true"/></one:Columns><one:Row objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{191}{B0}" lastModifiedTime="2026-09-06T01:38:51.000Z"><one:Cell lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{192}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{195}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{200}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{203}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{208}{B0}" lastModifiedTime="2026-09-06T01:38:51.000Z"><one:Cell lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{212}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{215}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[A&#128512;éZ]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{209}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T01:38:51.000Z" lastModifiedTime="2026-09-06T01:38:51.000Z" objectID="{FF7E9742-21C6-4D66-B405-E054C2426F7A}{220}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-histories-pilot-01/read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/native-histories-pilot-01/run.json created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/history-input-01/notebook", | |
| 3 | "expected_pages": 4, | |
| 4 | "author": "tools/native/history.ps1", | |
| 5 | "base": { | |
| 6 | "file": "win7-office-base.qcow2", | |
| 7 | "format": "qcow2", | |
| 8 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 9 | "virtual_size": 68719476736 | |
| 10 | }, | |
| 11 | "scripts": { | |
| 12 | "author.ps1": "397acf4be501afc3c5cd8d64e84f0cf2a828314fb98a1d394ccdf2fe95b870c8", | |
| 13 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 14 | "read.ps1": "bec4953cc49b9ccb57041be00d7d7ce8bb88f2c0446c664b0a631e91f0007b45" | |
| 15 | } | |
| 16 | } |
corpus/m6/native-histories-pilot-01/scripts/author.ps1 created+83| ... | ... | @@ -0,0 +1,83 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $histories = Get-Content (Join-Path $Root 'notebook\histories.json') -Raw -Encoding UTF8 | ConvertFrom-Json | |
| 6 | $inputs = Join-Path $Root 'inputs' | |
| 7 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 8 | $app = New-Object -ComObject OneNote.Application | |
| 9 | $notebookId = '' | |
| 10 | $namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 11 | try { | |
| 12 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 13 | $sectionId = '' | |
| 14 | $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0) | |
| 15 | foreach ($history in $histories) { | |
| 16 | $pageId = '' | |
| 17 | $app.CreateNewPage($sectionId, [ref]$pageId, 0) | |
| 18 | $state = $history.initial | |
| 19 | $paragraphs = New-Object Collections.ArrayList | |
| 20 | foreach ($paragraph in $state.paragraphs) { [void]$paragraphs.Add($paragraph) } | |
| 21 | $ids = @{} | |
| 22 | $outlineId = '' | |
| 23 | for ($step = -1; $step -lt $history.operations.Count; $step++) { | |
| 24 | if ($step -ge 0) { | |
| 25 | $op = $history.operations[$step] | |
| 26 | switch ($op.kind) { | |
| 27 | 'insert' { $paragraphs.Insert($op.index, $op.paragraph) } | |
| 28 | 'delete' { $paragraphs.RemoveAt($op.index) } | |
| 29 | 'move' { $paragraph = $paragraphs[$op.index]; $paragraphs.RemoveAt($op.index); $paragraphs.Insert($op.to, $paragraph) } | |
| 30 | 'position' { $state.x = $op.x; $state.y = $op.y } | |
| 31 | 'cell' { $state.table[$op.row][$op.column] = $op.text } | |
| 32 | default { $property = $op.kind; $paragraphs[$op.index].$property = $op.value } | |
| 33 | } | |
| 34 | } | |
| 35 | $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>' + $history.title + '</one:T></one:OE></one:Title><one:Outline' | |
| 36 | if ($outlineId) { $xml += ' objectID="' + $outlineId + '"' } | |
| 37 | $xml += '><one:Position x="' + $state.x + '" y="' + $state.y + '"/><one:Size width="480" height="100"/><one:OEChildren>' | |
| 38 | foreach ($paragraph in $paragraphs) { | |
| 39 | $xml += '<one:OE' | |
| 40 | if ($ids.ContainsKey($paragraph.id)) { $xml += ' objectID="' + $ids[$paragraph.id] + '"' } | |
| 41 | $xml += '>' | |
| 42 | if ($paragraph.tag) { $xml += '<one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/>' } | |
| 43 | $decoration = @() | |
| 44 | if ($paragraph.underline) { $decoration += 'underline' } | |
| 45 | if ($paragraph.strike) { $decoration += 'line-through' } | |
| 46 | if ($decoration.Count -eq 0) { $decoration = @('none') } | |
| 47 | $style = 'font-family:Calibri;font-size:' + $paragraph.font_size + 'pt;font-weight:' + $(if ($paragraph.bold) {'bold'} else {'normal'}) + ';font-style:' + $(if ($paragraph.italic) {'italic'} else {'normal'}) + ';text-decoration:' + ($decoration -join ' ') + ';color:' + $paragraph.color + ';background:' + $paragraph.highlight | |
| 48 | $html = '<span style="' + $style + '">' + [Security.SecurityElement]::Escape($paragraph.text) + '</span>' | |
| 49 | if ($paragraph.link) { $html = '<a href="' + [Security.SecurityElement]::Escape($paragraph.link) + '">' + $html + '</a>' } | |
| 50 | $xml += '<one:T><![CDATA[' + $html + ']]></one:T></one:OE>' | |
| 51 | } | |
| 52 | $xml += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns>' | |
| 53 | foreach ($row in $state.table) { | |
| 54 | $xml += '<one:Row>' | |
| 55 | foreach ($cell in $row) { $xml += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[' + [Security.SecurityElement]::Escape($cell) + ']]></one:T></one:OE></one:OEChildren></one:Cell>' } | |
| 56 | $xml += '</one:Row>' | |
| 57 | } | |
| 58 | $xml += '</one:Table></one:OE></one:OEChildren></one:Outline></one:Page>' | |
| 59 | [IO.File]::WriteAllText((Join-Path $inputs ('{0:d6}-{1:d2}.xml' -f $history.seed, ($step + 1))), $xml, [Text.Encoding]::UTF8) | |
| 60 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true) | |
| 61 | $content = '' | |
| 62 | $app.GetPageContent($pageId, [ref]$content, 3, 1) | |
| 63 | [xml]$document = $content | |
| 64 | $manager = New-Object Xml.XmlNamespaceManager($document.NameTable) | |
| 65 | $manager.AddNamespace('one', $namespace) | |
| 66 | $outline = $document.SelectSingleNode('/one:Page/one:Outline', $manager) | |
| 67 | $outlineId = $outline.GetAttribute('objectID') | |
| 68 | $objects = @($outline.SelectNodes('one:OEChildren/one:OE[one:T]', $manager)) | |
| 69 | if ($objects.Count -ne $paragraphs.Count) { throw "Native paragraph count changed at seed $($history.seed), step $step." } | |
| 70 | for ($index = 0; $index -lt $paragraphs.Count; $index++) { $ids[$paragraphs[$index].id] = $objects[$index].GetAttribute('objectID') } | |
| 71 | $log = @{ seed = $history.seed; step = $step; page = $pageId; outline = $outlineId } | ConvertTo-Json -Compress | |
| 72 | [IO.File]::AppendAllText((Join-Path $Root 'operations.jsonl'), $log + [Environment]::NewLine, [Text.Encoding]::UTF8) | |
| 73 | } | |
| 74 | } | |
| 75 | $app.SyncHierarchy($notebookId) | |
| 76 | $app.CloseNotebook($notebookId, $false) | |
| 77 | $notebookId = '' | |
| 78 | } finally { | |
| 79 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 80 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 81 | [GC]::Collect() | |
| 82 | [GC]::WaitForPendingFinalizers() | |
| 83 | } |
corpus/m6/native-histories-pilot-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-histories-pilot-01/scripts/read.ps1 created+131| ... | ... | @@ -0,0 +1,131 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(45) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 3, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 75 | } | |
| 76 | $index = 0 | |
| 77 | $payloads = @() | |
| 78 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 79 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 80 | if ($Pdf) { | |
| 81 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 82 | $app.NavigateTo($id, '', $false) | |
| 83 | $app.Publish($id, $pdfPath, 3, '') | |
| 84 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 85 | } | |
| 86 | [xml]$page = $pages[$id] | |
| 87 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 88 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 89 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 90 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 91 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 92 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 93 | sha256 = $hash; bytes = $bytes.Length } | |
| 94 | } | |
| 95 | $index++ | |
| 96 | } | |
| 97 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 98 | $all = '' | |
| 99 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 100 | [xml]$finalTree = $all | |
| 101 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 102 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 103 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 106 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 107 | } catch { | |
| 108 | $failure = $_ | |
| 109 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 110 | throw | |
| 111 | } finally { | |
| 112 | try { | |
| 113 | try { | |
| 114 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 115 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 116 | $app.CloseNotebook($notebookId, $false) | |
| 117 | } | |
| 118 | } catch { | |
| 119 | if ($null -eq $failure) { throw } | |
| 120 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 121 | } | |
| 122 | } finally { | |
| 123 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 124 | } | |
| 125 | $app = $null | |
| 126 | [GC]::Collect() | |
| 127 | [GC]::WaitForPendingFinalizers() | |
| 128 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 129 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 130 | } | |
| 131 | } |
corpus/m6/native-histories-pilot-01/source.json created+20| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 1612, | |
| 5 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86", | |
| 6 | "mtime_ns": 1788592288950419463 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "histories.json", | |
| 10 | "bytes": 11091, | |
| 11 | "sha256": "b6a7f34ee0bfe8aebd532fc1464e3136ce45663f0a71ab016ae41223c8d9bd1a", | |
| 12 | "mtime_ns": 1788658359257655599 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "synthetic.one", | |
| 16 | "bytes": 3348, | |
| 17 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797", | |
| 18 | "mtime_ns": 1788592288941514581 | |
| 19 | } | |
| 20 | ] |
corpus/m6/native-histories-pilot-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-link-controls-01/ORACLE.md created+22| ... | ... | @@ -0,0 +1,22 @@ |
| 1 | # Native hyperlink boundary controls | |
| 2 | ||
| 3 | `notebook/fixture.json` is the independent authored input; `inputs/page-000.xml` | |
| 4 | records the submitted COM page. `read/page-001.xml` and its PDF are the native | |
| 5 | output. `read/environment.json` identifies the OneNote build and fresh clone; | |
| 6 | `teardown.json` records deletion. The original capture location links here. | |
| 7 | ||
| 8 | Ten labels isolate ASCII spaces, tabs, NBSP, EM space, literal HTML metacharacters, | |
| 9 | and line breaks. Native import places leading ASCII spaces/tabs outside the link, | |
| 10 | keeps trailing spaces/tabs inside it, and keeps NBSP linked at both ends. An | |
| 11 | all-space label has no link. EM spaces are removed during import. Newlines become | |
| 12 | stored CRs outside the hyperlink; the final CR is absent from exported HTML. | |
| 13 | ||
| 14 | Authored red foreground and underline do not survive this hyperlink import: | |
| 15 | native storage and exported XML use automatic foreground and no underline, | |
| 16 | including the leading unlinked text. Bold, 14-point font, and yellow highlight | |
| 17 | remain. These are native import observations, not transformations in the reader. | |
| 18 | ||
| 19 | `native_hyperlink_boundaries_preserve_whitespace_and_literal_labels` checks the | |
| 20 | stored visible text, linked text, exact destinations, and native formatting. The | |
| 21 | seeded-history comparator must apply the evidenced leading ASCII-space/tab rule | |
| 22 | to its independent expectation without stripping Unicode whitespace generally. |
corpus/m6/native-link-controls-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-link-controls-01/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-5025FB31", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-5025FB31 -ExpectedPages 2 -UseCurrentCache -Pdf", "exit": 0, "stdout": "Read 2 sections and 2 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-link-controls-01/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-link-controls-01/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-link-controls-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-5025FB31", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-link-controls-01/inputs/page-000.xml created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{19F6E5A0-A688-4A61-BF43-8A1106A8A02F}{1}{B0}"><one:Title><one:OE><one:T>Hyperlink boundary controls</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108" /><one:Size width="480" height="400" /><one:OEChildren><one:OE><one:T>&lt;a href="https://example.invalid/label/0"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/1"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt;	label	&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/2"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/3"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; 	label 	&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/4"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt;label&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/5"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/6"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/7"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; ]]&amp;gt; end&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/8"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt;&amp;lt;b&amp;gt; &amp;amp; &amp;quot;quoted&amp;quot;&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href="https://example.invalid/label/9"&gt;&lt;span style="font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow"&gt; | |
| 2 | label | |
| 3 | &lt;/span&gt;&lt;/a&gt;</one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-link-controls-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-5025fb31", "hostname": "ONE-M6-5025FB31"} |
corpus/m6/native-link-controls-01/notebook/Links.one created| Binary files /dev/null and b/corpus/m6/native-link-controls-01/notebook/Links.one differ |
corpus/m6/native-link-controls-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-link-controls-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-link-controls-01/notebook/fixture.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "sections": [ | |
| 3 | "Links.one" | |
| 4 | ], | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "section": "Links.one", | |
| 8 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\"><one:Title><one:OE><one:T>Hyperlink boundary controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>&lt;a href=\"https://example.invalid/label/0\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/1\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt;\tlabel\t&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/2\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/3\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; \tlabel \t&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/4\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt;label&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/5\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/6\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; label &lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/7\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt; ]]&amp;gt; end&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/8\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt;&amp;lt;b&amp;gt; &amp;amp; &amp;quot;quoted&amp;quot;&lt;/span&gt;&lt;/a&gt;</one:T></one:OE><one:OE><one:T>&lt;a href=\"https://example.invalid/label/9\"&gt;&lt;span style=\"font-family:Calibri;font-size:14pt;font-weight:bold;text-decoration:underline;color:red;background:yellow\"&gt;\nlabel\n&lt;/span&gt;&lt;/a&gt;</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 9 | } | |
| 10 | ] | |
| 11 | } | |
| \ No newline at end of file |
corpus/m6/native-link-controls-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-link-controls-01/notebook/synthetic.one differ |
corpus/m6/native-link-controls-01/pdf-format-checks.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-link-controls-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-5025FB31", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-link-controls-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{3F0215DD-2795-41B8-A90B-CEC09D930D3D}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T02:46:56.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{36F4DCC6-466A-0246-2071-9E4794CF3055}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T02:46:56.000Z" color="#8AA8E4"><one:Page ID="{597AC1F4-4477-01B6-042C-BE0D6A4179DC}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T02:46:56.000Z" pageLevel="1"/></one:Section><one:Section name="Links" ID="{2F6371CB-A951-09E3-22A5-6209FC5B50F2}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Links.one" lastModifiedTime="2026-09-06T02:46:50.000Z" color="#91BAAE" isCurrentlyViewed="true"><one:Page ID="{6DE64CD6-4238-0D26-3663-F35CBC06E046}{1}{B0}" name="Hyperlink boundary controls" dateTime="2026-09-06T02:46:29.000Z" lastModifiedTime="2026-09-06T02:46:50.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook> |
corpus/m6/native-link-controls-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-link-controls-01/read/page-000.pdf differ |
corpus/m6/native-link-controls-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{597AC1F4-4477-01B6-042C-BE0D6A4179DC}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T02:46:50.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{36F4DCC6-466A-0246-2071-9E4794CF3055}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{36F4DCC6-466A-0246-2071-9E4794CF3055}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-link-controls-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-link-controls-01/read/page-001.pdf differ |
corpus/m6/native-link-controls-01/read/page-001.xml created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6DE64CD6-4238-0D26-3663-F35CBC06E046}{1}{B0}" name="Hyperlink boundary controls" dateTime="2026-09-06T02:46:29.000Z" lastModifiedTime="2026-09-06T02:46:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Hyperlink boundary controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="187.9882659912109"/><one:OEChildren><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;background:yellow;mso-highlight:yellow'> </span><a | |
| 4 | href="https://example.invalid/label/0"><span style='font-weight:bold; | |
| 5 | background:yellow;mso-highlight:yellow'>label </span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{48}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 6 | style='font-weight:bold;background:yellow;mso-highlight:yellow'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a | |
| 7 | href="https://example.invalid/label/1"><span style='font-weight:bold; | |
| 8 | background:yellow;mso-highlight:yellow'>label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{53}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a | |
| 9 | href="https://example.invalid/label/2"><span style='font-weight:bold; | |
| 10 | font-size:14.0pt;background:yellow;mso-highlight:yellow'>&nbsp;label&nbsp;</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{59}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 11 | style='font-weight:bold;background:yellow;mso-highlight:yellow'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><a | |
| 12 | href="https://example.invalid/label/3"><span style='font-weight:bold; | |
| 13 | background:yellow;mso-highlight:yellow'>label &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{64}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a | |
| 14 | href="https://example.invalid/label/4"><span style='font-weight:bold; | |
| 15 | font-size:14.0pt;background:yellow;mso-highlight:yellow'>label</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{69}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 16 | style='font-weight:bold;background:yellow;mso-highlight:yellow'> </span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{74}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<a | |
| 17 | href="https://example.invalid/label/6"><span style='font-weight:bold; | |
| 18 | font-size:14.0pt;background:yellow;mso-highlight:yellow'>label</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{79}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 19 | style='font-weight:bold;background:yellow;mso-highlight:yellow'> </span><a | |
| 20 | href="https://example.invalid/label/7"><span style='font-weight:bold; | |
| 21 | background:yellow;mso-highlight:yellow'>]]&gt; end</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{84}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<a | |
| 22 | href="https://example.invalid/label/8"><span style='font-weight:bold; | |
| 23 | background:yellow;mso-highlight:yellow'>&lt;b&gt; &amp; &quot;quoted&quot;</span></a>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:46:31.000Z" lastModifiedTime="2026-09-06T02:46:31.000Z" objectID="{78B2505E-78FB-0504-3D2A-EA79ACC82B17}{89}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:14.0pt"><one:T><![CDATA[<span | |
| 24 | style='font-weight:bold;background:yellow;mso-highlight:yellow'><br> | |
| 25 | </span><a | |
| 26 | href="https://example.invalid/label/9"><span style='font-weight:bold; | |
| 27 | background:yellow;mso-highlight:yellow'>label</span></a>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-link-controls-01/read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/native-link-controls-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/link-controls-input-01/notebook", | |
| 3 | "expected_pages": 2, | |
| 4 | "author": "tools/native/pages.ps1", | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "base": { | |
| 7 | "file": "win7-office-base.qcow2", | |
| 8 | "format": "qcow2", | |
| 9 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 10 | "virtual_size": 68719476736 | |
| 11 | }, | |
| 12 | "scripts": { | |
| 13 | "author.ps1": "dfbf0e016aa4c8486ecea9f39768c633de05ac0db8214139052ca2e9c43bbd02", | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "fc7199ff4e01a5d18dbc6d472130006ef6f195a8f944daa33eaf6de2ac896553" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-link-controls-01/scripts/author.ps1 created+42| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $fixture = Get-Content (Join-Path $Root 'notebook\fixture.json') -Raw -Encoding UTF8 | ConvertFrom-Json | |
| 6 | $inputs = Join-Path $Root 'inputs' | |
| 7 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 8 | $app = New-Object -ComObject OneNote.Application | |
| 9 | $notebookId = '' | |
| 10 | try { | |
| 11 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 12 | $sections = @{} | |
| 13 | foreach ($path in $fixture.sections) { | |
| 14 | $parts = $path.Split('/') | |
| 15 | if (@($parts | Where-Object { $_ -in @('', '.', '..') -or $_.Contains('\') -or $_.Contains(':') }).Count) { throw 'Invalid fixture section path.' } | |
| 16 | $parent = $notebookId | |
| 17 | for ($index = 0; $index -lt $parts.Count; $index++) { | |
| 18 | $id = '' | |
| 19 | $app.OpenHierarchy($parts[$index], $parent, [ref]$id, $(if ($index -eq $parts.Count - 1) {3} else {2})) | |
| 20 | $parent = $id | |
| 21 | } | |
| 22 | $sections[$path] = $id | |
| 23 | } | |
| 24 | $index = 0 | |
| 25 | foreach ($item in $fixture.pages) { | |
| 26 | $pageId = '' | |
| 27 | $app.CreateNewPage($sections[$item.section], [ref]$pageId, 0) | |
| 28 | [xml]$xml = $item.xml.Replace('__ASSETS__', [Security.SecurityElement]::Escape((Join-Path $Root 'notebook\fixture-data'))) | |
| 29 | $xml.DocumentElement.SetAttribute('ID', $pageId) | |
| 30 | [IO.File]::WriteAllText((Join-Path $inputs ('page-{0:d3}.xml' -f $index)), $xml.OuterXml, [Text.Encoding]::UTF8) | |
| 31 | $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true) | |
| 32 | $index++ | |
| 33 | } | |
| 34 | $app.SyncHierarchy($notebookId) | |
| 35 | $app.CloseNotebook($notebookId, $false) | |
| 36 | $notebookId = '' | |
| 37 | } finally { | |
| 38 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 39 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 40 | [GC]::Collect() | |
| 41 | [GC]::WaitForPendingFinalizers() | |
| 42 | } |
corpus/m6/native-link-controls-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-link-controls-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 3, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-link-controls-01/source.json created+20| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 1612, | |
| 5 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86", | |
| 6 | "mtime_ns": 1788592288950419463 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "fixture.json", | |
| 10 | "bytes": 2885, | |
| 11 | "sha256": "d4b15f16ce04576d76e3c4d8f5471faec26b1f30c1755b9b10674f7181108648", | |
| 12 | "mtime_ns": 1788662692523936849 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "synthetic.one", | |
| 16 | "bytes": 3348, | |
| 17 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797", | |
| 18 | "mtime_ns": 1788592288941514581 | |
| 19 | } | |
| 20 | ] |
corpus/m6/native-link-controls-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-math-01/ORACLE.md created+20| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | # Native equation controls | |
| 2 | ||
| 3 | An isolated OneNote 14.0.4763.1000 clone authored a page through the equation UI | |
| 4 | (Alt+=): `x^2+y^2=z^2`, `(a+b)/(c+d)`, and inline `\alpha+\beta`. | |
| 5 | The UI showed superscripts and a stacked fraction; ordinary text follows the | |
| 6 | first equation. `read/page-000.xml` exports three MathML expressions, including | |
| 7 | their structure and display/inline distinction. The clone was deleted. | |
| 8 | ||
| 9 | The source contains mathematical Unicode plus FDD0/FDEE/FDEF structural controls. | |
| 10 | MathFormatting is set on the equation style. The two structured expressions have | |
| 11 | 11 and 3 TextRunData property sets respectively. Their private properties remain | |
| 12 | opaque, with a checked one-to-one association to the UTF-16 runs in the model. | |
| 13 | The report identifies these equations and links to the native reference; it does | |
| 14 | not display structural controls as ordinary prose. The inline Greek expression | |
| 15 | contains no structural controls and remains readable. | |
| 16 | ||
| 17 | [A fresh-clone read](../native-math-cold-01/read/page-000.xml) exports identical | |
| 18 | MathML. `tests/document.rs` verifies the stored text, run associations and math | |
| 19 | flags; `tools/test_document_oracle.py` verifies native equation structure and its | |
| 20 | preservation across caches. The public document fuzzer includes this source. |
corpus/m6/native-math-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-math-01/before-read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/native-math-01/before-read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-FBE8C24F", | |
| 5 | "cold": true, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-math-01/before-read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{41C0BCB8-520A-4568-959C-091B01345AD4}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T05:13:37.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{8278F8F5-FEFB-090C-22FF-FE5FC440532C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T05:13:37.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section><one:Section name="Open Notebook" ID="{FBEE5BEA-1F06-0DB8-108C-D6ED8897F653}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Open Notebook.one" lastModifiedTime="2026-09-06T05:13:37.000Z" color="#F5F96F"/></one:Notebook> |
corpus/m6/native-math-01/before-read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-math-01/before-read/page-000.pdf differ |
corpus/m6/native-math-01/before-read/page-000.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{C9FDA3CF-3C45-49AB-AA6A-DA15C7E4AA52}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{C9FDA3CF-3C45-49AB-AA6A-DA15C7E4AA52}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{EB108F5D-64AD-4718-B7F2-789D0764C786}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{EB108F5D-64AD-4718-B7F2-789D0764C786}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{9F4D7FDA-8F10-43F6-B0DC-589D63E84E1B}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{9F4D7FDA-8F10-43F6-B0DC-589D63E84E1B}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{A2641755-698A-4A58-86AC-F3698F850695}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{A2641755-698A-4A58-86AC-F3698F850695}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{277E0F35-AFF2-499E-A301-9497BB54C9A6}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{277E0F35-AFF2-499E-A301-9497BB54C9A6}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-math-01/before-read/payloads.json created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7", | |
| 4 | "name": "fictitious-attachment.txt", | |
| 5 | "object": "{277E0F35-AFF2-499E-A301-9497BB54C9A6}{11}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}", | |
| 8 | "bytes": 43 | |
| 9 | } | |
| 10 | ] | |
| \ No newline at end of file |
corpus/m6/native-math-01/commands.jsonl created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-FBE8C24F -ExpectedPages 1 -Pdf -KeepOpen", "exit": 0, "stdout": "Read 2 sections and 1 pages.\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 5 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-FBE8C24F -UseCurrentCache -ExpectedPages -1 -Pdf", "exit": 0, "stdout": "Read 2 sections and 2 pages.\r\n", "stderr": "", "error": null} | |
| 6 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-math-01/finish createdcorpus/m6/native-math-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-FBE8C24F", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-math-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-fbe8c24f", "hostname": "ONE-M6-FBE8C24F"} |
corpus/m6/native-math-01/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/1.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}},{"path":"assets/2.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}}] | |
| \ No newline at end of file |
corpus/m6/native-math-01/model/assets/0.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/native-math-01/model/assets/1.bin created| Binary files /dev/null and b/corpus/m6/native-math-01/model/assets/1.bin differ |
corpus/m6/native-math-01/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/native-math-01/model/assets/2.bin differ |
corpus/m6/native-math-01/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{CC260C17-7C87-0AF5-0A76-9C7DFAE0898B},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{B3C75306-06D3-02B8-3306-4E0FC24196A2},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{9AEC7F1C-E6DA-0B0A-21E7-B5B554142632},1"},"revisions":{"{B3C75306-06D3-02B8-3306-4E0FC24196A2},1":{"roots":{"1":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},10","2":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},11","4":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},26"},"nodes":{"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},10":{"jcid":393271,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Equation controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"8a3676b48983ce4d81a0f8ba18b4bd9b"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"d035570dbf3ddd01"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},12":{"jcid":393227,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},28"],"content":[],"structure":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},13"],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139067,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"7600690072007400750061006c000000"}},{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},13":{"jcid":393260,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},14","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Title"},"extra":[[{"id":335551550,"value":{"Bytes":"0c000900"}},{"id":335551620,"value":{"Bytes":"00000000"}},{"id":335551729,"value":{"Bytes":"00000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},14":{"jcid":393228,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},15"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708793,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"},{"id":2281708689,"value":"NoData"},{"id":335551724,"value":{"Bytes":"00009040"}},{"id":2281708799,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},15":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},16"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139067,"modified":1473139067,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708724,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},16":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139067,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Equation controls","runs":[{"start":0,"end":17,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},19","boilerplate":false},"extra":[[{"id":2281708724,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":2281714909,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageTitle"},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},20":{"jcid":393228,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},21","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},24"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708725,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708722,"value":"NoData"},{"id":2281708766,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":335551550,"value":{"Bytes":"00000000"}},{"id":335551620,"value":{"Bytes":"0c000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},21":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139066,"modified":1473139066,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Saturday, September 05, 2026","runs":[{"start":0,"end":28,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}},{"id":2281714909,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},23":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"PageDateTime"},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},24":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},25"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139066,"modified":1473139066,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708722,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":134224948,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},25":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139066,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"10:17 PM","runs":[{"start":0,"end":8,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},23","boilerplate":true},"extra":[[{"id":2281708766,"value":"NoData"},{"id":2281708544,"value":"NoData"},{"id":2281708812,"value":"NoData"},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769416,"value":{"Bytes":"0000000003"}},{"id":2281714909,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},26":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134331454990000000},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},28":{"jcid":393228,"children":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},29","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},33","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},35","{9419695B-68DF-0FDF-3526-F0E2C1D0A141},38"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":126.0,"y":86.4,"max_width":262.8,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139098,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":335551620,"value":{"Bytes":"09000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},29":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},30"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139067,"modified":1473139084,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},30":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139084,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"𝑥2+𝑦2=𝑧2","runs":[{"start":0,"end":1,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":1,"end":4,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":4,"end":6,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":6,"end":7,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":7,"end":8,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":8,"end":11,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":11,"end":13,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":13,"end":14,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":14,"end":15,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":15,"end":18,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":18,"end":20,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"7f00"}},{"id":1073755289,"value":{"Sets":{"start":1,"end":12}}},{"id":469769416,"value":{"Bytes":"0000000000"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"02000000"}},{"id":268448851,"value":{"Bytes":"5e00"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"01000000"}}],[{"id":335557711,"value":{"Bytes":"00000090"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"02000000"}},{"id":268448851,"value":{"Bytes":"5e00"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"01000000"}}],[{"id":335557711,"value":{"Bytes":"00000090"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"02000000"}},{"id":268448851,"value":{"Bytes":"5e00"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}}],[{"id":335557711,"value":{"Bytes":"1f000000"}},{"id":335557712,"value":{"Bytes":"01000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":true,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":null,"color":null,"highlight":null,"language":65663,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":2281714689,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"},{"id":2281709090,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},33":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},34"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139084,"modified":1473139084,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},34":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139084,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"After equation.","runs":[{"start":0,"end":15,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18","boilerplate":false},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":2281714909,"value":"NoData"}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},35":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},36"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139098,"modified":1473139098,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},36":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139098,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"𝑎+𝑏𝑐+𝑑","runs":[{"start":0,"end":1,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":1,"end":7,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"},{"start":7,"end":13,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18","boilerplate":false},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"7f00"}},{"id":1073755289,"value":{"Sets":{"start":1,"end":4}}}],[{"id":335557711,"value":{"Bytes":"10000000"}},{"id":335557712,"value":{"Bytes":"02000000"}},{"id":268448851,"value":{"Bytes":"2f00"}}],[{"id":335557711,"value":{"Bytes":"10000000"}}],[{"id":335557711,"value":{"Bytes":"10000000"}},{"id":335557712,"value":{"Bytes":"01000000"}}]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},38":{"jcid":393229,"children":[],"content":["{9419695B-68DF-0FDF-3526-F0E2C1D0A141},39"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473139098,"modified":1473139099,"original_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","latest_author":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},17","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},39":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473139099,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Inline 𝛼+𝛽","runs":[{"start":0,"end":7,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},27"},{"start":7,"end":12,"format":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},31"}],"paragraph_style":"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},18","boilerplate":false},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}}]]}}},"{9AEC7F1C-E6DA-0B0A-21E7-B5B554142632},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}},"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{CE29543B-9E41-0DC2-1E3B-00FDCDF82019},1"},"revisions":{"{CE29543B-9E41-0DC2-1E3B-00FDCDF82019},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{EE8ECC26-4A87-481B-BD62-4BD120C4BC63},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Equation controls","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"8a3676b48983ce4d81a0f8ba18b4bd9b"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"d035570dbf3ddd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10","{411D5BF3-52F4-0FF8-3262-670DA9026E18},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{411D5BF3-52F4-0FF8-3262-670DA9026E18},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{CC260C17-7C87-0AF5-0A76-9C7DFAE0898B},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"3d8951c1a05fd54d9c16111ec8b743ab"}},{"id":402660453,"value":{"Bytes":"d0c4540dbf3ddd01"}},{"id":603993154,"value":{"Objects":["{EE8ECC26-4A87-481B-BD62-4BD120C4BC63},1"]}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{74A71964-B70E-0589-3BB3-56F955273024},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{74A71964-B70E-0589-3BB3-56F955273024},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":36.0,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{57D959A7-EBAB-0B48-091B-646F994DD19F},18"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052015,"modified":1473052016,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":96.0,"max_width":260.0,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052017,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"c013e140"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{55644A5D-B639-0555-287F-86AC4C458A34},15"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052017,"modified":1473052017,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},15":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052017,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious positioned outline.","runs":[{"start":0,"end":30,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052016,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious: café, 東京, مرحبا","runs":[{"start":0,"end":18,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19"},{"start":18,"end":20,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},20"},{"start":20,"end":22,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19"},{"start":22,"end":27,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},21"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"SimSun","font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"86"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},21":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Arial","font_size":null,"color":7949855,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":2281714858,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":264.0,"y":192.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Fictitious: café, 東京, مرحبا","level":null,"width":753.984,"height":783.0,"margin_origin_x":36.0,"margin_origin_y":14.400001,"rtl":false},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":192.0,"max_width":96.000015,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"},{"id":335551707,"value":{"Bytes":"aaaa0640"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052018,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb01000000ab6180f822df4542b575c076ce6aaa0c000000000200000000001066000000010000200000002b59212af3023a32dd5b4c71bb1d072124be7a993933c762d8590536da9d37d2000000000e80000000020000200000000595329d755a96366351f1ec57dc25193cca79a8e4e438b31b7451415e4b0482200000003f639ba9e4652c47fc3d06fad88a6844861d447910d32e37fd078583e9a3b590400000006ea7ab72598677e78d2a6b888429c410bb3d31b48adbddfb607788d44d450a674407b51e4209dbf11dc5531e99f797214833a045b38073716b5876053ec85076"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},13":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},14"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20":{"jcid":393228,"children":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":501.52203,"y":139.75984,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":335551620,"value":{"Bytes":"09000000"}},{"id":335551707,"value":{"Bytes":"456f0341"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21":{"jcid":393229,"children":[],"content":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052301,"modified":1473052301,"original_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"","runs":[{"start":0,"end":0,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":0.0,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"01000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},19"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":144.0,"y":312.0,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},11":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},12":{"jcid":393250,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[39.14614,45.14567],"locked":[false,false],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},13":{"jcid":393251,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},14":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"046d6edc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},22":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e242dc0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052020,"modified":1473052020,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052020,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/native-math-01/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{CC260C17-7C87-0AF5-0A76-9C7DFAE0898B},1":{"{B3C75306-06D3-02B8-3306-4E0FC24196A2},1":{"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},16":[{"text":"Equation controls","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":17.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},22":[{"text":"Saturday, September 05, 2026","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},25":[{"text":"10:17 PM","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":10.0,"color":8421504,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},30":[{"text":"","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑥","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"2","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"+","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑦","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"2","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"=","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑧","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"2","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},34":[{"text":"After equation.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},36":[{"text":"","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑎+𝑏","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝑐+𝑑","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{9419695B-68DF-0FDF-3526-F0E2C1D0A141},39":[{"text":"Inline ","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"𝛼+𝛽","format":{"bold":false,"italic":true,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Cambria Math","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":65663,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{9AEC7F1C-E6DA-0B0A-21E7-B5B554142632},1":{}},"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{CE29543B-9E41-0DC2-1E3B-00FDCDF82019},1":{}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{74A71964-B70E-0589-3BB3-56F955273024},1":{"{55644A5D-B639-0555-287F-86AC4C458A34},15":[{"text":"Fictitious positioned outline.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{57D959A7-EBAB-0B48-091B-646F994DD19F},18":[{"text":"Fictitious: café, ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"東京","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"SimSun","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":", ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null},{"text":"مرحبا","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Arial","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":[{"text":"","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},21":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}],"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},29":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}} | |
| \ No newline at end of file |
corpus/m6/native-math-01/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/m6/native-math-01/notebook/Open Notebook.one differ |
corpus/m6/native-math-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-math-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-math-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-math-01/notebook/synthetic.one differ |
corpus/m6/native-math-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/native-math-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-FBE8C24F", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-math-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{41C0BCB8-520A-4568-959C-091B01345AD4}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T05:18:19.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{8278F8F5-FEFB-090C-22FF-FE5FC440532C}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T05:18:19.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{060F3990-45AE-4C56-92D5-424CD54D4DA4}{1}{B0}" name="Equation controls" dateTime="2026-09-06T05:17:46.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{FBEE5BEA-1F06-0DB8-108C-D6ED8897F653}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Open Notebook.one" lastModifiedTime="2026-09-06T05:13:37.000Z" color="#F5F96F"/></one:Notebook> |
corpus/m6/native-math-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-math-01/read/page-000.pdf differ |
corpus/m6/native-math-01/read/page-000.xml created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{060F3990-45AE-4C56-92D5-424CD54D4DA4}{1}{B0}" name="Equation controls" dateTime="2026-09-06T05:17:46.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" pageLevel="1" isCurrentlyViewed="true" lang="en-US"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T05:17:47.000Z" lastModifiedTime="2026-09-06T05:17:47.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Equation controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T05:18:19.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{28}{B0}"><one:Position x="126.0" y="86.4000015258789" z="0"/><one:Size width="107.8178634643555" height="65.31093597412109"/><one:OEChildren><one:OE creationTime="2026-09-06T05:17:47.000Z" lastModifiedTime="2026-09-06T05:18:04.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{29}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Cambria Math';font-size:11.0pt"><one:T><![CDATA[<!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="block"><mml:msup><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math><![endif]-->]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:04.000Z" lastModifiedTime="2026-09-06T05:18:04.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{33}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[After equation.]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:18.000Z" lastModifiedTime="2026-09-06T05:18:18.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{35}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Cambria Math';font-size:11.0pt"><one:T><![CDATA[<!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="block"><mml:mfrac><mml:mrow><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:mfrac></mml:math><![endif]-->]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:18.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" objectID="{5E305CDC-51F6-497C-AD85-2ED3EE7D656E}{38}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[<span | |
| 3 | style='font-family:Calibri' lang=en-US>Inline </span><!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>&#120572;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#120573;</mml:mi></mml:math><![endif]-->]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-math-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-math-01/read/page-001.pdf differ |
corpus/m6/native-math-01/read/page-001.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-06T05:13:52.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{C9FDA3CF-3C45-49AB-AA6A-DA15C7E4AA52}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{C9FDA3CF-3C45-49AB-AA6A-DA15C7E4AA52}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{EB108F5D-64AD-4718-B7F2-789D0764C786}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{EB108F5D-64AD-4718-B7F2-789D0764C786}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{9F4D7FDA-8F10-43F6-B0DC-589D63E84E1B}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{9F4D7FDA-8F10-43F6-B0DC-589D63E84E1B}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{A2641755-698A-4A58-86AC-F3698F850695}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{A2641755-698A-4A58-86AC-F3698F850695}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{277E0F35-AFF2-499E-A301-9497BB54C9A6}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{277E0F35-AFF2-499E-A301-9497BB54C9A6}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{09A17665-CE62-421E-BC09-76C2930732E0}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-math-01/read/payloads.json created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7", | |
| 4 | "name": "fictitious-attachment.txt", | |
| 5 | "object": "{277E0F35-AFF2-499E-A301-9497BB54C9A6}{11}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{AE310B73-7730-4A1D-A598-56CE38784F33}{1}{B0}", | |
| 8 | "bytes": 43 | |
| 9 | } | |
| 10 | ] | |
| \ No newline at end of file |
corpus/m6/native-math-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/corpus/native-ink/cold-ui-ink/notebook", | |
| 3 | "expected_pages": 1, | |
| 4 | "author": null, | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": true, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-math-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-math-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-math-01/source.json created+20| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.one", | |
| 4 | "bytes": 4016, | |
| 5 | "sha256": "e2d9f3e4d3e8a57adaff7ba5af5f1e23bea4b3b590a012acd8d1c4f166556c88", | |
| 6 | "mtime_ns": 1788585164197912114 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "Open Notebook.onetoc2", | |
| 10 | "bytes": 4944, | |
| 11 | "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28", | |
| 12 | "mtime_ns": 1788585164198018949 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "synthetic.one", | |
| 16 | "bytes": 27808, | |
| 17 | "sha256": "1326c475cc3a9f412ff4d072cf515c1482b3b9e07798921e582767b064401947", | |
| 18 | "mtime_ns": 1788585164197723028 | |
| 19 | } | |
| 20 | ] |
corpus/m6/native-math-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-math-cold-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-math-cold-01/commands.jsonl created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-37A0E999 -ExpectedPages 2 -Pdf", "exit": 0, "stdout": "Read 2 sections and 2 pages.\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-math-cold-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-37A0E999", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-math-cold-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-37a0e999", "hostname": "ONE-M6-37A0E999"} |
corpus/m6/native-math-cold-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/native-math-cold-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-37A0E999", | |
| 5 | "cold": true, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-math-cold-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D03899E4-B90F-4659-BB31-24B694FA7CD4}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T05:22:19.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{E96CAF3A-E2C7-0FEB-0A05-C21E04826FDD}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T05:22:19.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{C5255CBC-6B0C-4CFA-8D62-6A8FF8BA73C2}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{6D1B6E5F-5992-4AB1-BA2F-7E0D158F7155}{1}{B0}" name="Equation controls" dateTime="2026-09-06T05:17:46.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{DB23B325-1757-0CCF-3CCE-DE5A8553AEB7}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Open Notebook.one" lastModifiedTime="2026-09-06T05:22:19.000Z" color="#F5F96F"/></one:Notebook> |
corpus/m6/native-math-cold-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-math-cold-01/read/page-000.pdf differ |
corpus/m6/native-math-cold-01/read/page-000.xml created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6D1B6E5F-5992-4AB1-BA2F-7E0D158F7155}{1}{B0}" name="Equation controls" dateTime="2026-09-06T05:17:46.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T05:17:47.000Z" lastModifiedTime="2026-09-06T05:17:47.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Equation controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T05:18:19.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{28}{B0}"><one:Position x="126.0" y="86.4000015258789" z="0"/><one:Size width="107.8178634643555" height="65.31093597412109"/><one:OEChildren><one:OE creationTime="2026-09-06T05:17:47.000Z" lastModifiedTime="2026-09-06T05:18:04.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{29}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Cambria Math';font-size:11.0pt"><one:T><![CDATA[<!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="block"><mml:msup><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn>2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math><![endif]-->]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:04.000Z" lastModifiedTime="2026-09-06T05:18:04.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{33}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[After equation.]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:18.000Z" lastModifiedTime="2026-09-06T05:18:18.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{35}{B0}" alignment="left" quickStyleIndex="1" style="font-family:'Cambria Math';font-size:11.0pt"><one:T><![CDATA[<!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="block"><mml:mfrac><mml:mrow><mml:mi>a</mml:mi><mml:mo>+</mml:mo><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mi>c</mml:mi><mml:mo>+</mml:mo><mml:mi>d</mml:mi></mml:mrow></mml:mfrac></mml:math><![endif]-->]]></one:T></one:OE><one:OE creationTime="2026-09-06T05:18:18.000Z" lastModifiedTime="2026-09-06T05:18:19.000Z" objectID="{35240B13-4DCA-4F9B-857F-12922EBF599F}{38}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[<span | |
| 3 | style='font-family:Calibri' lang=en-US>Inline </span><!--[if mathML]><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mi>&#120572;</mml:mi><mml:mo>+</mml:mo><mml:mi>&#120573;</mml:mi></mml:math><![endif]-->]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-math-cold-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-math-cold-01/read/page-001.pdf differ |
corpus/m6/native-math-cold-01/read/page-001.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C5255CBC-6B0C-4CFA-8D62-6A8FF8BA73C2}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{A2E9F400-2079-4F4C-8290-E654072696A3}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{A2E9F400-2079-4F4C-8290-E654072696A3}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{8004D892-7891-41FF-9F08-44DCC7A6FB77}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{8004D892-7891-41FF-9F08-44DCC7A6FB77}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{F4592815-932C-4511-9826-64DCA32A72EA}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{F4592815-932C-4511-9826-64DCA32A72EA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{C970409A-75B6-4CBF-AE56-CF284F473A64}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{C970409A-75B6-4CBF-AE56-CF284F473A64}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{4C6A58FA-B3CE-4F79-8BFB-A8D67B96F557}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{4C6A58FA-B3CE-4F79-8BFB-A8D67B96F557}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{62B521AA-D25E-44F9-94F3-4A8353C50E11}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-math-cold-01/read/payloads.json created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7", | |
| 4 | "name": "fictitious-attachment.txt", | |
| 5 | "object": "{4C6A58FA-B3CE-4F79-8BFB-A8D67B96F557}{11}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{C5255CBC-6B0C-4CFA-8D62-6A8FF8BA73C2}{1}{B0}", | |
| 8 | "bytes": 43 | |
| 9 | } | |
| 10 | ] | |
| \ No newline at end of file |
corpus/m6/native-math-cold-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/corpus/m6/native-math-01/notebook", | |
| 3 | "expected_pages": 2, | |
| 4 | "author": null, | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": false, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-math-cold-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-math-cold-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-math-cold-01/source.json created+20| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.one", | |
| 4 | "bytes": 4016, | |
| 5 | "sha256": "e2d9f3e4d3e8a57adaff7ba5af5f1e23bea4b3b590a012acd8d1c4f166556c88", | |
| 6 | "mtime_ns": 1788671925794591240 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "Open Notebook.onetoc2", | |
| 10 | "bytes": 4944, | |
| 11 | "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28", | |
| 12 | "mtime_ns": 1788671925794729825 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "synthetic.one", | |
| 16 | "bytes": 35448, | |
| 17 | "sha256": "08c944fba245e5377933341c4f6dd3740f818189f0504896243c78d48137ecc4", | |
| 18 | "mtime_ns": 1788671925794919452 | |
| 19 | } | |
| 20 | ] |
corpus/m6/native-math-cold-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-origin-controls-01/ORACLE.md created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | # Native page-origin control | |
| 2 | ||
| 3 | The input starts from `corpus/native-ink/cold-ui-ink/notebook`. Rust scalar edits | |
| 4 | change only PageMarginOriginX/Y to 3 and -1 half-inches (108 and -36 points). | |
| 5 | `input/operations.json` records the input hash, object identities, and old/new | |
| 6 | property bytes. A fresh OneNote 2010 clone opened that input; `read` contains its | |
| 7 | independent XML/PDF view and `teardown.json` records cleanup. | |
| 8 | ||
| 9 | For non-ink page children, native XML positions equal stored positions plus | |
| 10 | (36, 14.4) minus the stored origin. `origin-observations.json` records all observed | |
| 11 | positions. Ink XML exports stroke bounds, which remain opaque in the model. | |
| 12 | The fixture also contains a 1 by 1 PNG whose native XML omits Size; its stored | |
| 13 | intrinsic size is 0.75 by 0.75 points and it has no explicit layout dimensions. | |
| 14 | ||
| 15 | Run `tools/verify-document.py input/notebook read` from this fixture directory | |
| 16 | using the repository tool path to check every supported object and coordinate. |
corpus/m6/native-origin-controls-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-origin-controls-01/commands.jsonl created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-F3B0587A -ExpectedPages 1 -Pdf", "exit": 0, "stdout": "Read 1 sections and 1 pages.\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-origin-controls-01/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-origin-controls-01/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-origin-controls-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-F3B0587A", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-origin-controls-01/input/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-origin-controls-01/input/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-origin-controls-01/input/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-origin-controls-01/input/notebook/synthetic.one differ |
corpus/m6/native-origin-controls-01/input/operations.json created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | { | |
| 2 | "source": "corpus/native-ink/cold-ui-ink/notebook/synthetic.one", | |
| 3 | "source_sha256": "1326c475cc3a9f412ff4d072cf515c1482b3b9e07798921e582767b064401947", | |
| 4 | "space": "{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1", | |
| 5 | "page": "{273DB6C4-A230-0679-389F-9DB750E092E4},12", | |
| 6 | "steps": [ | |
| 7 | { | |
| 8 | "property": "0x14001d0f", | |
| 9 | "old": "0000803f", | |
| 10 | "new": "00004040" | |
| 11 | }, | |
| 12 | { | |
| 13 | "property": "0x14001d10", | |
| 14 | "old": "cdcccc3e", | |
| 15 | "new": "000080bf" | |
| 16 | } | |
| 17 | ] | |
| 18 | } | |
| \ No newline at end of file |
corpus/m6/native-origin-controls-01/input/x.one created| Binary files /dev/null and b/corpus/m6/native-origin-controls-01/input/x.one differ |
corpus/m6/native-origin-controls-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-f3b0587a", "hostname": "ONE-M6-F3B0587A"} |
corpus/m6/native-origin-controls-01/origin-observations.json created+114| ... | ... | @@ -0,0 +1,114 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "kind": "Outline", | |
| 4 | "z": "0", | |
| 5 | "axis": "x", | |
| 6 | "stored": 36.0, | |
| 7 | "projected": -36.0, | |
| 8 | "native": -36.0 | |
| 9 | }, | |
| 10 | { | |
| 11 | "kind": "Outline", | |
| 12 | "z": "0", | |
| 13 | "axis": "y", | |
| 14 | "stored": 14.400001, | |
| 15 | "projected": 64.80000100000001, | |
| 16 | "native": 64.79999542236328 | |
| 17 | }, | |
| 18 | { | |
| 19 | "kind": "Ink", | |
| 20 | "z": "5", | |
| 21 | "axis": "x", | |
| 22 | "stored": 0.0, | |
| 23 | "projected": -72.0, | |
| 24 | "native": 349.5118103027344 | |
| 25 | }, | |
| 26 | { | |
| 27 | "kind": "Ink", | |
| 28 | "z": "5", | |
| 29 | "axis": "y", | |
| 30 | "stored": 0.0, | |
| 31 | "projected": 50.4, | |
| 32 | "native": 135.1558990478516 | |
| 33 | }, | |
| 34 | { | |
| 35 | "kind": "Ink", | |
| 36 | "z": "7", | |
| 37 | "axis": "x", | |
| 38 | "stored": 0.0, | |
| 39 | "projected": -72.0, | |
| 40 | "native": 432.0 | |
| 41 | }, | |
| 42 | { | |
| 43 | "kind": "Ink", | |
| 44 | "z": "7", | |
| 45 | "axis": "y", | |
| 46 | "stored": 0.0, | |
| 47 | "projected": 50.4, | |
| 48 | "native": 142.6393585205078 | |
| 49 | }, | |
| 50 | { | |
| 51 | "kind": "Outline", | |
| 52 | "z": "1", | |
| 53 | "axis": "x", | |
| 54 | "stored": 144.0, | |
| 55 | "projected": 72.0, | |
| 56 | "native": 72.0 | |
| 57 | }, | |
| 58 | { | |
| 59 | "kind": "Outline", | |
| 60 | "z": "1", | |
| 61 | "axis": "y", | |
| 62 | "stored": 96.0, | |
| 63 | "projected": 146.4, | |
| 64 | "native": 146.3999938964844 | |
| 65 | }, | |
| 66 | { | |
| 67 | "kind": "Outline", | |
| 68 | "z": "2", | |
| 69 | "axis": "x", | |
| 70 | "stored": 144.0, | |
| 71 | "projected": 72.0, | |
| 72 | "native": 72.0 | |
| 73 | }, | |
| 74 | { | |
| 75 | "kind": "Outline", | |
| 76 | "z": "2", | |
| 77 | "axis": "y", | |
| 78 | "stored": 192.0, | |
| 79 | "projected": 242.4, | |
| 80 | "native": 242.4000091552734 | |
| 81 | }, | |
| 82 | { | |
| 83 | "kind": "Outline", | |
| 84 | "z": "3", | |
| 85 | "axis": "x", | |
| 86 | "stored": 264.0, | |
| 87 | "projected": 192.0, | |
| 88 | "native": 192.0 | |
| 89 | }, | |
| 90 | { | |
| 91 | "kind": "Outline", | |
| 92 | "z": "3", | |
| 93 | "axis": "y", | |
| 94 | "stored": 192.0, | |
| 95 | "projected": 242.4, | |
| 96 | "native": 242.4000091552734 | |
| 97 | }, | |
| 98 | { | |
| 99 | "kind": "Outline", | |
| 100 | "z": "4", | |
| 101 | "axis": "x", | |
| 102 | "stored": 144.0, | |
| 103 | "projected": 72.0, | |
| 104 | "native": 72.0 | |
| 105 | }, | |
| 106 | { | |
| 107 | "kind": "Outline", | |
| 108 | "z": "4", | |
| 109 | "axis": "y", | |
| 110 | "stored": 312.0, | |
| 111 | "projected": 362.4, | |
| 112 | "native": 362.3999938964844 | |
| 113 | } | |
| 114 | ] | |
| \ No newline at end of file |
corpus/m6/native-origin-controls-01/pdf-format-checks.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-origin-controls-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/native-origin-controls-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-F3B0587A", | |
| 5 | "cold": true, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-origin-controls-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{586D8CC0-1759-4BCE-85AE-040C18FE5731}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T04:39:54.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{92DF6C78-E9B1-070B-2AEB-C59B9B6F8321}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T04:39:54.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{BE969FFE-607A-441A-AD8C-6D0A67579F3E}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook> |
corpus/m6/native-origin-controls-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-origin-controls-01/read/page-000.pdf differ |
corpus/m6/native-origin-controls-01/read/page-000.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BE969FFE-607A-441A-AD8C-6D0A67579F3E}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D95A3742-2B0F-47AC-A27E-E1D198CB7A5F}{10}{B0}"><one:Position x="-36.0" y="64.79999542236328" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D95A3742-2B0F-47AC-A27E-E1D198CB7A5F}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{FBB71BD0-73E7-491F-BFE6-4359584B178B}{15}{B0}"><one:Position x="349.5118103027344" y="135.1558990478516" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{FBB71BD0-73E7-491F-BFE6-4359584B178B}{23}{B0}"><one:Position x="432.0" y="142.6393585205078" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8FEAEB57-985A-4DF1-B8C8-63593CC79E16}{10}{B0}"><one:Position x="72.0" y="146.3999938964844" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8FEAEB57-985A-4DF1-B8C8-63593CC79E16}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B2C383D8-7EC0-445F-8EB8-C8ADD0AAD698}{10}{B0}"><one:Position x="72.0" y="242.4000091552734" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B2C383D8-7EC0-445F-8EB8-C8ADD0AAD698}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{37D99BB8-B8B8-4799-AB15-AF53E47B19AB}{10}{B0}"><one:Position x="192.0" y="242.4000091552734" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{37D99BB8-B8B8-4799-AB15-AF53E47B19AB}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{10}{B0}"><one:Position x="72.0" y="362.3999938964844" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{1906E2E8-D928-4C19-B41D-4D06CC28E2ED}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-origin-controls-01/read/payloads.json created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7", | |
| 4 | "name": "fictitious-attachment.txt", | |
| 5 | "object": "{37D99BB8-B8B8-4799-AB15-AF53E47B19AB}{11}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{BE969FFE-607A-441A-AD8C-6D0A67579F3E}{1}{B0}", | |
| 8 | "bytes": 43 | |
| 9 | } | |
| 10 | ] | |
| \ No newline at end of file |
corpus/m6/native-origin-controls-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/origin-controls-input/notebook", | |
| 3 | "expected_pages": 1, | |
| 4 | "author": null, | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": false, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-origin-controls-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-origin-controls-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-origin-controls-01/source.json created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 4944, | |
| 5 | "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28", | |
| 6 | "mtime_ns": 1788669502375289236 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "synthetic.one", | |
| 10 | "bytes": 29264, | |
| 11 | "sha256": "5403b858894d45969d1d28b0ae5747ad5e1bbc403fc5a7f859117475ceb2a77f", | |
| 12 | "mtime_ns": 1788669502370041037 | |
| 13 | } | |
| 14 | ] |
corpus/m6/native-origin-controls-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-page-direction-03/ORACLE.md created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | # Native right-to-left page control | |
| 2 | ||
| 3 | `scripts/author.ps1` changes PageSettings RTL to true and locks the existing | |
| 4 | table columns to 96 and 144 points through OneNote COM. `before.xml`, `after.xml` | |
| 5 | and `read/page-000.xml` retain the native observations. The saved store uses | |
| 6 | visual left-to-right column order [Right cell, Left cell], with widths [144, 96]. | |
| 7 | COM exports cells in page direction [Left cell, Right cell], with widths [96, 144]. | |
| 8 | The native PDF independently confirms the physical cell order. Default outline alignment anchors the right edge: | |
| 9 | store x + LayoutMaxWidth - PageMarginOriginX - 36 equals native x + native width. | |
| 10 | The native table outline measures wider than its stored suggested maximum width. | |
| 11 | Vertical coordinates retain the 14.4-point canonical origin. | |
| 12 | ||
| 13 | The public fixture includes images, a file and two opaque ink objects. All | |
| 14 | supported text, object order, payloads, formats and coordinates pass | |
| 15 | `tools/verify-document.py`. Ink stroke bounds remain distinct from the stored | |
| 16 | container position; the comparator checks ink count and excludes stroke geometry. | |
| 17 | `teardown.json` records deletion of the authoring clone. |
corpus/m6/native-page-direction-03/after.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{60E7FA13-E94C-42DA-AF14-6DC4527F7F88}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="true" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{072B52AF-A239-416C-A0E6-E11FADE39AE9}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.513916015625" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{072B52AF-A239-416C-A0E6-E11FADE39AE9}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing inkOriginX="0.01318359375" lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{25C67E3D-FAD1-4FDF-BD7E-43976D63F73D}{15}{B0}"><one:Position x="421.51025390625" y="84.75590515136718" z="5"/><one:Size width="60.009521484375" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing inkOriginX="0.0494384765625" lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{25C67E3D-FAD1-4FDF-BD7E-43976D63F73D}{23}{B0}"><one:Position x="503.997802734375" y="92.23936462402343" z="6"/><one:Size width="30.01904296875" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{519B8EBA-116C-4B31-BA50-639709EF7EA0}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.044921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{519B8EBA-116C-4B31-BA50-639709EF7EA0}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{E9A8FE55-318E-4159-A98D-AF9DD153F91D}{10}{B0}"><one:Position x="264.0003662109375" y="192.0" z="3"/><one:Size width="72.0" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{E9A8FE55-318E-4159-A98D-AF9DD153F91D}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{6CB2E635-F7F6-429F-8C20-C863E582362E}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{6CB2E635-F7F6-429F-8C20-C863E582362E}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{10}{B0}"><one:Position x="-236.94873046875" y="312.0" z="4"/><one:Size width="253.4996337890625" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{48}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{49}{B0}"><one:Columns><one:Column index="0" width="96.0" isLocked="true"/><one:Column index="1" width="144.0" isLocked="true"/></one:Columns><one:Row objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{50}{B0}" lastModifiedTime="2026-09-06T04:58:23.000Z"><one:Cell lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{51}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{B58ED44C-77F1-46F3-BF2F-B82ABF3F037F}{58}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-page-direction-03/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-page-direction-03/before.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{60E7FA13-E94C-42DA-AF14-6DC4527F7F88}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{072B52AF-A239-416C-A0E6-E11FADE39AE9}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{072B52AF-A239-416C-A0E6-E11FADE39AE9}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{25C67E3D-FAD1-4FDF-BD7E-43976D63F73D}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{25C67E3D-FAD1-4FDF-BD7E-43976D63F73D}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{519B8EBA-116C-4B31-BA50-639709EF7EA0}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{519B8EBA-116C-4B31-BA50-639709EF7EA0}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{6CB2E635-F7F6-429F-8C20-C863E582362E}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{6CB2E635-F7F6-429F-8C20-C863E582362E}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{E9A8FE55-318E-4159-A98D-AF9DD153F91D}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{E9A8FE55-318E-4159-A98D-AF9DD153F91D}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{C7778705-501E-4AD9-B685-4DC8F900025B}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-page-direction-03/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-70E6B408", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-70E6B408 -ExpectedPages 1 -UseCurrentCache -Pdf", "exit": 0, "stdout": "Read 2 sections and 1 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-page-direction-03/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-70E6B408", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-page-direction-03/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-70e6b408", "hostname": "ONE-M6-70E6B408"} |
corpus/m6/native-page-direction-03/model/assets.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [{"path":"assets/0.bin","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]}},{"path":"assets/1.bin","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]}},{"path":"assets/2.bin","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]}}] | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/model/assets/0.bin created| Binary files /dev/null and b/corpus/m6/native-page-direction-03/model/assets/0.bin differ |
corpus/m6/native-page-direction-03/model/assets/1.bin created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/model/assets/2.bin created| Binary files /dev/null and b/corpus/m6/native-page-direction-03/model/assets/2.bin differ |
corpus/m6/native-page-direction-03/model/document.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"file_id":[60,64,135,83,160,135,242,70,172,54,122,51,224,103,190,213],"root":"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1","spaces":{"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1"},"revisions":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{"roots":{"1":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10","2":"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11"},"nodes":{"{C7F40B04-17EF-07C8-0477-F2143775FC8E},10":{"jcid":393224,"children":[],"content":[],"structure":[],"spaces":["{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1"],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"PageSeries"},"extra":[[{"id":469769264,"value":{"Bytes":"8b3ac8fcf49f714db27dc2cf3ff433a8"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}},{"id":603993154,"value":{"Objects":["{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1"]}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},10":{"jcid":393223,"children":["{C7F40B04-17EF-07C8-0477-F2143775FC8E},10"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Section","default_template":null},"extra":[[{"id":469769264,"value":{"Bytes":"ad3e51bcb6d1bd448acde95750378bfa"}},{"id":402660453,"value":{"Bytes":"b0804d5df43cdd01"}}]]},"{3E291957-EF19-4BA0-BA98-4A7D238730F0},11":{"jcid":131121,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"SectionMetadata","name":null,"color":14985354},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]},"{46B0FEC5-7819-4E50-8A2F-5F53CDF1BEF4},1":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]}}}}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"contexts":{"{00000000-0000-0000-0000-000000000000},0":"{A79B9913-4E0E-02D3-3A7E-62CBA31DDFFF},1","{7111497F-1B6B-4209-9491-C98B04CF4C5A},1":"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1"},"revisions":{"{A79B9913-4E0E-02D3-3A7E-62CBA31DDFFF},1":{"roots":{"1":"{273DB6C4-A230-0679-389F-9DB750E092E4},10","2":"{273DB6C4-A230-0679-389F-9DB750E092E4},11","4":"{273DB6C4-A230-0679-389F-9DB750E092E4},13"},"nodes":{"{03D49648-056C-0F08-32C9-0424E8496E7D},10":{"jcid":393228,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":10835.251,"y":14.400001,"max_width":127.513695,"max_height":14.3},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},11":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},19"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052015,"modified":1473137903,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},13":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{03D49648-056C-0F08-32C9-0424E8496E7D},17":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{55644A5D-B639-0555-287F-86AC4C458A34},10":{"jcid":393228,"children":["{55644A5D-B639-0555-287F-86AC4C458A34},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":10943.251,"y":96.0,"max_width":167.04492,"max_height":13.427716},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},11":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},31"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473137903,"modified":1473137903,"original_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","latest_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{55644A5D-B639-0555-287F-86AC4C458A34},16":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{57D959A7-EBAB-0B48-091B-646F994DD19F},19":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":null,"font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"virtual"},"extra":[[{"id":469769720,"value":{"Bytes":"56000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},19":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious: café, 東京, مرحبا","runs":[{"start":0,"end":18,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19"},{"start":18,"end":20,"format":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},20"},{"start":20,"end":22,"format":"{57D959A7-EBAB-0B48-091B-646F994DD19F},19"},{"start":22,"end":27,"format":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},21"}],"paragraph_style":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},20":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"SimSun","font_size":null,"color":7949855,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"00"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},21":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":true,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Arial","font_size":null,"color":7949855,"highlight":null,"language":1025,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":null},"extra":[[{"id":134231210,"value":"NoData"},{"id":201334017,"value":{"Bytes":"b2"}},{"id":134231041,"value":"NoData"},{"id":134231045,"value":"NoData"},{"id":134231046,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22":{"jcid":1179725,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":null,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Style","name":"p"},"extra":[[]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},31":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Fictitious positioned outline.","runs":[{"start":0,"end":30,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},37":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[40,25,99,246,88,78,104,75,184,93,54,210,220,114,16,236]},"extension":".png"},"extra":[]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},48":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},49"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473137903,"modified":1473137903,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},49":{"jcid":393250,"children":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},50"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Table","rows":1,"columns":2,"widths":[144.0,96.0],"locked":[true,true],"borders":true},"extra":[[{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},50":{"jcid":393251,"children":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},58","{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},51"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Row"},"extra":[[]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},51":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"04e944eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},57":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Left cell","runs":[{"start":0,"end":9,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},58":{"jcid":393252,"children":["{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Cell","shading":null},"extra":[[{"id":469769234,"value":{"Bytes":"040418eb0000003f000000000000403f0000403f"}},{"id":201333779,"value":{"Bytes":"00"}},{"id":2281708689,"value":"NoData"}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},64":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"Right cell","runs":[{"start":0,"end":10,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},22","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},65":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"f407f0f801346a36346a36346a343634363436343600343634003436003436003400363400363400360034360034340036003436003400000000000000000000000000006b6b35356b37356b373537353735353700353735003735003735003700353700353500370035370035370035003735000000000000000000000000000000006b6b35376b35376b35353735373537350037353700353700353500370035370035370035003735003735003700353500000000000000000000000000000000346a34366a34366a34363434363436340036343600343600343600340034360034360034003634003634003600343400360000000000000000000000000000dc2e346a36346a34366a34363436343634340036343600343600343600340036003400003600340000340000360000340000360000340036000034000036000034366a346a3436346a36343634343634360034363400363400363400340036003400003600340000360000340000360000340000360034000036000034000034696b37356b37356b373535373537353700353735003735003537003500370035000037003500003700003500003700003500003500370000350000370000006b6b35376b35356b37353735373537350037353500373500373500370035003700003500370000350000350000370000350000370035000037000035000000"}},{"id":335557657,"value":{"Bytes":"01000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"5e14feeb9973fc488f8bef1216f8ea08"}},{"id":469775389,"value":{"Bytes":"3030bf06f53cdd01"}},{"id":469775451,"value":{"Bytes":"d91f3b410ad21540"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}}]]},"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},66":{"jcid":131143,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775371,"value":{"Bytes":"ac02e89502346a36346a36346a363434363436343600343634003634003436003400363400363400360034360034340036003436003400000000000000000000000000000000000000000000000000ec326a6a6a9e016a6a366a6a6a346a346a3634366a3436343436343634003634360034360034340036003400360000340036000034000036000034000036000034003400003600003400003600"}},{"id":335557657,"value":{"Bytes":"02000000"}},{"id":268448795,"value":{"Bytes":"0904"}},{"id":201339932,"value":{"Bytes":"00"}},{"id":469775386,"value":{"Bytes":"cf4d0e31c086724ea43c1550db1f178a"}},{"id":469775389,"value":{"Bytes":"b066de08f53cdd01"}},{"id":469775451,"value":{"Bytes":"2cc95f41d91f2340"}},{"id":536884233,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13"]}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10":{"jcid":393228,"children":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":11063.251,"y":192.0,"max_width":72.0,"max_height":63.0},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},11":{"jcid":393229,"children":[],"content":["{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052019,"modified":1473052019,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},12":{"jcid":393269,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052019,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Attachment","container":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13","preview":"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14","filename":"fictitious-attachment.txt","source_path":"C:\\one-tests\\runs\\20260905-05\\assets\\fictitious-attachment.txt","recording_id":null,"recording_type":null},"extra":[[{"id":335557837,"value":{"Bytes":"abaa2a3f"}},{"id":335557838,"value":{"Bytes":"abaa2a3f"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"66006900630074006900740069006f00750073002d006100740074006100630068006d0065006e0074002e007400780074000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}}]]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},13":{"jcid":524342,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[216,1,128,69,30,15,31,69,129,203,98,24,40,252,11,57]},"extension":".txt"},"extra":[]},"{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},14":{"jcid":524345,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"File","reference":{"Internal":[49,101,250,55,234,213,176,67,129,74,74,108,231,56,36,178]},"extension":".png"},"extra":[]},"{273DB6C4-A230-0679-389F-9DB750E092E4},10":{"jcid":393271,"children":[],"content":["{273DB6C4-A230-0679-389F-9DB750E092E4},12"],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Manifest","history":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},1"},"extra":[[]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},11":{"jcid":131120,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Metadata","title":"Fictitious: café, 東京, مرحبا","level":1},"extra":[[{"id":469769264,"value":{"Bytes":"364029688329ad48b125c64be4a25f7f"}},{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}},{"id":402660453,"value":{"Bytes":"50955b5ef43cdd01"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},12":{"jcid":393227,"children":["{03D49648-056C-0F08-32C9-0424E8496E7D},10","{55644A5D-B639-0555-287F-86AC4C458A34},10","{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10","{ED573AB2-96DB-0F3D-3BA2-4AA694F90D89},10","{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23","{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20"],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Page","alternate_title":"Fictitious: café, 東京, مرحبا","level":null,"width":753.984,"height":783.0,"margin_origin_x":10763.251,"margin_origin_y":14.400001,"rtl":true},"extra":[[{"id":2281708764,"value":"NoData"},{"id":2281708686,"value":"NoData"},{"id":335551564,"value":{"Bytes":"0000803f"}},{"id":335551565,"value":{"Bytes":"0000803f"}},{"id":335551566,"value":{"Bytes":"00000040"}},{"id":335551567,"value":{"Bytes":"00000040"}},{"id":335551646,"value":{"Bytes":"0000003f"}},{"id":335551647,"value":{"Bytes":"0000003f"}},{"id":335551648,"value":{"Bytes":"0000803e"}},{"id":335551649,"value":{"Bytes":"0000803e"}},{"id":469769589,"value":{"Bytes":"73006e006f0077000000"}},{"id":469769720,"value":{"Bytes":"53000000"}},{"id":335551836,"value":{"Bytes":"02000000"}},{"id":469769565,"value":{"Bytes":"0310e65e416b931f400000000000000000"}}]]},"{273DB6C4-A230-0679-389F-9DB750E092E4},13":{"jcid":131140,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RevisionMetadata","modified_filetime":134330587010000000},"extra":[[]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},10":{"jcid":393228,"children":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":10943.251,"y":192.0,"max_width":72.0,"max_height":0.74999994},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},11":{"jcid":393229,"children":[],"content":["{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052018,"modified":1473052018,"original_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","latest_author":"{03D49648-056C-0F08-32C9-0424E8496E7D},13","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{684D22D2-50A3-0CFB-1E0F-2D58A028C2BA},12":{"jcid":393233,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":1033,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Image","container":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},37","filename":null,"alt":null,"picture_width":0.75,"picture_height":0.75,"background":null,"printout":false,"link":null},"extra":[[{"id":469769723,"value":{"Bytes":"01000000d08c9ddf0115d1118c7a00c04fc297eb010000003086c74d139ec244ae8bc4516d2b8c65000000000200000000001066000000010000200000000dbfd60c8911709580f3ab510eef06f2f74d89501ef114f256cc212c06644316000000000e800000000200002000000084e1a39cf7f21885ffc3a62dc460b23b2930b85ed02a0ccd15729eddfca8b334200000008667910a519cef36b4169e7b24119f204c2c95a0b44f39125479ab8f9e536cac40000000db47d149a4812de527c42cc4cd959203b33e114eeb642066e836fec530ca82b067d852204060c312c1f5bf926251ac7f3755797657f4477bc9a5d5c340949a4e"}},{"id":469769724,"value":{"Bytes":"f402c1d94636be45d97fa7ab7fbf2c127166c53e"}},{"id":335551993,"value":{"Bytes":"00000000"}},{"id":335551550,"value":{"Bytes":"01000000"}},{"id":335551620,"value":{"Bytes":"01000000"}},{"id":268442878,"value":{"Bytes":"0904"}},{"id":469769679,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769250,"value":{"Bytes":"0000000000000000000000000000000000000000000000000000000000000000"}},{"id":469769569,"value":{"Bytes":"1000000001000000000000000000000000000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10":{"jcid":1179649,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Author","name":"snow"},"extra":[[{"id":469769720,"value":{"Bytes":"53000000"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},13":{"jcid":1179720,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":469775370,"value":{"Bytes":"8f6a8a59c052a04b93afaf357411a56100000000800700000200000021e2e241759f3fb5e0049844a7eec30dbb5a90110000000038040000020000008bc5e241"}},{"id":335557644,"value":{"Bytes":"00000c42"}},{"id":335557645,"value":{"Bytes":"00000c42"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},15":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":10799.25,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052300,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16"]}},{"id":335551822,"value":{"Bytes":"02000000"}},{"id":335551558,"value":{"Bytes":"0a00803f"}},{"id":335551559,"value":{"Bytes":"0000803f"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},16":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},65"]}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},20":{"jcid":393228,"children":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":501.52203,"y":139.75984,"max_width":468.0,"max_height":21.6},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":335551620,"value":{"Bytes":"09000000"}},{"id":335551707,"value":{"Bytes":"456f0341"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},21":{"jcid":393229,"children":[],"content":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473052301,"modified":1473052301,"original_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","latest_author":"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},10","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":{"jcid":393230,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"RichText","text":"","runs":[{"start":0,"end":0,"format":"{55644A5D-B639-0555-287F-86AC4C458A34},16"}],"paragraph_style":"{03D49648-056C-0F08-32C9-0424E8496E7D},17","boilerplate":false},"extra":[[{"id":268442878,"value":{"Bytes":"0904"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},23":{"jcid":393236,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":10799.248,"y":0.0,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473052301,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Ink"},"extra":[[{"id":536884245,"value":{"Objects":["{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24"]}},{"id":335551822,"value":{"Bytes":"02000000"}},{"id":335551558,"value":{"Bytes":"2600803f"}},{"id":335551559,"value":{"Bytes":"0000803f"}}]]},"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},24":{"jcid":131131,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Unknown"},"extra":[[{"id":603993110,"value":{"Objects":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},66"]}}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},10":{"jcid":393228,"children":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},48"],"content":[],"structure":[],"spaces":[],"child_level":1,"layout":{"x":10567.672,"y":312.0,"max_width":248.13002,"max_height":21.947718},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":1473137903,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Outline","indents":[18.0,0.0,27.0,27.0]},"extra":[[{"id":201333779,"value":{"Bytes":"00"}},{"id":134225085,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},17":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},57"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473137903,"modified":1473137903,"original_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","latest_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]},"{C38843E2-F74B-04BD-24AA-A8F3BCAAF6CF},25":{"jcid":393229,"children":[],"content":["{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},64"],"structure":[],"spaces":[],"child_level":1,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":1473137903,"modified":1473137903,"original_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","latest_author":"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},15","media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"Paragraph","lists":[],"paragraph_style":null},"extra":[[{"id":2281708596,"value":"NoData"}]]}}},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{"roots":{"1":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2","2":"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3"},"nodes":{"{7111497F-1B6B-4209-9491-C98B04CF4C5A},2":{"jcid":393276,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistory"},"extra":[[]]},"{7111497F-1B6B-4209-9491-C98B04CF4C5A},3":{"jcid":131142,"children":[],"content":[],"structure":[],"spaces":[],"child_level":null,"layout":{"x":null,"y":null,"max_width":null,"max_height":null},"format":{"bold":null,"italic":null,"underline":null,"strike":null,"superscript":null,"subscript":null,"hidden":null,"hyperlink":null,"hyperlink_label":null,"font":null,"font_size":null,"color":null,"highlight":null,"language":null,"alignment":null,"rtl":null,"space_before":null,"space_after":null,"line_spacing":null},"created":null,"modified":null,"original_author":null,"latest_author":null,"media_ids":[],"media_time_ms":null,"tags":[],"kind":{"type":"VersionHistoryMetadata"},"extra":[[{"id":335551874,"value":{"Bytes":"28000000"}},{"id":335557771,"value":{"Bytes":"28000000"}}]]}}}}}}} | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/model/text.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"{4851CD72-C7D2-4FAF-BA5C-206EEBED9703},1":{"{9E24424C-0CD9-0E62-29EE-A244369C13D7},1":{}},"{64183EF4-4E19-0CBE-3D3B-88FF17D58B1C},1":{"{A79B9913-4E0E-02D3-3A7E-62CBA31DDFFF},1":{"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},19":[{"text":"Fictitious: café, ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null},{"text":"東京","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"SimSun","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null},{"text":", ","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null},{"text":"مرحبا","format":{"bold":true,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Arial","font_size":11.0,"color":7949855,"highlight":4278190080,"language":1025,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},31":[{"text":"Fictitious positioned outline.","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},57":[{"text":"Left cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{B17110AB-D0A4-0897-2D00-5D11FA95F7EB},64":[{"text":"Right cell","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":null},"link":null}],"{2139BADA-5D84-01BB-2F51-A6AC28C903A9},22":[{"text":"","format":{"bold":false,"italic":false,"underline":false,"strike":false,"superscript":false,"subscript":false,"hidden":false,"hyperlink":false,"hyperlink_label":null,"font":"Calibri","font_size":11.0,"color":4278190080,"highlight":4278190080,"language":1033,"alignment":null,"rtl":null,"space_before":0.0,"space_after":0.0,"line_spacing":0.0},"link":null}]},"{56182BB7-150A-08D6-12B2-98C836D1A7C5},1":{}}} | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/m6/native-page-direction-03/notebook/Open Notebook.one differ |
corpus/m6/native-page-direction-03/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-page-direction-03/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-page-direction-03/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-page-direction-03/notebook/synthetic.one differ |
corpus/m6/native-page-direction-03/pdf-format-checks.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-70E6B408", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-page-direction-03/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{6BD3A301-FD19-4C71-BDAC-6E43F07ABAC7}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T04:58:44.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{A62A2B74-35CF-0B42-2E75-5C53E96CF5FD}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T04:58:44.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{8A63D8F2-BC04-4853-A912-F4C21554E9E2}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section><one:Section name="Open Notebook" ID="{F02311CF-0985-08F7-1A85-7A327C02F113}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Open Notebook.one" lastModifiedTime="2026-09-06T04:58:44.000Z" color="#F5F96F"/></one:Notebook> |
corpus/m6/native-page-direction-03/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-page-direction-03/read/page-000.pdf differ |
corpus/m6/native-page-direction-03/read/page-000.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8A63D8F2-BC04-4853-A912-F4C21554E9E2}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="true" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{EDAF704E-F771-4BE5-A6E0-7819EAC80C83}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.513916015625" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{EDAF704E-F771-4BE5-A6E0-7819EAC80C83}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing inkOriginX="0.01318359375" lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{CF425CDC-AF99-4556-BB78-DA912A486157}{15}{B0}"><one:Position x="421.51025390625" y="84.75590515136718" z="5"/><one:Size width="60.009521484375" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing inkOriginX="0.0494384765625" lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{CF425CDC-AF99-4556-BB78-DA912A486157}{23}{B0}"><one:Position x="503.997802734375" y="92.23936462402343" z="6"/><one:Size width="30.01904296875" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{BB1FAC5B-4424-41B8-BC56-FA914EC4E8CA}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.044921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{BB1FAC5B-4424-41B8-BC56-FA914EC4E8CA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{032CDCB4-64C6-4BD0-AF8B-369B96786F77}{10}{B0}"><one:Position x="264.0003662109375" y="192.0" z="3"/><one:Size width="72.0" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{032CDCB4-64C6-4BD0-AF8B-369B96786F77}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{8636C4D4-A2BE-4816-8A26-5165A2A9A044}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{8636C4D4-A2BE-4816-8A26-5165A2A9A044}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{2DF3A5E4-0556-4050-B083-D4CEBE2B9431}{10}{B0}"><one:Position x="-236.94873046875" y="312.0" z="4"/><one:Size width="253.4996337890625" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{48}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{49}{B0}"><one:Columns><one:Column index="0" width="96.0" isLocked="true"/><one:Column index="1" width="144.0" isLocked="true"/></one:Columns><one:Row objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{50}{B0}" lastModifiedTime="2026-09-06T04:58:23.000Z"><one:Cell lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{51}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{2DF3A5E4-0556-4050-B083-D4CEBE2B9431}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{5F0AF6AD-22B9-4C7A-B929-212CF8149515}{58}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T04:58:23.000Z" lastModifiedTime="2026-09-06T04:58:23.000Z" objectID="{2DF3A5E4-0556-4050-B083-D4CEBE2B9431}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-page-direction-03/read/payloads.json created+10| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7", | |
| 4 | "name": "fictitious-attachment.txt", | |
| 5 | "object": "{032CDCB4-64C6-4BD0-AF8B-369B96786F77}{11}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{8A63D8F2-BC04-4853-A912-F4C21554E9E2}{1}{B0}", | |
| 8 | "bytes": 43 | |
| 9 | } | |
| 10 | ] | |
| \ No newline at end of file |
corpus/m6/native-page-direction-03/run.json created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/corpus/native-ink/cold-ui-ink/notebook", | |
| 3 | "expected_pages": 1, | |
| 4 | "author": "tools/native/page-direction.ps1", | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": false, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "author.ps1": "fcb431bb45554e664061765116cf182d7ae87c00b0b62de7d89d7ebf933fb815", | |
| 15 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 16 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 17 | } | |
| 18 | } |
corpus/m6/native-page-direction-03/scripts/author.ps1 created+45| ... | ... | @@ -0,0 +1,45 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $app = New-Object -ComObject OneNote.Application | |
| 6 | $notebook = '' | |
| 7 | try { | |
| 8 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0) | |
| 9 | $section = '' | |
| 10 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 11 | $deadline = [DateTime]::UtcNow.AddSeconds(60) | |
| 12 | do { | |
| 13 | $hierarchy = '' | |
| 14 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 15 | [xml]$tree = $hierarchy | |
| 16 | $pages = @($tree.SelectNodes('//*[local-name()="Page"]')) | |
| 17 | if ($pages.Count -gt 0) { break } | |
| 18 | Start-Sleep -Milliseconds 100 | |
| 19 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 20 | if ($pages.Count -ne 1) { throw 'The direction fixture requires one page.' } | |
| 21 | $content = '' | |
| 22 | $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 1, 1) | |
| 23 | [IO.File]::WriteAllText("$Root\before.xml", $content, [Text.Encoding]::UTF8) | |
| 24 | [xml]$page = $content | |
| 25 | $settings = $page.SelectSingleNode('//*[local-name()="PageSettings"]') | |
| 26 | $settings.SetAttribute('RTL', 'true') | |
| 27 | $columns = @($page.SelectNodes('//*[local-name()="Column"]')) | |
| 28 | for ($i = 0; $i -lt $columns.Count; $i++) { | |
| 29 | $columns[$i].SetAttribute('width', (96 + 48 * $i).ToString()) | |
| 30 | $columns[$i].SetAttribute('isLocked', 'true') | |
| 31 | } | |
| 32 | $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $true) | |
| 33 | $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 1, 1) | |
| 34 | [IO.File]::WriteAllText("$Root\after.xml", $content, [Text.Encoding]::UTF8) | |
| 35 | [xml]$after = $content | |
| 36 | if ($after.SelectSingleNode('//*[local-name()="PageSettings"]').GetAttribute('RTL') -ne 'true') { throw 'Native page direction did not change.' } | |
| 37 | $app.SyncHierarchy($notebook) | |
| 38 | $app.CloseNotebook($notebook, $false) | |
| 39 | $notebook = '' | |
| 40 | } finally { | |
| 41 | if ($notebook) { $app.CloseNotebook($notebook, $false) } | |
| 42 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 43 | [GC]::Collect() | |
| 44 | [GC]::WaitForPendingFinalizers() | |
| 45 | } |
corpus/m6/native-page-direction-03/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-page-direction-03/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-page-direction-03/source.json created+20| ... | ... | @@ -0,0 +1,20 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.one", | |
| 4 | "bytes": 4016, | |
| 5 | "sha256": "e2d9f3e4d3e8a57adaff7ba5af5f1e23bea4b3b590a012acd8d1c4f166556c88", | |
| 6 | "mtime_ns": 1788585164197912114 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "Open Notebook.onetoc2", | |
| 10 | "bytes": 4944, | |
| 11 | "sha256": "36274ad5cc077c6b1ad51ee4c4b90d3b6798a45ce446cbfd7c9d7ac504776b28", | |
| 12 | "mtime_ns": 1788585164198018949 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "synthetic.one", | |
| 16 | "bytes": 27808, | |
| 17 | "sha256": "1326c475cc3a9f412ff4d072cf515c1482b3b9e07798921e582767b064401947", | |
| 18 | "mtime_ns": 1788585164197723028 | |
| 19 | } | |
| 20 | ] |
corpus/m6/native-page-direction-03/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-probes-01/ORACLE.md created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | # Partial black highlighting is missing from native XML | |
| 2 | ||
| 3 | OneNote 14.0.4763.1000 displays black highlighting on the word `middle` in | |
| 4 | `Before middle after`. The application stores `Highlight = 0x00000000` on that | |
| 5 | text run. `GetPageContent(piAll, xs2010)` omits the highlight from the returned | |
| 6 | HTML. Whole-paragraph black highlighting is returned correctly in the same page. | |
| 7 | ||
| 8 | The authored input is [inputs/format-probes.xml](inputs/format-probes.xml). | |
| 9 | The stored file is [notebook/synthetic.one](notebook/synthetic.one); the native | |
| 10 | XML and screenshot are [read/page-001.xml](read/page-001.xml) and | |
| 11 | [read/page-001.png](read/page-001.png). The screenshot shows the black rectangle | |
| 12 | between `Before` and `after`. Text, run boundaries, and other formatting agree. | |
| 13 | ||
| 14 | This is an XML-oracle limitation. A reader must retain and render the black | |
| 15 | highlight. It must not remove the highlight to match the XML. Four partial-black | |
| 16 | runs in the copied personal notebook exhibit the same XML omission, including | |
| 17 | on a fresh cache. Their visual checks belong to the personal report acceptance. | |
| 18 | ||
| 19 | Reproduce with the current scripts: | |
| 20 | ||
| 21 | ```sh | |
| 22 | python3 tools/native_runner.py corpus/writer/create-notebook-01/notebook NEW_OUTPUT \ | |
| 23 | --author tools/native/features.ps1 --expected-pages 2 --screenshots | |
| 24 | ``` | |
| 25 | ||
| 26 | This capture's exact author/read/cache scripts are retained in `scripts/` and | |
| 27 | hashed in `run.json`. The clone's successful deletion is in `teardown.json`. |
corpus/m6/native-probes-01/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-4528C40D", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-4528C40D -ExpectedPages 2 -UseCurrentCache", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-probes-01/expected.json created+34| ... | ... | @@ -0,0 +1,34 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "html": "\u003cspan style=\"background:black\"\u003eBlack highlight, automatic text\u003c/span\u003e", | |
| 4 | "name": "Black highlight control" | |
| 5 | }, | |
| 6 | { | |
| 7 | "html": "\u003cspan style=\"background:black;color:white\"\u003eWhite text on black highlight\u003c/span\u003e", | |
| 8 | "name": "White on black" | |
| 9 | }, | |
| 10 | { | |
| 11 | "html": "\u003cspan style=\"background:black;color:black\"\u003eBlack text on black highlight\u003c/span\u003e", | |
| 12 | "name": "Black on black" | |
| 13 | }, | |
| 14 | { | |
| 15 | "html": "\u003cb\u003eBefore \u003cspan style=\"background:black\"\u003emiddle\u003c/span\u003e after\u003c/b\u003e", | |
| 16 | "name": "Partial black highlight" | |
| 17 | }, | |
| 18 | { | |
| 19 | "html": "\u003cspan style=\"background:yellow\"\u003eYellow highlight, automatic text\u003c/span\u003e", | |
| 20 | "name": "Yellow control" | |
| 21 | }, | |
| 22 | { | |
| 23 | "html": "Plain \u003cb\u003ebold\u003c/b\u003e \u003ci\u003eitalic\u003c/i\u003e \u003cu\u003eunderline\u003c/u\u003e \u003cs\u003estrike\u003c/s\u003e \u003csup\u003esuper\u003c/sup\u003e \u003csub\u003esub\u003c/sub\u003e \u003cspan style=\"font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff\"\u003efont and color\u003c/span\u003e", | |
| 24 | "name": "Character styles" | |
| 25 | }, | |
| 26 | { | |
| 27 | "html": "BMP \u003cb\u003e😀é\u003c/b\u003e 東京 \u003ci\u003eمرحبا\u003c/i\u003e", | |
| 28 | "name": "Unicode runs" | |
| 29 | }, | |
| 30 | { | |
| 31 | "html": "Before \u003ca href=\"https://example.invalid/fixture?x=1\u0026amp;y=2\"\u003e\u003cb\u003eLink label\u003c/b\u003e\u003c/a\u003e after", | |
| 32 | "name": "Link runs" | |
| 33 | } | |
| 34 | ] |
corpus/m6/native-probes-01/health.json created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-4528C40D", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe" | |
| 8 | } |
corpus/m6/native-probes-01/inputs/format-probes.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{01C54CCC-D749-4D39-A9F0-5F78AFDE363B}{1}{B0}"><one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="background:black">Black highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:white">White text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:black">Black text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<b>Before <span style="background:black">middle</span> after</b>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:yellow">Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[BMP <b>😀é</b> 東京 <i>مرحبا</i>]]></one:T></one:OE><one:OE><one:T><![CDATA[Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-probes-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-4528c40d", "hostname": "ONE-M6-4528C40D"} |
corpus/m6/native-probes-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-probes-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-probes-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-probes-01/notebook/synthetic.one differ |
corpus/m6/native-probes-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-4528C40D", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-probes-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{F3F7C374-4393-42F6-9E37-FA7B82D4FB8D}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-05T23:39:48.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{3E952288-4E55-0A8E-0D51-6466C66E5C26}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-05T23:39:48.000Z" color="#8AA8E4"><one:Page ID="{511B3FBA-4C48-097E-290C-442C38E015AF}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T23:39:48.000Z" pageLevel="1"/><one:Page ID="{8FC4998B-2C09-484B-811D-256A8F178F0F}{1}{B0}" name="Native feature probes" dateTime="2026-09-05T23:39:12.000Z" lastModifiedTime="2026-09-05T23:39:48.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/m6/native-probes-01/read/page-000.png created| Binary files /dev/null and b/corpus/m6/native-probes-01/read/page-000.png differ |
corpus/m6/native-probes-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{511B3FBA-4C48-097E-290C-442C38E015AF}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T23:39:48.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{3E952288-4E55-0A8E-0D51-6466C66E5C26}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{3E952288-4E55-0A8E-0D51-6466C66E5C26}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-probes-01/read/page-001.png created| Binary files /dev/null and b/corpus/m6/native-probes-01/read/page-001.png differ |
corpus/m6/native-probes-01/read/page-001.xml created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8FC4998B-2C09-484B-811D-256A8F178F0F}{1}{B0}" name="Native feature probes" dateTime="2026-09-05T23:39:12.000Z" lastModifiedTime="2026-09-05T23:39:48.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-05T23:39:16.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="354.3946228027344" height="115.9424285888672"/><one:OEChildren><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 3 | style='background:black;mso-highlight:black'>Black highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#CBCBCB"><one:T><![CDATA[<span | |
| 4 | style='background:black;mso-highlight:black'>White text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{52}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 5 | style='background:black;mso-highlight:black'>Black text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{58}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 6 | style='font-weight:bold'>Before middle after</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{65}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 7 | style='background:yellow;mso-highlight:yellow'>Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span style='font-family:Calibri; | |
| 8 | font-size:11.0pt'>Plain </span><span style='font-weight:bold;font-family:Calibri; | |
| 9 | font-size:11.0pt'>bold</span><span style='font-family:Calibri;font-size:11.0pt'> </span><span | |
| 10 | style='font-style:italic;font-family:Calibri;font-size:11.0pt'>italic</span><span | |
| 11 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration: | |
| 12 | underline;font-family:Calibri;font-size:11.0pt'>underline</span><span | |
| 13 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration: | |
| 14 | line-through;font-family:Calibri;font-size:11.0pt'>strike</span><span | |
| 15 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='vertical-align: | |
| 16 | super;font-family:Calibri;font-size:11.0pt'>super</span><span style='font-family: | |
| 17 | Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family: | |
| 18 | Calibri;font-size:11.0pt'>sub</span><span style='font-family:Calibri; | |
| 19 | font-size:11.0pt'> </span><span style='font-family:Consolas;font-size:18.0pt; | |
| 20 | color:#804020;background:aqua;mso-highlight:aqua'>font and color</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:13.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{82}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span | |
| 21 | style='font-family:Calibri' lang=en-US>BMP </span><span style='font-weight: | |
| 22 | bold;font-family:Calibri' lang=x-none>&#128512;é</span><span style='font-family: | |
| 23 | Calibri' lang=en-US> </span><span style='font-family:SimSun' lang=en-US>東京</span><span | |
| 24 | style='font-family:Calibri' lang=en-US> </span><span style='font-style:italic; | |
| 25 | font-family:Arial;direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا</span>]]></one:T></one:OE><one:OE creationTime="2026-09-05T23:39:15.000Z" lastModifiedTime="2026-09-05T23:39:15.000Z" objectID="{00E3B0CF-5BD9-4A2B-852F-F655CC2165BE}{90}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Before <a | |
| 26 | href="https://example.invalid/fixture?x=1&amp;y=2"><span style='font-weight: | |
| 27 | bold'>Link label</span></a> after]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-probes-01/run.json created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/corpus/writer/create-notebook-01/notebook", | |
| 3 | "expected_pages": 2, | |
| 4 | "author": "tools/native/features.ps1", | |
| 5 | "base": { | |
| 6 | "file": "win7-office-base.qcow2", | |
| 7 | "format": "qcow2", | |
| 8 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 9 | "virtual_size": 68719476736 | |
| 10 | }, | |
| 11 | "scripts": { | |
| 12 | "author.ps1": "24595a13dd04c47aba39b13cf1d05fbc162cd915eac2a1363f51665ef3d8721d", | |
| 13 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 14 | "read.ps1": "cad23c59e6a6d89d6c2700f50e23a5ae2c0df8df7d9390e02bfba9315bf54b57" | |
| 15 | } | |
| 16 | } |
corpus/m6/native-probes-01/scripts/author.ps1 created+42| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $inputs = Join-Path $Root 'inputs' | |
| 6 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 7 | $app = New-Object -ComObject OneNote.Application | |
| 8 | $notebookId = '' | |
| 9 | $namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 10 | try { | |
| 11 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 12 | $sectionId = '' | |
| 13 | $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0) | |
| 14 | $cases = @( | |
| 15 | @{ name = 'Black highlight control'; html = '<span style="background:black">Black highlight, automatic text</span>' }, | |
| 16 | @{ name = 'White on black'; html = '<span style="background:black;color:white">White text on black highlight</span>' }, | |
| 17 | @{ name = 'Black on black'; html = '<span style="background:black;color:black">Black text on black highlight</span>' }, | |
| 18 | @{ name = 'Partial black highlight'; html = '<b>Before <span style="background:black">middle</span> after</b>' }, | |
| 19 | @{ name = 'Yellow control'; html = '<span style="background:yellow">Yellow highlight, automatic text</span>' }, | |
| 20 | @{ name = 'Character styles'; html = 'Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>' }, | |
| 21 | @{ name = 'Unicode runs'; html = 'BMP <b>' + [char]::ConvertFromUtf32(0x1F600) + 'e' + [char]0x0301 + '</b> ' + [char]0x6771 + [char]0x4EAC + ' <i>' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 + '</i>' }, | |
| 22 | @{ name = 'Link runs'; html = 'Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after' } | |
| 23 | ) | |
| 24 | $pageId = '' | |
| 25 | $app.CreateNewPage($sectionId, [ref]$pageId, 0) | |
| 26 | $body = '<one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren>' | |
| 27 | foreach ($case in $cases) { $body += '<one:OE><one:T><![CDATA[' + $case.html + ']]></one:T></one:OE>' } | |
| 28 | $body += '</one:OEChildren></one:Outline>' | |
| 29 | $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '">' + $body + '</one:Page>' | |
| 30 | [IO.File]::WriteAllText((Join-Path $inputs 'format-probes.xml'), $xml, [Text.Encoding]::UTF8) | |
| 31 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true) | |
| 32 | $cases | ConvertTo-Json -Depth 8 | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8 | |
| 33 | $app.SyncHierarchy($notebookId) | |
| 34 | $app.CloseNotebook($notebookId, $false) | |
| 35 | $notebookId = '' | |
| 36 | } finally { | |
| 37 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 38 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 39 | $app = $null | |
| 40 | [GC]::Collect() | |
| 41 | [GC]::WaitForPendingFinalizers() | |
| 42 | } |
corpus/m6/native-probes-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-probes-01/scripts/read.ps1 created+105| ... | ... | @@ -0,0 +1,105 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [string]$CloneHost = '' | |
| 6 | ) | |
| 7 | Set-StrictMode -Version Latest | |
| 8 | $ErrorActionPreference = 'Stop' | |
| 9 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 10 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 11 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 12 | } | |
| 13 | $notebook = Join-Path $root 'notebook' | |
| 14 | $output = Join-Path $root 'read' | |
| 15 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 16 | if ($UseCurrentCache) { | |
| 17 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 18 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 19 | } | |
| 20 | } else { | |
| 21 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 22 | } | |
| 23 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 24 | $app = New-Object -ComObject OneNote.Application | |
| 25 | $notebookId = '' | |
| 26 | try { | |
| 27 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 28 | $process = Get-Process ONENOTE | |
| 29 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 30 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 31 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 32 | $sections = @() | |
| 33 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 34 | $id = '' | |
| 35 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 36 | $sections += $id | |
| 37 | } | |
| 38 | $deadline = [DateTime]::UtcNow.AddSeconds(45) | |
| 39 | $previous = '' | |
| 40 | $stableSince = [DateTime]::UtcNow | |
| 41 | $settled = $false | |
| 42 | do { | |
| 43 | $pages = @{} | |
| 44 | foreach ($section in $sections) { | |
| 45 | $hierarchy = '' | |
| 46 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 47 | [xml]$xml = $hierarchy | |
| 48 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 49 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 50 | throw 'OneNote opened a section outside the copied notebook.' | |
| 51 | } | |
| 52 | } | |
| 53 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 54 | $id = $node.GetAttribute('ID') | |
| 55 | $content = '' | |
| 56 | $app.GetPageContent($id, [ref]$content, 3, 1) | |
| 57 | $pages[$id] = $content | |
| 58 | } | |
| 59 | } | |
| 60 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 61 | if ($signature -ne $previous) { | |
| 62 | $previous = $signature | |
| 63 | $stableSince = [DateTime]::UtcNow | |
| 64 | } | |
| 65 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 66 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 67 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 68 | Start-Sleep -Milliseconds 250 | |
| 69 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 70 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 71 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 72 | } | |
| 73 | $index = 0 | |
| 74 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 75 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 76 | [xml]$page = $pages[$id] | |
| 77 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile"]')) { | |
| 78 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 79 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 80 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 81 | } | |
| 82 | $index++ | |
| 83 | } | |
| 84 | $all = '' | |
| 85 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 86 | [xml]$finalTree = $all | |
| 87 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 88 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 89 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 90 | } | |
| 91 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 92 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 93 | } finally { | |
| 94 | try { | |
| 95 | if ($notebookId -and -not $UseCurrentCache) { $app.CloseNotebook($notebookId, $false) } | |
| 96 | } finally { | |
| 97 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 98 | } | |
| 99 | $app = $null | |
| 100 | [GC]::Collect() | |
| 101 | [GC]::WaitForPendingFinalizers() | |
| 102 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 103 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 104 | } | |
| 105 | } |
corpus/m6/native-probes-01/source.json created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 1612, | |
| 5 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86", | |
| 6 | "mtime_ns": 1788592288950419463 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "synthetic.one", | |
| 10 | "bytes": 3348, | |
| 11 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797", | |
| 12 | "mtime_ns": 1788592288941514581 | |
| 13 | } | |
| 14 | ] |
corpus/m6/native-probes-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-structure-01/ORACLE.md created+33| ... | ... | @@ -0,0 +1,33 @@ |
| 1 | # Native document structure controls | |
| 2 | ||
| 3 | OneNote 14.0.4763.1000 authored the second page from the frozen | |
| 4 | [scripts/author.ps1](scripts/author.ps1). The fixture includes named paragraph | |
| 5 | styles, alignment and spacing, two associated tags, nested bullets, Roman | |
| 6 | numbering restarted at III, and a 3-by-2 table with one locked column. | |
| 7 | ||
| 8 | The locked column remains 120 points wide. The unlocked column contracts from | |
| 9 | the authored 180 points to approximately 37.116 points to fit its contents. | |
| 10 | The native PDF shows both the text formatting and table on separate sheets. | |
| 11 | [Tests](../../../tests/document.rs) assert the model's corresponding semantics. | |
| 12 | The [partial black highlight XML omission](../native-probes-01/ORACLE.md) also | |
| 13 | occurs here; the PDF preserves the highlight. | |
| 14 | ||
| 15 | The [table controls](../native-table-controls-01/expected.json) isolate a native | |
| 16 | XML limitation: adding `shadingColor` to a cell causes `UpdatePageContent` to | |
| 17 | return `0x80042001`. Removing that attribute succeeds with locked or unlocked | |
| 18 | columns. This does not establish whether OneNote 2010 renders the storage-level | |
| 19 | CellShadingColor property. | |
| 20 | ||
| 21 | ## TOC transaction fragment boundary | |
| 22 | ||
| 23 | The Rust-created TOC began with a 44-byte transaction-log fragment containing | |
| 24 | three list-count entries, a sentinel, and a 12-byte next-fragment reference. | |
| 25 | OneNote appended another fragment. Its next CRC is `0x68f09d29`; including the | |
| 26 | preceding fragment's final sentinel incorrectly produces `0x548e8f73`. | |
| 27 | ||
| 28 | MS-ONESTORE 2.3.3.2 product behavior note 8 specifies exclusion of bytes flushed | |
| 29 | at the end of a TOC transaction-log fragment. This fixture establishes that the | |
| 30 | final entry is excluded from the running CRC, while its own checksum is still | |
| 31 | validated. The storage regression also corrupts the native checksum and verifies | |
| 32 | that the damage is detected. Writer regressions cross fragment and transaction | |
| 33 | counter boundaries through 260 successive edits. |
corpus/m6/native-structure-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-structure-01/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-28BC2DAE", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-28BC2DAE -ExpectedPages 2 -UseCurrentCache -Pdf -KeepOpen", "exit": 0, "stdout": "Read 1 sections and 2 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-structure-01/expected.json created+34| ... | ... | @@ -0,0 +1,34 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "html": "\u003cspan style=\"background:black\"\u003eBlack highlight, automatic text\u003c/span\u003e", | |
| 4 | "name": "Black highlight control" | |
| 5 | }, | |
| 6 | { | |
| 7 | "html": "\u003cspan style=\"background:black;color:white\"\u003eWhite text on black highlight\u003c/span\u003e", | |
| 8 | "name": "White on black" | |
| 9 | }, | |
| 10 | { | |
| 11 | "html": "\u003cspan style=\"background:black;color:black\"\u003eBlack text on black highlight\u003c/span\u003e", | |
| 12 | "name": "Black on black" | |
| 13 | }, | |
| 14 | { | |
| 15 | "html": "\u003cb\u003eBefore \u003cspan style=\"background:black\"\u003emiddle\u003c/span\u003e after\u003c/b\u003e", | |
| 16 | "name": "Partial black highlight" | |
| 17 | }, | |
| 18 | { | |
| 19 | "html": "\u003cspan style=\"background:yellow\"\u003eYellow highlight, automatic text\u003c/span\u003e", | |
| 20 | "name": "Yellow control" | |
| 21 | }, | |
| 22 | { | |
| 23 | "html": "Plain \u003cb\u003ebold\u003c/b\u003e \u003ci\u003eitalic\u003c/i\u003e \u003cu\u003eunderline\u003c/u\u003e \u003cs\u003estrike\u003c/s\u003e \u003csup\u003esuper\u003c/sup\u003e \u003csub\u003esub\u003c/sub\u003e \u003cspan style=\"font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff\"\u003efont and color\u003c/span\u003e", | |
| 24 | "name": "Character styles" | |
| 25 | }, | |
| 26 | { | |
| 27 | "html": "BMP \u003cb\u003e😀é\u003c/b\u003e 東京 \u003ci\u003eمرحبا\u003c/i\u003e", | |
| 28 | "name": "Unicode runs" | |
| 29 | }, | |
| 30 | { | |
| 31 | "html": "Before \u003ca href=\"https://example.invalid/fixture?x=1\u0026amp;y=2\"\u003e\u003cb\u003eLink label\u003c/b\u003e\u003c/a\u003e after", | |
| 32 | "name": "Link runs" | |
| 33 | } | |
| 34 | ] |
corpus/m6/native-structure-01/format-differences.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "file": "synthetic.one", | |
| 4 | "page": 1, | |
| 5 | "paragraph": 4, | |
| 6 | "field": "highlight", | |
| 7 | "stored": "#000000", | |
| 8 | "native": "automatic", | |
| 9 | "characters": 6 | |
| 10 | } | |
| 11 | ] | |
| \ No newline at end of file |
corpus/m6/native-structure-01/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-structure-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-28BC2DAE", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-structure-01/inputs/format-probes.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C8464476-6DC5-4A0A-9CF0-0943EDA66543}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/><one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="background:black">Black highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:white">White text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:black">Black text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<b>Before <span style="background:black">middle</span> after</b>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:yellow">Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[BMP <b>😀é</b> 東京 <i>مرحبا</i>]]></one:T></one:OE><one:OE><one:T><![CDATA[Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren><one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE><one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE><one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180" isLocked="false"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-structure-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-28bc2dae", "hostname": "ONE-M6-28BC2DAE"} |
corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-structure-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-structure-01/notebook/synthetic.one differ |
corpus/m6/native-structure-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-28BC2DAE", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-structure-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{E23472D7-3BDD-4FC9-BE2A-3FF2E100EF51}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T00:56:57.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{B5650993-6656-0BF8-37AF-6D7738E0004D}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T00:56:57.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{DAEB14A1-644B-0808-13F2-4D3DC66E49C4}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T00:56:57.000Z" pageLevel="1"/><one:Page ID="{F2344622-C59C-459E-B4EA-BC27E1732F5B}{1}{B0}" name="Native feature probes" dateTime="2026-09-06T00:56:24.000Z" lastModifiedTime="2026-09-06T00:56:50.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook> |
corpus/m6/native-structure-01/read/page-000.navigation.json created+13| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | { | |
| 2 | "exit": 0, | |
| 3 | "stdout": "", | |
| 4 | "stderr": "", | |
| 5 | "w": 800, | |
| 6 | "h": 600, | |
| 7 | "error": null, | |
| 8 | "win": { | |
| 9 | "title": "A notebook created in Rust. - Microsoft OneNote", | |
| 10 | "class": "Framework::CFrame", | |
| 11 | "dialog": false | |
| 12 | } | |
| 13 | } | |
| \ No newline at end of file |
corpus/m6/native-structure-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-structure-01/read/page-000.pdf differ |
corpus/m6/native-structure-01/read/page-000.png created| Binary files /dev/null and b/corpus/m6/native-structure-01/read/page-000.png differ |
corpus/m6/native-structure-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DAEB14A1-644B-0808-13F2-4D3DC66E49C4}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T00:56:50.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{B5650993-6656-0BF8-37AF-6D7738E0004D}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{B5650993-6656-0BF8-37AF-6D7738E0004D}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-structure-01/read/page-001.navigation.json created+13| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | { | |
| 2 | "exit": 0, | |
| 3 | "stdout": "", | |
| 4 | "stderr": "", | |
| 5 | "w": 800, | |
| 6 | "h": 600, | |
| 7 | "error": null, | |
| 8 | "win": { | |
| 9 | "title": "Native feature probes - Microsoft OneNote", | |
| 10 | "class": "Framework::CFrame", | |
| 11 | "dialog": false | |
| 12 | } | |
| 13 | } | |
| \ No newline at end of file |
corpus/m6/native-structure-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-structure-01/read/page-001.pdf differ |
corpus/m6/native-structure-01/read/page-001.png created| Binary files /dev/null and b/corpus/m6/native-structure-01/read/page-001.png differ |
corpus/m6/native-structure-01/read/page-001.xml created+28| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F2344622-C59C-459E-B4EA-BC27E1732F5B}{1}{B0}" name="Native feature probes" dateTime="2026-09-06T00:56:24.000Z" lastModifiedTime="2026-09-06T00:56:50.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00FFFF" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="h1" fontColor="#123456" highlightColor="automatic" font="Calibri" fontSize="20.0" bold="true" spaceBefore="8.0" spaceAfter="4.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="354.3946228027344" height="115.9424285888672"/><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 3 | style='background:black;mso-highlight:black'>Black highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:#CBCBCB"><one:T><![CDATA[<span | |
| 4 | style='background:black;mso-highlight:black'>White text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{52}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt;color:black"><one:T><![CDATA[<span | |
| 5 | style='background:black;mso-highlight:black'>Black text on black highlight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{58}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 6 | style='font-weight:bold'>Before middle after</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{65}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span | |
| 7 | style='background:yellow;mso-highlight:yellow'>Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span style='font-family:Calibri; | |
| 8 | font-size:11.0pt'>Plain </span><span style='font-weight:bold;font-family:Calibri; | |
| 9 | font-size:11.0pt'>bold</span><span style='font-family:Calibri;font-size:11.0pt'> </span><span | |
| 10 | style='font-style:italic;font-family:Calibri;font-size:11.0pt'>italic</span><span | |
| 11 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration: | |
| 12 | underline;font-family:Calibri;font-size:11.0pt'>underline</span><span | |
| 13 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='text-decoration: | |
| 14 | line-through;font-family:Calibri;font-size:11.0pt'>strike</span><span | |
| 15 | style='font-family:Calibri;font-size:11.0pt'> </span><span style='vertical-align: | |
| 16 | super;font-family:Calibri;font-size:11.0pt'>super</span><span style='font-family: | |
| 17 | Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family: | |
| 18 | Calibri;font-size:11.0pt'>sub</span><span style='font-family:Calibri; | |
| 19 | font-size:11.0pt'> </span><span style='font-family:Consolas;font-size:18.0pt; | |
| 20 | color:#804020;background:aqua;mso-highlight:aqua'>font and color</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:25.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{82}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span | |
| 21 | style='font-family:Calibri' lang=en-US>BMP </span><span style='font-weight: | |
| 22 | bold;font-family:Calibri' lang=x-none>&#128512;é</span><span style='font-family: | |
| 23 | Calibri' lang=en-US> </span><span style='font-family:SimSun' lang=en-US>東京</span><span | |
| 24 | style='font-family:Calibri' lang=en-US> </span><span style='font-style:italic; | |
| 25 | font-family:Arial;direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{90}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Before <a | |
| 26 | href="https://example.invalid/fixture?x=1&amp;y=2"><span style='font-weight: | |
| 27 | bold'>Link label</span></a> after]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{97}{B0}"><one:Position x="72.0" y="540.0" z="1"/><one:Size width="480.0" height="294.3157653808594"/><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{98}{B0}" alignment="right" spaceBefore="288.0" spaceAfter="144.0" quickStyleIndex="1"><one:T><![CDATA[<span | |
| 28 | style='font-weight:bold'>Named paragraph style</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{105}{B0}" alignment="left" quickStyleIndex="0"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{112}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Bullet bullet="3" fontSize="11.0"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{117}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Bullet bullet="13" fontSize="11.0"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{124}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" fontSize="11.0" font="Calibri" text="III."/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{130}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##." fontSize="11.0" font="Calibri" text="IV."/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{136}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{137}{B0}"><one:Columns><one:Column index="0" width="120.0" isLocked="true"/><one:Column index="1" width="37.11590576171875"/></one:Columns><one:Row objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{138}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{139}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{142}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{147}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{150}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{155}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{159}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{162}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{156}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{167}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{172}{B0}" lastModifiedTime="2026-09-06T00:56:28.000Z"><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{176}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{179}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:56:28.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{173}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:56:27.000Z" lastModifiedTime="2026-09-06T00:56:27.000Z" objectID="{486AAC79-948F-4864-8D96-A43EF907A183}{184}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-structure-01/read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/native-structure-01/run.json created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/corpus/writer/create-notebook-01/notebook", | |
| 3 | "expected_pages": 2, | |
| 4 | "author": "tools/native/features.ps1", | |
| 5 | "base": { | |
| 6 | "file": "win7-office-base.qcow2", | |
| 7 | "format": "qcow2", | |
| 8 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 9 | "virtual_size": 68719476736 | |
| 10 | }, | |
| 11 | "scripts": { | |
| 12 | "author.ps1": "08eb8c83bd250d5a440e3957166c3cf32d623dbce23e1670f2cace29d45d2511", | |
| 13 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 14 | "read.ps1": "bec4953cc49b9ccb57041be00d7d7ce8bb88f2c0446c664b0a631e91f0007b45" | |
| 15 | } | |
| 16 | } |
corpus/m6/native-structure-01/scripts/author.ps1 created+58| ... | ... | @@ -0,0 +1,58 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $inputs = Join-Path $Root 'inputs' | |
| 6 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 7 | $app = New-Object -ComObject OneNote.Application | |
| 8 | $notebookId = '' | |
| 9 | $namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 10 | try { | |
| 11 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 12 | $sectionId = '' | |
| 13 | $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0) | |
| 14 | $cases = @( | |
| 15 | @{ name = 'Black highlight control'; html = '<span style="background:black">Black highlight, automatic text</span>' }, | |
| 16 | @{ name = 'White on black'; html = '<span style="background:black;color:white">White text on black highlight</span>' }, | |
| 17 | @{ name = 'Black on black'; html = '<span style="background:black;color:black">Black text on black highlight</span>' }, | |
| 18 | @{ name = 'Partial black highlight'; html = '<b>Before <span style="background:black">middle</span> after</b>' }, | |
| 19 | @{ name = 'Yellow control'; html = '<span style="background:yellow">Yellow highlight, automatic text</span>' }, | |
| 20 | @{ name = 'Character styles'; html = 'Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>' }, | |
| 21 | @{ name = 'Unicode runs'; html = 'BMP <b>' + [char]::ConvertFromUtf32(0x1F600) + 'e' + [char]0x0301 + '</b> ' + [char]0x6771 + [char]0x4EAC + ' <i>' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 + '</i>' }, | |
| 22 | @{ name = 'Link runs'; html = 'Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after' } | |
| 23 | ) | |
| 24 | $pageId = '' | |
| 25 | $app.CreateNewPage($sectionId, [ref]$pageId, 0) | |
| 26 | $body = '<one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren>' | |
| 27 | foreach ($case in $cases) { $body += '<one:OE><one:T><![CDATA[' + $case.html + ']]></one:T></one:OE>' } | |
| 28 | $body += '</one:OEChildren></one:Outline>' | |
| 29 | $body = '<one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/>' + $body | |
| 30 | $body += '<one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren>' | |
| 31 | $body += '<one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE>' | |
| 32 | $body += '<one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE>' | |
| 33 | $body += '<one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE>' | |
| 34 | $body += '<one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE>' | |
| 35 | $body += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180" isLocked="false"/></one:Columns>' | |
| 36 | foreach ($row in 0..2) { | |
| 37 | $body += '<one:Row>' | |
| 38 | foreach ($column in 0..1) { | |
| 39 | $body += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell ' + $row + ',' + $column + ']]></one:T></one:OE></one:OEChildren></one:Cell>' | |
| 40 | } | |
| 41 | $body += '</one:Row>' | |
| 42 | } | |
| 43 | $body += '</one:Table></one:OE></one:OEChildren></one:Outline>' | |
| 44 | ||
| 45 | $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '">' + $body + '</one:Page>' | |
| 46 | [IO.File]::WriteAllText((Join-Path $inputs 'format-probes.xml'), $xml, [Text.Encoding]::UTF8) | |
| 47 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true) | |
| 48 | $cases | ConvertTo-Json -Depth 8 | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8 | |
| 49 | $app.SyncHierarchy($notebookId) | |
| 50 | $app.CloseNotebook($notebookId, $false) | |
| 51 | $notebookId = '' | |
| 52 | } finally { | |
| 53 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 54 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 55 | $app = $null | |
| 56 | [GC]::Collect() | |
| 57 | [GC]::WaitForPendingFinalizers() | |
| 58 | } |
corpus/m6/native-structure-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-structure-01/scripts/read.ps1 created+131| ... | ... | @@ -0,0 +1,131 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(45) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 3, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 75 | } | |
| 76 | $index = 0 | |
| 77 | $payloads = @() | |
| 78 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 79 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 80 | if ($Pdf) { | |
| 81 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 82 | $app.NavigateTo($id, '', $false) | |
| 83 | $app.Publish($id, $pdfPath, 3, '') | |
| 84 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 85 | } | |
| 86 | [xml]$page = $pages[$id] | |
| 87 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 88 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 89 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 90 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 91 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 92 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 93 | sha256 = $hash; bytes = $bytes.Length } | |
| 94 | } | |
| 95 | $index++ | |
| 96 | } | |
| 97 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 98 | $all = '' | |
| 99 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 100 | [xml]$finalTree = $all | |
| 101 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 102 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 103 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 106 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 107 | } catch { | |
| 108 | $failure = $_ | |
| 109 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 110 | throw | |
| 111 | } finally { | |
| 112 | try { | |
| 113 | try { | |
| 114 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 115 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 116 | $app.CloseNotebook($notebookId, $false) | |
| 117 | } | |
| 118 | } catch { | |
| 119 | if ($null -eq $failure) { throw } | |
| 120 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 121 | } | |
| 122 | } finally { | |
| 123 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 124 | } | |
| 125 | $app = $null | |
| 126 | [GC]::Collect() | |
| 127 | [GC]::WaitForPendingFinalizers() | |
| 128 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 129 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 130 | } | |
| 131 | } |
corpus/m6/native-structure-01/source.json created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 1612, | |
| 5 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86", | |
| 6 | "mtime_ns": 1788592288950419463 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "synthetic.one", | |
| 10 | "bytes": 3348, | |
| 11 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797", | |
| 12 | "mtime_ns": 1788592288941514581 | |
| 13 | } | |
| 14 | ] |
corpus/m6/native-structure-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-table-controls-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-table-controls-01/commands.jsonl created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-4BDDDDFD", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-4BDDDDFD -ExpectedPages -1 -UseCurrentCache", "exit": 0, "stdout": "Read 1 sections and 6 pages.\r\n", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-table-controls-01/expected.json created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "probe": 0, | |
| 4 | "result": "Exception calling \"UpdatePageContent\" with \"4\" argument(s): \"Exception from HRESULT: 0x80042001\"" | |
| 5 | }, | |
| 6 | { | |
| 7 | "probe": 1, | |
| 8 | "result": "accepted" | |
| 9 | }, | |
| 10 | { | |
| 11 | "probe": 2, | |
| 12 | "result": "accepted" | |
| 13 | }, | |
| 14 | { | |
| 15 | "probe": 3, | |
| 16 | "result": "Exception calling \"UpdatePageContent\" with \"4\" argument(s): \"Exception from HRESULT: 0x80042001\"" | |
| 17 | } | |
| 18 | ] |
corpus/m6/native-table-controls-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-4BDDDDFD", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-table-controls-01/inputs/format-probes.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F1E9F488-6A5A-48A8-956C-C98F3C3C957A}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/><one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren><one:OE><one:T><![CDATA[<span style="background:black">Black highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:white">White text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:black;color:black">Black text on black highlight</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[<b>Before <span style="background:black">middle</span> after</b>]]></one:T></one:OE><one:OE><one:T><![CDATA[<span style="background:yellow">Yellow highlight, automatic text</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>]]></one:T></one:OE><one:OE><one:T><![CDATA[BMP <b>😀é</b> 東京 <i>مرحبا</i>]]></one:T></one:OE><one:OE><one:T><![CDATA[Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren><one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE><one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE><one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180"/></one:Columns><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-table-controls-01/inputs/probe-0.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FDFC0EF4-6CE6-4215-8E2B-617F03047F64}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /> <one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:Title><one:OE><one:T>Probe 0</one:T></one:OE></one:Title><one:Outline><one:OEChildren><one:OE xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true" /><one:Column index="1" width="180" /></one:Columns><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-table-controls-01/inputs/probe-1.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B8F72F38-EC65-478F-AC76-25F3C67F7550}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /> <one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:Title><one:OE><one:T>Probe 1</one:T></one:OE></one:Title><one:Outline><one:OEChildren><one:OE xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true" /><one:Column index="1" width="180" /></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-table-controls-01/inputs/probe-2.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{26B67C4A-F757-400C-98E5-41D90284CEC9}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /> <one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:Title><one:OE><one:T>Probe 2</one:T></one:OE></one:Title><one:Outline><one:OEChildren><one:OE xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" /><one:Column index="1" width="180" /></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-table-controls-01/inputs/probe-3.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{78A7BEBC-5F83-42D5-ADE0-7EA80468381B}{1}{B0}"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /> <one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" /><one:Title><one:OE><one:T>Probe 3</one:T></one:OE></one:Title><one:Outline><one:OEChildren><one:OE xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" /><one:Column index="1" width="180" /></one:Columns><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/m6/native-table-controls-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-4bddddfd", "hostname": "ONE-M6-4BDDDDFD"} |
corpus/m6/native-table-controls-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-table-controls-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-table-controls-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-table-controls-01/notebook/synthetic.one differ |
corpus/m6/native-table-controls-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-4BDDDDFD", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-table-controls-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{799159AD-ADEE-4F17-ACD4-E6CE1BCFD9C5}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T00:54:01.000Z" color="#9595AA"><one:Section name="synthetic" ID="{151D7CE0-CA22-0238-20BB-EC4623CAEBA9}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T00:54:01.000Z" color="#8AA8E4"><one:Page ID="{39548F66-43E9-4129-A7DC-44D7DFF2F7B6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{8BFCBB91-BD5D-4113-89E2-1913A6366764}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:38.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{87E941ED-BBE1-4BAE-92A5-B1E3990E8D7A}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:39.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{C2E26021-3B62-4E34-B0F8-F56F5C75874E}{1}{B0}" name="Probe 1" dateTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{5CA33353-2050-49B7-846B-9145988E3CD7}{1}{B0}" name="Probe 2" dateTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/><one:Page ID="{02B2F1A5-8884-4B6E-B16E-AE349E62CA05}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/m6/native-table-controls-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{02B2F1A5-8884-4B6E-B16E-AE349E62CA05}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{1FAE03F1-9A77-4BC3-B427-E88022EA7AEE}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page> |
corpus/m6/native-table-controls-01/read/page-001.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{39548F66-43E9-4129-A7DC-44D7DFF2F7B6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5E9827DA-089C-429F-A82E-C80C206E12D7}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="468.0" height="40.28314971923828"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5E9827DA-089C-429F-A82E-C80C206E12D7}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Extended bytes: &nbsp; ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-table-controls-01/read/page-002.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5CA33353-2050-49B7-846B-9145988E3CD7}{1}{B0}" name="Probe 2" dateTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Probe 2]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="82.36180877685547" height="58.76315689086914"/><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{40}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{41}{B0}"><one:Columns><one:Column index="0" width="37.11590576171875"/><one:Column index="1" width="37.11590576171875"/></one:Columns><one:Row objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{42}{B0}" lastModifiedTime="2026-09-06T00:53:42.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{43}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{51}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{54}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{59}{B0}" lastModifiedTime="2026-09-06T00:53:42.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{63}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{66}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{60}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{76}{B0}" lastModifiedTime="2026-09-06T00:53:42.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{80}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{83}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:42.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{77}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:41.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{95190A6D-1FC7-42E9-8B8D-3CE52D0E38D4}{88}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-table-controls-01/read/page-003.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{87E941ED-BBE1-4BAE-92A5-B1E3990E8D7A}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:39.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:39.000Z" lastModifiedTime="2026-09-06T00:53:39.000Z" objectID="{FF17FE50-7F7F-42D4-9999-2FB813014703}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page> |
corpus/m6/native-table-controls-01/read/page-004.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8BFCBB91-BD5D-4113-89E2-1913A6366764}{1}{B0}" name="Untitled page" dateTime="2026-09-06T00:53:38.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:38.000Z" lastModifiedTime="2026-09-06T00:53:38.000Z" objectID="{0F07A429-727A-45BA-AB75-E7FBE06C08C5}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page> |
corpus/m6/native-table-controls-01/read/page-005.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C2E26021-3B62-4E34-B0F8-F56F5C75874E}{1}{B0}" name="Probe 1" dateTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:54:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Probe 1]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="165.2459106445312" height="58.76315689086914"/><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{40}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{41}{B0}"><one:Columns><one:Column index="0" width="120.0" isLocked="true"/><one:Column index="1" width="37.11590576171875"/></one:Columns><one:Row objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{42}{B0}" lastModifiedTime="2026-09-06T00:53:41.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{43}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{51}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{54}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 0,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{59}{B0}" lastModifiedTime="2026-09-06T00:53:41.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{63}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{66}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{60}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{71}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 1,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row><one:Row objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{76}{B0}" lastModifiedTime="2026-09-06T00:53:41.000Z"><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{80}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{83}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,0]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-06T00:53:41.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{77}{B0}" lastModifiedByInitials="V"><one:OEChildren><one:OE creationTime="2026-09-06T00:53:40.000Z" lastModifiedTime="2026-09-06T00:53:40.000Z" objectID="{FDC9B175-F088-4BAF-A50A-D9DC66768128}{88}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Cell 2,1]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-table-controls-01/read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/native-table-controls-01/run.json created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/corpus/m6/ansi/notebook", | |
| 3 | "expected_pages": -1, | |
| 4 | "author": "evidence/m6/table-probe.ps1", | |
| 5 | "base": { | |
| 6 | "file": "win7-office-base.qcow2", | |
| 7 | "format": "qcow2", | |
| 8 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 9 | "virtual_size": 68719476736 | |
| 10 | }, | |
| 11 | "scripts": { | |
| 12 | "author.ps1": "aad63ba4d55396152d8254de38f1d28d6cedaab39d1eaa5e8eb09dc052919790", | |
| 13 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 14 | "read.ps1": "bec4953cc49b9ccb57041be00d7d7ce8bb88f2c0446c664b0a631e91f0007b45" | |
| 15 | } | |
| 16 | } |
corpus/m6/native-table-controls-01/scripts/author.ps1 created+74| ... | ... | @@ -0,0 +1,74 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $inputs = Join-Path $Root 'inputs' | |
| 6 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 7 | $app = New-Object -ComObject OneNote.Application | |
| 8 | $notebookId = '' | |
| 9 | $namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 10 | try { | |
| 11 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 12 | $sectionId = '' | |
| 13 | $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0) | |
| 14 | $cases = @( | |
| 15 | @{ name = 'Black highlight control'; html = '<span style="background:black">Black highlight, automatic text</span>' }, | |
| 16 | @{ name = 'White on black'; html = '<span style="background:black;color:white">White text on black highlight</span>' }, | |
| 17 | @{ name = 'Black on black'; html = '<span style="background:black;color:black">Black text on black highlight</span>' }, | |
| 18 | @{ name = 'Partial black highlight'; html = '<b>Before <span style="background:black">middle</span> after</b>' }, | |
| 19 | @{ name = 'Yellow control'; html = '<span style="background:yellow">Yellow highlight, automatic text</span>' }, | |
| 20 | @{ name = 'Character styles'; html = 'Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>' }, | |
| 21 | @{ name = 'Unicode runs'; html = 'BMP <b>' + [char]::ConvertFromUtf32(0x1F600) + 'e' + [char]0x0301 + '</b> ' + [char]0x6771 + [char]0x4EAC + ' <i>' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 + '</i>' }, | |
| 22 | @{ name = 'Link runs'; html = 'Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after' } | |
| 23 | ) | |
| 24 | $pageId = '' | |
| 25 | $app.CreateNewPage($sectionId, [ref]$pageId, 0) | |
| 26 | $body = '<one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren>' | |
| 27 | foreach ($case in $cases) { $body += '<one:OE><one:T><![CDATA[' + $case.html + ']]></one:T></one:OE>' } | |
| 28 | $body += '</one:OEChildren></one:Outline>' | |
| 29 | $body = '<one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/>' + $body | |
| 30 | $body += '<one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren>' | |
| 31 | $body += '<one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE>' | |
| 32 | $body += '<one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE>' | |
| 33 | $body += '<one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE>' | |
| 34 | $body += '<one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE>' | |
| 35 | $body += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180"/></one:Columns>' | |
| 36 | foreach ($row in 0..2) { | |
| 37 | $body += '<one:Row>' | |
| 38 | foreach ($column in 0..1) { | |
| 39 | $body += '<one:Cell shadingColor="#ffff00"><one:OEChildren><one:OE><one:T><![CDATA[Cell ' + $row + ',' + $column + ']]></one:T></one:OE></one:OEChildren></one:Cell>' | |
| 40 | } | |
| 41 | $body += '</one:Row>' | |
| 42 | } | |
| 43 | $body += '</one:Table></one:OE></one:OEChildren></one:Outline>' | |
| 44 | ||
| 45 | $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '">' + $body + '</one:Page>' | |
| 46 | [IO.File]::WriteAllText((Join-Path $inputs 'format-probes.xml'), $xml, [Text.Encoding]::UTF8) | |
| 47 | [xml]$doc = $xml | |
| 48 | $results = @() | |
| 49 | $n = 0 | |
| 50 | $table = $doc.Page.Outline[1].OEChildren.OE[-1].OuterXml | |
| 51 | $variants = @($table, $table.Replace(' shadingColor="#ffff00"', ''), $table.Replace(' isLocked="true"', '').Replace(' shadingColor="#ffff00"', ''), $table.Replace(' isLocked="true"', '')) | |
| 52 | $parts = @($variants | ForEach-Object { '<one:Outline><one:OEChildren>' + $_ + '</one:OEChildren></one:Outline>' }) | |
| 53 | foreach ($part in $parts) { | |
| 54 | $testId = '' | |
| 55 | $app.CreateNewPage($sectionId, [ref]$testId, 0) | |
| 56 | $testXml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $testId + '">' + ($doc.Page.TagDef | ForEach-Object { $_.OuterXml }) + $doc.Page.QuickStyleDef.OuterXml + '<one:Title><one:OE><one:T>Probe ' + $n + '</one:T></one:OE></one:Title>' + $part + '</one:Page>' | |
| 57 | [IO.File]::WriteAllText((Join-Path $inputs ('probe-' + $n + '.xml')), $testXml, [Text.Encoding]::UTF8) | |
| 58 | try { | |
| 59 | $app.UpdatePageContent($testXml, [DateTime]::MinValue, 1, $true) | |
| 60 | $results += @{ probe = $n; result = 'accepted' } | |
| 61 | } catch { $results += @{ probe = $n; result = $_.Exception.Message } } | |
| 62 | $n++ | |
| 63 | } | |
| 64 | $results | ConvertTo-Json -Depth 8 | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8 | |
| 65 | $app.SyncHierarchy($notebookId) | |
| 66 | $app.CloseNotebook($notebookId, $false) | |
| 67 | $notebookId = '' | |
| 68 | } finally { | |
| 69 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 70 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 71 | $app = $null | |
| 72 | [GC]::Collect() | |
| 73 | [GC]::WaitForPendingFinalizers() | |
| 74 | } |
corpus/m6/native-table-controls-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-table-controls-01/scripts/read.ps1 created+131| ... | ... | @@ -0,0 +1,131 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(45) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 3, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 75 | } | |
| 76 | $index = 0 | |
| 77 | $payloads = @() | |
| 78 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 79 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 80 | if ($Pdf) { | |
| 81 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 82 | $app.NavigateTo($id, '', $false) | |
| 83 | $app.Publish($id, $pdfPath, 3, '') | |
| 84 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 85 | } | |
| 86 | [xml]$page = $pages[$id] | |
| 87 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 88 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 89 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 90 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 91 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 92 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 93 | sha256 = $hash; bytes = $bytes.Length } | |
| 94 | } | |
| 95 | $index++ | |
| 96 | } | |
| 97 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 98 | $all = '' | |
| 99 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 100 | [xml]$finalTree = $all | |
| 101 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 102 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 103 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 106 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 107 | } catch { | |
| 108 | $failure = $_ | |
| 109 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 110 | throw | |
| 111 | } finally { | |
| 112 | try { | |
| 113 | try { | |
| 114 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 115 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 116 | $app.CloseNotebook($notebookId, $false) | |
| 117 | } | |
| 118 | } catch { | |
| 119 | if ($null -eq $failure) { throw } | |
| 120 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 121 | } | |
| 122 | } finally { | |
| 123 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 124 | } | |
| 125 | $app = $null | |
| 126 | [GC]::Collect() | |
| 127 | [GC]::WaitForPendingFinalizers() | |
| 128 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 129 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 130 | } | |
| 131 | } |
corpus/m6/native-table-controls-01/source.json created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 4816, | |
| 5 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa", | |
| 6 | "mtime_ns": 1788585005062916740 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "synthetic.one", | |
| 10 | "bytes": 12456, | |
| 11 | "sha256": "aa6f1188773f1cc41cc5c619f213ce04b30592320c6b2e32b2b4c91639423ab4", | |
| 12 | "mtime_ns": 1788649421839788185 | |
| 13 | } | |
| 14 | ] |
corpus/m6/native-table-controls-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-template-controls-01/ORACLE.md created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | # Native default page template and unaligned image container | |
| 2 | ||
| 3 | The captured UI operations selected Hearts from the native Templates pane, selected Hearts - Decorative as the section default, and created a new page. The default background appeared automatically; `default-template.png` and `ui-operations.json` record that result. `read/` contains the three native page exports and PDFs. The clone was deleted. | |
| 4 | ||
| 5 | The section property 0x2c001d62 refers to a separate page object space whose role-2 metadata has JCID 0x2003e. Property 0x1c001ca5 contains the UTF-16 template name Hearts. These native template fields are not in the published MS-ONE object list; the typed model identifies them as observed native metadata. The original personal notebook uses the same relationship with the name Ivy. | |
| 6 | ||
| 7 | The embedded image object starts at byte 11396, four bytes past an eight-byte file boundary. Its payload is 10056 bytes; the footer begins at 21492 after four padding bytes. Native XML exports the same image bytes (SHA-256 2035407a0540e1c4f7934db08ba4add750fcb9a62863ddd9553e7871c81a99e3). MS-ONESTORE 2.6.13 pads the object length, independent of its file position. This fixture exposed the reader's incorrect absolute-offset alignment. The regression relocates the object through all eight offsets and separately corrupts its footer. |
corpus/m6/native-template-controls-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/native-template-controls-01/before-read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-A33C1CD2", | |
| 5 | "cold": true, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-template-controls-01/before-read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BF109DC2-6C00-44C4-B8B2-9892971AF8B9}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T04:18:00.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T04:18:00.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{F3B3040C-0089-05FF-2C9F-3BFB91647BCD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T04:18:00.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook> |
corpus/m6/native-template-controls-01/before-read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-template-controls-01/before-read/page-000.pdf differ |
corpus/m6/native-template-controls-01/before-read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F3B3040C-0089-05FF-2C9F-3BFB91647BCD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T04:17:51.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-template-controls-01/before-read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/native-template-controls-01/commands.jsonl created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-A33C1CD2 -ExpectedPages 1 -Pdf -KeepOpen", "exit": 0, "stdout": "Read 1 sections and 1 pages.\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 4 | {"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 5 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-A33C1CD2 -UseCurrentCache -ExpectedPages -1 -Pdf", "exit": 0, "stdout": "Read 1 sections and 3 pages.\r\n", "stderr": "", "error": null} | |
| 6 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/native-template-controls-01/default-template.png created| Binary files /dev/null and b/corpus/m6/native-template-controls-01/default-template.png differ |
corpus/m6/native-template-controls-01/finish createdcorpus/m6/native-template-controls-01/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-template-controls-01/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-template-controls-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-A33C1CD2", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/native-template-controls-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-a33c1cd2", "hostname": "ONE-M6-A33C1CD2"} |
corpus/m6/native-template-controls-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/native-template-controls-01/notebook/Open Notebook.onetoc2 differ |
corpus/m6/native-template-controls-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/native-template-controls-01/notebook/synthetic.one differ |
corpus/m6/native-template-controls-01/pdf-format-checks.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/native-template-controls-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-A33C1CD2", | |
| 5 | "cold": false, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/native-template-controls-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BF109DC2-6C00-44C4-B8B2-9892971AF8B9}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T04:25:01.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T04:25:01.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{F3B3040C-0089-05FF-2C9F-3BFB91647BCD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T04:18:00.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{CEEEB7B7-FAC8-4A77-917B-DBF7BAF6813C}{1}{B0}" name="Hearts template control" dateTime="2026-09-06T04:21:25.000Z" lastModifiedTime="2026-09-06T04:23:18.000Z" pageLevel="1" stationeryName="Hearts"><one:Meta name="PageLocID" content="00040"/><one:Meta name="LocVer" content="1"/><one:Meta name="PageVerComment" content=""/><one:Meta name="PageOveride" content="0"/><one:Meta name="PageName" content="Untitled page"/></one:Page><one:Page ID="{92E09529-B4AC-4953-828F-1D1072EB4782}{1}{B0}" name="Default template page" dateTime="2026-09-06T04:24:38.000Z" lastModifiedTime="2026-09-06T04:24:51.000Z" pageLevel="1" stationeryName="Hearts"/></one:Section></one:Notebook> |
corpus/m6/native-template-controls-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/native-template-controls-01/read/page-000.pdf differ |
corpus/m6/native-template-controls-01/read/page-000.xml created+179| ... | ... | @@ -0,0 +1,179 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{92E09529-B4AC-4953-828F-1D1072EB4782}{1}{B0}" name="Default template page" dateTime="2026-09-06T04:24:38.000Z" lastModifiedTime="2026-09-06T04:24:52.000Z" pageLevel="1" stationeryName="Hearts" isCurrentlyViewed="true"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T04:24:51.000Z" lastModifiedTime="2026-09-06T04:24:51.000Z" objectID="{40E51230-3D0A-4B15-8CFD-067DA64C81AA}{18}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:Meta name="oeLocID" content="0001"/><one:Meta name="oeLocComment" content=""/><one:T><![CDATA[Default template page]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" originalPageNumber="0" lastModifiedTime="2009-07-28T18:49:14.000Z" objectID="{40E51230-3D0A-4B15-8CFD-067DA64C81AA}{14}{B0}"><one:Position x="-90.0" y="-3.599996089935303" z="0"/><one:Size width="89.21739196777343" height="287.9999694824219" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAKsAAAIoCAMAAAAhjet0AAADAFBMVEX////d0dncvM/S6+W+4qyw | |
| 3 | 3t7akbqZ06ir2qrewNLB5OHcxtTr9/fp1eH9+/z9+fvcmL7tyN274avlzdu44d/cvc/jydjP6uTE | |
| 4 | 5ub25O779/n58/bbscncw9Lbuc2f1q3Y7++03quy3t6i1qncztez3r7gxNXm9Oq14ODu3ufbpsTJ | |
| 5 | 5+Pcz9jak7v6/f327vPcwdHcydXam7/F5uLjrcvy5u35/PrcvtDcy9bL6OPO6uq/5OT1+/vczdf7 | |
| 6 | 8ve24N/cv9D46/L06vDcxdPw4uqf1aiq0rS84uDbtsyb06jfn8Os27jw+fm64uLhpsew3KrM6dTa | |
| 7 | lrzaocHD5eGm2Knamb20397outTZ79/x1uXbq8fbs8vs9+/n0d7z+vTi8/Pqwdjr2eTcytXcwtK/ | |
| 8 | 5MnN6eTT7Ozd8fHansCy3aq64uC54Kvcx9S336um2bPao8Ok16n03erbrsjbqcWp2anG5s7H5uK7 | |
| 9 | 0sDJ6Oid1Kjf8eTp9fLn9fW+4+Gt26q54cPvz+HmtNDM0cyd0qvZvs/U0dLJobXQ0c+y293Y0dW/ | |
| 10 | 0cPOxtOu0rey0rr0+vnTpbbA0djYlrnd8OzT7NnRnLfLyNS12dy419u71drH0cni8u7SwtHRxNKh | |
| 11 | 0q7Gzda20r3m9PDY7ujD0cb8/v22yK7h1t3KvrLg8vDWwNDDz9el0rG9rbLNnbb7/frexNTIw7HP | |
| 12 | r7TMubPV7Of7+fq909m2yLnq4uepzbHPpMPWm7i/3Ky6srHFza/d2eSxuq6dzqnn9OC+17LGyLDb | |
| 13 | 79Du4Oju5+vKsMi8yrzIytXL6Mru+PW1tq/Gq7Ot267A47r9/P273cTewtPk0dzf1Nvh4uDfq8Xy | |
| 14 | 7vHp2OLy6e7M6eiq1Kr6/fzFytXQ6sXz+vDr9vTVqsbZ3dm02KvS7OnY1+HD0q7B16339PbBqbPa | |
| 15 | 7+rCxMDXm77T7Oeu3LjYydLL6ejQpLvKuc3G5snXp7za1dfx+ffgzdne0dq94rCy2dvE2t+lxqvA | |
| 16 | ysDRqrXNtLPU7OkRzzSdAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAAI95J | |
| 17 | REFUeF7NnXdgFMe9x/eW050k1AtCgBoCgYSECiAJ05Gw6YhmejXVgOk2YGxckzixndhOc3p7qS8v | |
| 18 | eekvyeu9l7zee++9vzd9Z+vM7MzsZf4B3e3dfva33/m1mbtzHJujZrC3urHCJWPGkcnZNs+m8d7r | |
| 19 | T/RQSu/fnt5ZGm9p56Wzq5k5g8AnauycMuW7DjaGLeo9UrE+5dtaeNnsRFLIfMLCWVO9ZW+STclz | |
| 20 | 1ane2fSLamZIoLrutwPs7NgpFbiEXtNGUn4/aVTXLbWrVUB1ZygbwugLaiKcf7x6lxk9t+qbCX2V | |
| 21 | D7xH9e1NHj8p5QG8g0po2BpZF8ByGZOGUnuvakWzum7J0phZyqjupJoxzB2tbla30dzZld6pJs6s | |
| 22 | Q0PT4ZgYGgsfoXQGcwdHOYG1Eyfn5bzRf7ItgDto7vwq7xRKWcYu8pyEuH96M49bGsEGZ9bQOGdQ | |
| 23 | /r/zhjjY0uSxy3x3dyyOFFJP9w4tzeQ6wrNOxNiUPDzMji1N/sJlLc0nk1FzuQkGqzIjTB3LybV5 | |
| 24 | lQg1l2OaNXV+7n1mD072wjE5GJMhDzJLyaDm5lFvYJZ19mS13x3NOBFRMnv14LDYqtz8Msg6GNU6 | |
| 25 | cd2K6qATP0HtKphW9EL6iWFNsdb0JqT5M/zJJ82yx/qlzJrLkQhmhrWmV5COzuBtS1mT/KrvKlbh | |
| 26 | G2GEdb1E4lztNaaIpIckrQoOw5mMAdYauQSvh5mWyFXarFQE+qySvRMASJMPzDomb9YcDl7arPKo | |
| 27 | rNeDWS8qsM6DL9COsSqoFBazRiSB8fTwBdq5C/OVLBYl/gd10ZQlgOPsEU0NeOFSjhW1/NChknGA | |
| 28 | mBqy6jbglPo8iBHAon/lwitVBUy2NOuC9ZLW5A9b5iBvLJFgcfKFKbdmveVLmgPcQxPD43j+zBu/ | |
| 29 | 2MbVpbjrruAFSPqit8oRWzqPTYQc/byLFLcHxq21yqwVelMrRgIPxeT6J7lKTyHAkrJL02VFLkwM | |
| 30 | JTjOYSaFh5TtqlnGRrRQBfVTP62epiuzaq5zhVnXCqPRSZw4q7Nq9glDHmutRPa8CsEqsg65uo3t | |
| 31 | IKsMai7XvzYNq+4aV5BV0r9DWEW7rnV1e/CBCCt9flBFSx+L56B+W9s/t5olxEpm/6pmNdZ52nJ1 | |
| 32 | /KwqmdOwysG53Lj+Yrc/FkiqFZtW2Mby+d/prqZ3dRxfjG1W8+5KR7dpJgMglfD1fBUjvBLrWl2P | |
| 33 | BWB5R6A2W5RQc/oScBy+M2CRdVxfAn7BWmSdbkACDi5H8LDIOqRZvuAsnROBRVbdvAWzzvbsqubd | |
| 34 | VebWSd1qm1Q/Xhvbns9q00xdaaHmLVXZiwW/plcVeq/2XKywJFC579yxq4zMLEjsGVatkyIP/kum | |
| 35 | zMrFrjb50ysd+evmWJlhLQn2W+ZQHYe5ArU8T9a2v2qSlfU1FfsTcrDf+nmTrA7rwJnyBC+8/hgY | |
| 36 | r78Ar+YrRlEdttfKTOh6/qUiGS8+k8t90Swrqw8UqsN4AXzkWYoK/r3/DwyjOkwFBvIXZlRCfNM0 | |
| 37 | LFVBs7ZiP8gZFf93y1HDtNQX6MaDj4RQi8WOw4ZhafmtsHAZIdnnea162PsNw5K+hmJvPcB7f4RZ | |
| 38 | 4UOGYek2YZ3p9UwMqnFYuv1aqf3it+v7Y1mLhjVLujDpVfB6PGqxw7A3IBlX6ugVp1bsugzPLwKb | |
| 39 | Mt96PsGs4CnTQQGX4FK7rsIe67Fk1uICw5bFsHLrBkFafmZtKAfjyiYfvWkVkOZGmvnFSaD7Qh6N | |
| 40 | hh23eVrDXtZx8OaHFLH2zQzrSUyKRjkH+4hhEdDCVh32RUq1g0PN5y9tsBdrU8NSpHIfKhBCN4M1 | |
| 41 | rljQ5ELdQ0XLvpEQbQiggj/3MFjD0QtqahYqbdVgqVwvhVk9WNM+FsLirXBKsCTJ3hOBms9fIZY1 | |
| 42 | P7tQ6wjqYEh+dS5HAizxVkHN0glmOCsgjmU22ikin3ThLLs70qz5/AUSFoy7WEILSwXx1nESvV7A | |
| 43 | d/l8DGt+B37ehmBx0xuaVjL3xmn2pjjUfB57rvnGwwF7w0mgWvFWDWhazBo9s9AFXEAH2JlcmBc6 | |
| 44 | hGaZHZmPIRR/yPIbGXtZ3q5HX7v3CDL2zTujRuwNd45JTDHM2hCvAWJYj2n/FixhNDpOmfEQg0C2 | |
| 45 | EyLvhVhvJ6ASxdLIdQdZlB+nzNh2WY9QCChzSZAruArkCnDCPXovSApte8eIEJz1je5Y4noCCgV8 | |
| 46 | Mhg2cQNjXdARgQoeOmUG1hmsTqRFrF2JGsjD4AXtuj+aFDy6xYwOQEbT2zM2HKdbxBodYNkF3ACH | |
| 47 | ANRTsagGYcG6+JHmiehWImJNNmv+ScSahGq2UVezrHEoyriQNSJ19dF3QdZkVBAtTMkAaX/W5Iy2 | |
| 48 | UAsBssYlLhQYhK75ryEB3L7RBV3xpR00WeRkYUyzZKKGcWVY8+AWQ6hubg42lPsLc/C0+ZwhgAtZ | |
| 49 | g5VWSL7IepsCuVhDyLY2krHZ1d5Mg8sEUqxXwnH4fNC0hoKC31uDz1I9hNPxxyRZI6/nkq/lAZRi | |
| 50 | dH4x5FlH3DbocyVZYxKxBq6JAHViQwW4MhsDpoVlrEgDl+JzxiCsmawrHLJBO2EY5doi1q6EfKHB | |
| 51 | LwNTmUGIFnxW6aQMa1J2m7/kn2C2DAsaNc2rJOyaHILP+9KEKUMpV/htBt21oOa+IcgHBE/D1IYN | |
| 52 | i4VZr/tVcYwVsPola82uYHPHl7VZaQ8B29Yi6+BfisotCYHwvsAiq/PPwBYSOImHkOaMbbs6s8AZ | |
| 53 | BHWB8FJQRUaGTbs684X1lpCVNJKs29W5KQ5cQlhuJcSqXe+I+gNC0nyeiwdWWUfFBZeQFlZkWejV | |
| 54 | Af0pIYzggMxYgWAFzQzhpXisHVY14CzQn1yeXk0nhbWt9ceX4lF/tdZxOoRVt8iwnh8wuih+9fjm | |
| 55 | gm883QqafyIYwfNsidHgCmNtfQAUUf/9f8WvbUhdhBe3zJm1vs5vUvbX9+mlsCwfMNbOWLc9hhQ8 | |
| 56 | /DNS9os7iOZZxjbyHIgnBc98XAOWmdXUil0yaqHwzdSwDbQ6NOWvRKiF70nNSvtapnzAukQBoCc/ | |
| 57 | lxIWdpLhMNXTrI1yVQH8lIalYjWF6hwXm7VQ+KE0hqWo80213VbLoBY+n4KVopqaVo6zT4r1FXVW | |
| 58 | kgd0mHJWjlMrhVoo/IkiLO1sbzG4decpP+veywfnbAQ7DNrnHNw1wD+lGA9oW9toC2spBzRysJ3/ | |
| 59 | RoD2gxzt/6rY9QJxq/ONdgY5CYwc4kHR/9vPsSt5qzwrXYZ5xFxihQqKqxRm4FqIFD6wiz4vzcpI | |
| 60 | zc0pUvrUE5a9vrvPYTNYObte2IMTgPkpl13WHahfuhRmp6AsObDaX58Rucaiuu07ydVIlIgNO/By | |
| 61 | RsfNdDq9ui+QQ29/ClRRbOC0dSDOqsDAcwiraOHgUjkBPZXOpKuPRyb7+zzjYpA5kVolD+7Fx+yJ | |
| 62 | F8Gl8+WkqNpyM+V8qo0tS+rqqWERxq4kVPcgZmWLyF1Pwr3QZOzp7iYZ6iP3phakjvtJZUlhOzYt | |
| 63 | Tgeh848f7TxrF/Kc833j3tTUnZTmJCZbF1fr4VPXXYXHtYrN6rpIBG+HdgWB895+g0FTDhWc/QBl | |
| 64 | DccAv5EvQ9Y3AL1e2DCV+i4ntIdqk62KTAtgoV13JioAPIkE+4byfMPfpHNFoi6WVKZ3ALFeFrEi | |
| 65 | r/WZroZ/FJ003fNyCXRhHWSNDq7cBRyCrN/I/2Q6FOGros26d1cfGudoLKqDfkAkV9eFrB/7HeFJ | |
| 66 | Ux4QVuvOy7zD33gd48IQK5IAZv3Bz6ZEEb0sVEWPhG/0QWJc4dRCrK/8gOicaZ9nmR72pQPXI23X | |
| 67 | h54ckbLrr6RFEb6OZnoYdW+cIg/BvF/MuhEcxYKy8NyqB/hYd8YnUe0gJIlZoc9qVUWQPt7HmjTP | |
| 68 | AawcK59HSmNIHcizJrv69p1i1uvAX0idNtVBfOMvOYlyD50Tzi0wB+3JFadPeAhRxKFgpFBYl8pk | |
| 69 | ci/yWPuEZhMeMFDYLHfWdEd53f/E8kSICQ8ALut4Ogq5V3l9Sn3Wa3YlwAlWn/WyXQk4Dkte9Fl3 | |
| 70 | 2vQCUCZMBMLsVKRZINdA/0NOhvJHsWRb2w9ctxkI8AU9LetfRXY9V0AVr81Bw8GAiEXwfLvtmQWN | |
| 71 | QJvAmoK9jmpzy4PWBrv0DLu3zl6K5VmA1IdJPUDxZRyy7bAwL21nHBQTxR+xKxOzOg5ZYpEo/mJZ | |
| 72 | 2wcsZoO+SUCml4Zh+zIyq+OsxpE2oeASOayBpyx7AO/tSe2dOnYdtJq4BsxA0gJx7h9p4PYBe+Vr | |
| 73 | xP3Ckt2bzhX0Pe2srFqZmQrIRoZUKmj/sf8sg2PFmYx4SSs+RRr7lnciUjTuy4YWww4ISu+QSJ57 | |
| 74 | m0cK/9eZiRRwxhW/Mhip5efe5UcFSsjEtLizIe6vcNBh1LKyhVuzMG0rkoFKwhUQALbxwmNZwGLN | |
| 75 | ysP+RFAA5O9sYNEeLFnYT74phrUsExnUok7MuYT1bE6t745DzUizuAqX8gbvi0UFml2chWadq1C0 | |
| 76 | AxKpARcDwtQrMmF1VqPkQBhu35Jg1syCguMcgKYdEYSweLXii6jKxrJOLSwYBxJN+95ks5aVbcuI | |
| 77 | FexugELYmZDKRIYBH382qQGySCv0tSNxtM9xvvWBR6eBsfyJB/2mzsgX4Nt3IIH2HYyr6TQkRWPJ | |
| 78 | XB/tfZmpANkWKmEkqsD9EqV6gJGC/7Q87IPNxskyi6yG+7Z2Xg75hEhUQLubh81QsaQvcwD2Pfde | |
| 79 | 9+FS5+qzKtYBB5udK/DUtvopmCbsve6lCZ/CRGtaeAUQ0XKwdzNVLD0Zxj1H3QIpBxaFUX2WzXZ2 | |
| 80 | cYZBO/nw7tfnsO3CCkDsnmYXlsSunheD0QzLdW6EAhDsA0wGmSSycQYBS+MgFf8AgqmMUgB8rGUN | |
| 81 | hT1bQsOC4FsHdmrhvMULAkHo5ZS1ZIIlPmx74RoKsDFqRdyVBHZmSe0KW6B/hUginQCxcAvNDUrM | |
| 82 | 6rR+DaI+GKdWX0goNavzx5D1iUTWacSwJXUE0FCdkHV5MitxsllVB7H37xZ0rsmo01rw7Co560wA | |
| 83 | 8bCAdRpOD/2sK6uOdXZWZcq/AkDsFrHihIvjOnZrIXW7M89mltpKyHXatNM+1pWdDBQDZ9RWduC5 | |
| 84 | RGadhj0B7sYuDpLCp7LJxMGJmsSsSLAI9e42evN9/67IwKGtBGcUeFcaZ2FSuPhMJCl4MINObZXM | |
| 85 | 1MI5N8gHVsKZGDes52GQNSkZIPJYBGeQszUwpwLUthMxyBqfDzIhQ9azx5JRrc8wyCqeWtOQXRPu | |
| 86 | P3nKbsNegRXzzH24chEYj1ayeoG/BKvFLmCVcFnIrnA0LfFuwulKfxsJPm91kUmJtSkwC1u8wpEa | |
| 87 | d4XFgLtYzq6PwrsfkTYsCpn2jMWMPLnWoncc1FxrIt2FV+ZSy1rMvBLKbc4/PFD2QEwDoaUp4B62 | |
| 88 | 2VOBHGtTbP9g2rSgQ7CXx8yMb2NwduWmf8gbB2Ww0NrquBxrYrhgRTlRg7VYe0bKrsmhbXnAG9hS | |
| 89 | bGdiz0Ui/MJD+KYyzBws+a27UnFLxOxfW7C1KFplhLXFrwJbs8sIq38dxJoItok6GaL7j5/3Ld7d | |
| 90 | siTYmTL5q5jXN71sCbZTpi4Qs07zKdaSXY/J1FsSrE/weYEl1q3iFpEE6TSWjiNkS6zOwoS8RIqS | |
| 91 | HJSBXZ2ZMkWMBDSfHNqya2dyB16CEh/CFTTW1u2qyuLW4aQx0YF0vQZowd6SjSFHwLFaTLfNTC6O | |
| 92 | 1V7N1SnswUuJwWO1uNdgq5mMwPMD9iTgOAsFa0ZSZuWCrK2UEHrC+3bL0SQexdaYy2y2M5xjJgTL | |
| 93 | 8gG7e7kWm0gLWQJrtVfoOLfQbjetwfJXaxU3idtnJZY3kq+EFVy20myWYazUTgloMmCzp0lwV2h6 | |
| 94 | LaqADFCdTr0wSxsvWaA6W9foTCyKestWc8ifDm+TWDiKuxyKajO08rQaoetRXMFus5dcBaqM9KGL | |
| 95 | pFdnsrn/EJvmWsslFjx5LZzG2dXMzIwKYfH+nJakTWUResVLXNvsrheGCs0VS1B9pxRsl6AcIGtS | |
| 96 | x5kJPeyjKvELk97K9O5jE98HuwRN0ons6UpIuu2szbQ6tsnQCViXS1bfLUtgH3tFZwb7RiJ5zwDW | |
| 97 | J2Ry7uW7wdRfceZudj4qxDsTzK0HoQRe/dDjcLzn1b8IzftFSyqbts08c7YEEuV5P/rXcBfW8i88 | |
| 98 | /lH+0Zdffvn3EPnjn/jEJ85WVVWV0JiM66e+AIy4pOxDPlJbDbSk962q6uz8u9/4o/9bsmgRTlM/ | |
| 99 | /Oqr73n88X95+bfwq17+0IfRw5UWexDi615c1XlrW1lT5aLY7tqHX/VUWWmvZSZC3doJdlPNVYhE | |
| 100 | TSVivXsf3KCkAAo1UArWlWfgpr+5lYp91RKwVsGtwmUPolxEaSzJem5VwY3C6jaFF7Xc2vJJ5NTC | |
| 101 | pGXcZ/FULJvNZ7cx+GK8jS5qc5IU8sPZ5cx38d7ENan7Ertt96KoFohRIz/fJmVVkBBkNLm2km20 | |
| 102 | igWT/yoezCR1riJ7U/XWAJ+wtVOFdwTHyGJo1AccJQWAvFYGkYuizk09rcgFzbWeoMINt2hIl3Zx | |
| 103 | tn7AttdaSfdRazX7EP6jtnaqUMGyjfSK/Z0I47ZYW6HGsOgTWChdUZhFcYc2WV1FgZ+8MKRWcAF2 | |
| 104 | QxfOVuDQaPcyMy+3Gbo8s5pZAZ5rsZnifUJBL2RRyz5sMXR5n/uQafCIZ5/FQoaFAbl912LWRfaK | |
| 105 | A+awTLG22Pu4pucFzOwNBQ24TlHjIe3z3Ie/zMytafY6Gsy5gv+IxShzRKW1MMuz6iaE+EqWWKtm | |
| 106 | eVbtTQCIdVGZrbyQ/1ididwFLHFZ21vD+QGpDzlKKNbabkDfhwDNeII1tibXWV6wZjYxNpVZKrq2 | |
| 107 | +lj1ixigkSZrkcv/8Wrt4hCwVlpzBP4PWGsX3YjVVpT1cm2kBs1mBnQTlWXWilmf15L7pGOy46q0 | |
| 108 | 5rQcLoNFlk3cvdQiUZNVWvyKv4Bhy5bEm61FxlGADSxpsz7h6wKKLYuHbVlTalavmUF9bYxlwT4q | |
| 109 | mZoM2NViLRv6toXIjAtuTpLZigeOs7joHv6+hfCawSL0kdvSszq0/8oF3Cd8i4anyZ5PmW1CYNuF | |
| 110 | RbuCnTW+tAD/wRZjT+9mH2OW6STaZnWCjgvjrmkCg35gDapahhVcmFW7OouTvs0Eca+4K8kKDrPL | |
| 111 | KoRdsRimuhJ6hV9AZZlVAHvfYgdmZBJ+AH41hm3WRFjY/IOSlmCFW6+tszrIclFjG4pDMCuXqMjg | |
| 112 | 5y8yYHXI6nGAtxPXT/BRibIcbmjNgjXqe5jYF3GhKxBvK4FHCfMlMwesPMO3N7Zxv5uBWBMSRpxK | |
| 113 | oo8LmUGReZeqzpnQ28685dtICb7JBQzhMjj6fj+Zs9g8BlfnwgUQuFs0gxVkwZXiGScSAYzI3y6s | |
| 114 | Aq8Fv8zHWs0tLxviyZLTF5Q7/kMWv2uWCE46NMmGRUnZ156Wt4CdI2namJS/4M82/X5hnx0E6Xel | |
| 115 | EfjBhHiAPoXxJndvqWFZ+zPex55GZn23u3GgsNTyr1wmm9hrf8b6LVyVfcB1D+0s1GX1s3GR1Cz4 | |
| 116 | xnUTycdx3wK+dbv9XKGwub50/sArIGMkSz6R/Rz63Zg54DePC/us/zBnjBa4yjyy9Um+6vdd9Cdu | |
| 117 | Nl4Gvz9fVyJcLgOLgKUfxfsU93M813aB33Sv25fpb8hhS/NdhNBXzbGvF3uv/9e5EO7m+qzdgq+j | |
| 118 | ONcfbBnqm0I/JNZ+EPwGfeHpjI3r73jwbaTlrDXztqgfPZsD3EJhcwY/1epNtUAPfO5uEsJauO+6 | |
| 119 | gB4rYmzclTUt2iLPj4crweC/VSwsAQqOnNjm7JTAth4GmdnfvBcImvca8GEZBl9uf0w07ieTfm+y | |
| 120 | /TL82anMwll0Q5FxR84sDn8ONG1WQhCo4H2in/Fsh3OscDybTAG2NmPHl0So4PnrEHb7Oum8WedA | |
| 121 | /zK+HztRrcwhgEBWqMvG2cZ/STLIXGXGIQhbOK5jMOnXxsG+E2eD4oFhsynKYmADWUsCM4bdnskM | |
| 122 | i4R9h9ig7IgsYSMmmAoqqMigYTOybFXwu/3VUF33YIaw/q/3f6cwCIQEguJtIaMWzUr0WU84/uO3 | |
| 123 | ZT0ATwwz8Ky8AfBxdztvgZby96b7/XnQ8YDjKWlfaeLAzSl/fh5F20Ihu5TWcepT/u6468LsG4Tb | |
| 124 | 7OrG2rqUZnXdjdiwS03cXKn3OJ5OrWiWYV9QyKr1tbqQ2qyg7YWnVyGbDNHZN6AQWkOH9mHW7VJ3 | |
| 125 | UPeg1eJf7U26FqLYbBzXvoLqz8770WGTA/qCDFKu1YVzOhJw3WuYNYvMu15nZqGrJKwF6062tq4g | |
| 126 | 91vj8cYnIrBfJRzQlYDrEk9gX7HbtSXgzqEisJzDrCtoegEgDca6Wdd9Jr/+eCF12sIE3E7tajl4 | |
| 127 | wd8O1R6M1WrD4GqhcE0bFReJ1gMt+PV2vaAFL5TptVCwGbvqCuK8Reh+qc8ClrVYIAAvMCKUwGUR | |
| 128 | LK4Q0bDotfBvCAtGn+AQmmhBVospN/jla/jjzMmjT3AMLrnwsMdaC95dXBIAOV5PuBpSymJWe32N | |
| 129 | VvDu9PfE42ng1ImXAW4U2bcrkKsEK1oeGImZYJwPsKqBz/6TFCvW40CUDtDiHD+steV/+BUF1kJh | |
| 130 | 58GAbQ8GSe1Vs7/7h9AiYr2Cg45j2w3sOoh+gB5U2nP6aIbNm9VWojX67x+TYoXus5XAIq6REdIS | |
| 131 | CNx/8Kcll3X05/I/LcUKS79W5+kwWPgRS6Xs4Z/Nd30Dni3JdaLbDd1Aq1MLwoZwWDHr6NSefP7J | |
| 132 | P4cnF6avcPkVpCQSsDYacEenOm7k8/nyNyD1CSIsSvhg+lQrkoH++tHoAt/YP3VqS7G7C6DmryBW | |
| 133 | UcWNpjtO9WDoiB9LNXLXo3em7s3vKIZG9w1EyliT6wKcR5O0tHVzPGpqrS6YIpS3u8vLu7oIHEZk | |
| 134 | o/w70ZmTO0TY3dOOSm19XTTtvnQ9l9H997Atu8u7GgJ4flZy2qQihiRRXi0cRbv5eCpSCrppz/lE | |
| 135 | TgjdhfWaZFjSVvOHo6v7OCnULa1P1yU+egrrs3tHkj3Zc4Q1vpKdQwJUyBnVtrbWg3G1Ne18WjAf | |
| 136 | 3/s9F6RI8/m3EhEMkCAf9F4si049b2L6KJS0XHjv2ZVQ1sJAVAKz0cuizG4rPUpsekXWphD4u705 | |
| 137 | 3RdMpdEmNzrS3ukos45O4bt/O9o5xUni4xzOQB/nDub0cWW02SJqwSMY9Yb87Uf43/T7yp0jl/v6 | |
| 138 | +i6P+DjhIQaTfWLUTeclp5R3WFLI9J6rM9apHN1C7v8lZdT8/0jBGvMCh0nE36B4/9GFfU6G1VgC | |
| 139 | rYWa/zosDkXDlFop6qY0VgWG/bwI1NwKNkUtptAqEsGfCg272ZBvZajl6tOKvIILB5EmrkuXmIQ8 | |
| 140 | B/UAxQ2pUb2cIFoMplCdUzTlV4tW/gv7+tsTJKtTlvhMu4CidmuYNZ//TVwdRAyDHzMigbVYlEtW | |
| 141 | 4y7o/Pd/Jho1ZVkSFeT2s6JPy6z5hmLxx5eGaLc/ZWj+I3RmVj0J5PPdxQ5n3XGurbJ934FU9VNs | |
| 142 | 2nCHmTW9w8I3pLxYPAxP0wrqkqutrWYxET+pVQHxk3oayHcVi1PGMqnIN/KaFDoeC11msbjFLqvX | |
| 143 | TtFm3VAsjlqF9Vh1NZDfUyzeyYhVd27lnywWb2bEquuz4OSanxFrUdMPwGhQrLEJy7Uq1WvCwNWB | |
| 144 | 9/rljFi1RdBdLP63TcPyLWBdrwVYv1xt0bA8q65hbxSLX3UH7cGy1AVCayoWZATF5h57KrjJG3aT | |
| 145 | Ssct7DYg69+6R6wZ9jDPqlVxoUyr+Eyba0+ypIlJkPckONkGkUQg6+s5i7BeAotw42EbNoj8xHnw | |
| 146 | +sdyAPaILc36DRubxjbsKUqy5oabeyx5A79i4yzbADI+ESvUwIs5MOYBHcyyMsV8rgDKIKKpdQmg | |
| 147 | FkVeArLeD1kt0pLOK/MIG0JtrR2b4JOixhzHmsv1D689st68bY+GVlv9XfgLIHjCIaMBYlds3Ivf | |
| 148 | VW0cd4HPycI/Nt1gtj1/BT7QAaagKqsdXK+h4VHfvlJeXn6jG939YsdhCVZoft6uRLoXf9GsdaNg | |
| 149 | OWN3HHaAqEVVTjQrIB5vqzgx25x2E2EBqgPIbwgqB3gLwnZF1u2/ODZj0liESICFqJBV1J+FNyKG | |
| 150 | FeAOj7nVpoy7IGLvBZLBFtT6ETstUBsmsSLaRkN+ga7FBpzCKdyggI8mdz1BzZ3Mimh7lpkR7lTY | |
| 151 | tI/Q9gQEuZIoWNDLELHmctObTdEeZf14bNyOKdb1QX8nRi4YhhP0ij1Yrr/NdQ2lNqOveRH33n7u | |
| 152 | diHWJK91AR0BckLRGB9z3UZDs2x0wRQYry3w6wqljklrdTtkWXP9E2DnxgljHiysf5zmJhgWheLi | |
| 153 | R0RWRc+PN7tuhSGXEDFVyYp97Moi7BCB8YwUa65/CJi20U6O6zgkVsTGAyyB4vNyrMAhANiKSTP+ | |
| 154 | K/guRzFLbKBFXqBYlEUFvhbowFZlRrse0QEBBS0Jl8VdyyoI22PIIfhNm7wUStLxl+TtmsshWNeG | |
| 155 | DlhxvilifhG1Ft+swprrXwthbfQ+vNZXSAYNOCMvFt+oxEpgZ5h3tcRrRblZMrGKz6qhgoiLLDvD | |
| 156 | uPMa5TKbbj4zAG0OMlB3QGlgzVYYn2GcYYubvCWmC9SqRUW5oouyBMsblpW6l5hRVSIBZ/txtK3T | |
| 157 | uGVfo/ea/nvbMyl86NNKt58ePGwHNtihCbCreSx2YSCjtWBZtuMoaGD89wup7EqcgVth2BskluZK | |
| 158 | QYu/rHnIGbim/WywqcgbWDEQcLRYsu4Mw2lXoCLjWONbA2JpPIRhTYfb2PklnbpGoPdjFZhOZEa9 | |
| 159 | bSe+GSZRFSbY9yJmNb6UFymDT6d0ApQfJQYgJpjOY/hgS2z7bPqJhWlx+AJFmOH55YR6X9qouRyZ | |
| 160 | XqYl6zijv+DTqgHU3DxiWNd4zvUdz9zv0b6oqVWsAmpY0172z8B7P//BT0Pc97+kK1UyvahiTavg | |
| 161 | K2L3rn4EcQWGE4MvqoNIvIJEWsPh60clzqx+SD+dXSYjQs2/qYPIvILOLpNO9kdkTpziGCYCg4b9 | |
| 162 | 1xQcMi9hLtacYZetkjlxmmNItmUwh2lMgyH1GtiVxcPQDp9ZE1LnTXMQbMqSYab4OnEyDYbUazjW | |
| 163 | E0byrQqp06Y66KRn1x4TrOuHUmFIvYilBIDZRLpVPV3qtKkO4lkNiKDGHU+FIfUiWnVBKRgQwTK3 | |
| 164 | X+q0qQ7i5pbr6nuCI2tTUci9iCUE0LD6a3XuQ3KnTXWUF7cAa6+uJ1jvqk2ti/MUoFd5LstERVut | |
| 165 | OLWmr1WQN25u0qFdd/W4aonLdLdN2rBemoVxNTUwy3WlT40OBF5IGtY3s/RZl6myQu8uCetl2kQF | |
| 166 | mnatdhUjLIpEUrD+iWVAAz2qrDgSPSSeYHD7Q2Do2RXIVdGuJBKtFc1IProS5Ao91vXARGpzi0XN | |
| 167 | RLc8zysIPNtqdgx7XcVQgLZf4DE2HHeVYMt01NBMtBqVWaEf6mG0UbIdDroqyq2ZD1Qos8KbWzFJ | |
| 168 | T9/cNuyLueMX40DBKzQ73HBKq+kVUTpHuHvcPNQ2HY6JIdpri1SA7prMIHhXNT+Aw6ZTMyOaJ+lR | |
| 169 | zY8ogKilyHoSszqzgHrUhm6DALgBd0xJA3A3HkpCZivCai/OnoAnVmIF2xwxqyqs9i5Z4LJcpZyQ | |
| 170 | xHgUgJQsq+lbwekQa6xLjzA4lgBJRGfJTzAD67LoZCrdLJKPkMBew7uupJlmYnsZen+FyUUzUpaE | |
| 171 | TMrMMDO7jrEt5Ks9PLP4YmQWklHi6NWMV8Qw+BzShSzNW3xF3mAyrbHPfWFWWRGQnSGh5eB4WoMf | |
| 172 | 7XDIvZP0BCzch2b1rMmwS6g4MqnfFOKyc8IqZ1gvKY1qoNSs7z1C1dDY2LvMRAfTV0fQOSGjWC5/ | |
| 173 | 1kxE05Uy7M6J25p8qm/03sqSsyncLCj1+vkUWrPGk4ULHOe5m2RY+MkMb+hmd+lgYU5IRnO8DOYF | |
| 174 | 6hLtlCkVLMy12WiL7k+Mh4rSksjVgTUMZ9qJULQdn/DdfXSsZpmfyqjwRcFAPjYxTLSwavziRFRD | |
| 175 | wnVLIwGSwCanHsFnS+MFgF25ySVLrN31TyuC2bKE7Djje+7k0Wm7R5q5ZGZVF4GBxT95QwaOrJE2 | |
| 176 | KD7QePqkQl6tBFtCBYCLqpGp7uj1GCidVewYOpb1J8UG1l5M0wKFLxZXouQqGs0UpDrAsiootQDk | |
| 177 | G1MVpUoDArdBootm7aOvyoqoEWi2pyTVYNxlJDWmGr9Nbj9jr+mNdrQ9J0pTBiRro2bZkQDujOpl | |
| 178 | NkH/HxtpiBH77U/NAAAAAElFTkSuQmCC | |
| 179 | </one:Data></one:Image></one:Page> |
corpus/m6/native-template-controls-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/native-template-controls-01/read/page-001.pdf differ |
corpus/m6/native-template-controls-01/read/page-001.xml created+179| ... | ... | @@ -0,0 +1,179 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CEEEB7B7-FAC8-4A77-917B-DBF7BAF6813C}{1}{B0}" name="Hearts template control" dateTime="2026-09-06T04:21:25.000Z" lastModifiedTime="2026-09-06T04:23:18.000Z" pageLevel="1" stationeryName="Hearts"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:Meta name="PageLocID" content="00040"/><one:Meta name="LocVer" content="1"/><one:Meta name="PageVerComment" content=""/><one:Meta name="PageOveride" content="0"/><one:Meta name="PageName" content="Untitled page"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T04:23:18.000Z" lastModifiedTime="2026-09-06T04:23:18.000Z" objectID="{37F0B5A1-103E-4EE9-9AA9-94166A9D8F91}{18}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:Meta name="oeLocID" content="0001"/><one:Meta name="oeLocComment" content=""/><one:T><![CDATA[Hearts template control]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" originalPageNumber="0" lastModifiedTime="2009-07-28T18:49:14.000Z" objectID="{37F0B5A1-103E-4EE9-9AA9-94166A9D8F91}{14}{B0}"><one:Position x="-90.0" y="-3.599996089935303" z="0"/><one:Size width="89.21739196777343" height="287.9999694824219" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAKsAAAIoCAMAAAAhjet0AAADAFBMVEX////d0dncvM/S6+W+4qyw | |
| 3 | 3t7akbqZ06ir2qrewNLB5OHcxtTr9/fp1eH9+/z9+fvcmL7tyN274avlzdu44d/cvc/jydjP6uTE | |
| 4 | 5ub25O779/n58/bbscncw9Lbuc2f1q3Y7++03quy3t6i1qncztez3r7gxNXm9Oq14ODu3ufbpsTJ | |
| 5 | 5+Pcz9jak7v6/f327vPcwdHcydXam7/F5uLjrcvy5u35/PrcvtDcy9bL6OPO6uq/5OT1+/vczdf7 | |
| 6 | 8ve24N/cv9D46/L06vDcxdPw4uqf1aiq0rS84uDbtsyb06jfn8Os27jw+fm64uLhpsew3KrM6dTa | |
| 7 | lrzaocHD5eGm2Knamb20397outTZ79/x1uXbq8fbs8vs9+/n0d7z+vTi8/Pqwdjr2eTcytXcwtK/ | |
| 8 | 5MnN6eTT7Ozd8fHansCy3aq64uC54Kvcx9S336um2bPao8Ok16n03erbrsjbqcWp2anG5s7H5uK7 | |
| 9 | 0sDJ6Oid1Kjf8eTp9fLn9fW+4+Gt26q54cPvz+HmtNDM0cyd0qvZvs/U0dLJobXQ0c+y293Y0dW/ | |
| 10 | 0cPOxtOu0rey0rr0+vnTpbbA0djYlrnd8OzT7NnRnLfLyNS12dy419u71drH0cni8u7SwtHRxNKh | |
| 11 | 0q7Gzda20r3m9PDY7ujD0cb8/v22yK7h1t3KvrLg8vDWwNDDz9el0rG9rbLNnbb7/frexNTIw7HP | |
| 12 | r7TMubPV7Of7+fq909m2yLnq4uepzbHPpMPWm7i/3Ky6srHFza/d2eSxuq6dzqnn9OC+17LGyLDb | |
| 13 | 79Du4Oju5+vKsMi8yrzIytXL6Mru+PW1tq/Gq7Ot267A47r9/P273cTewtPk0dzf1Nvh4uDfq8Xy | |
| 14 | 7vHp2OLy6e7M6eiq1Kr6/fzFytXQ6sXz+vDr9vTVqsbZ3dm02KvS7OnY1+HD0q7B16339PbBqbPa | |
| 15 | 7+rCxMDXm77T7Oeu3LjYydLL6ejQpLvKuc3G5snXp7za1dfx+ffgzdne0dq94rCy2dvE2t+lxqvA | |
| 16 | ysDRqrXNtLPU7OkRzzSdAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAAI95J | |
| 17 | REFUeF7NnXdgFMe9x/eW050k1AtCgBoCgYSECiAJ05Gw6YhmejXVgOk2YGxckzixndhOc3p7qS8v | |
| 18 | eekvyeu9l7zee++9vzd9Z+vM7MzsZf4B3e3dfva33/m1mbtzHJujZrC3urHCJWPGkcnZNs+m8d7r | |
| 19 | T/RQSu/fnt5ZGm9p56Wzq5k5g8AnauycMuW7DjaGLeo9UrE+5dtaeNnsRFLIfMLCWVO9ZW+STclz | |
| 20 | 1ane2fSLamZIoLrutwPs7NgpFbiEXtNGUn4/aVTXLbWrVUB1ZygbwugLaiKcf7x6lxk9t+qbCX2V | |
| 21 | D7xH9e1NHj8p5QG8g0po2BpZF8ByGZOGUnuvakWzum7J0phZyqjupJoxzB2tbla30dzZld6pJs6s | |
| 22 | Q0PT4ZgYGgsfoXQGcwdHOYG1Eyfn5bzRf7ItgDto7vwq7xRKWcYu8pyEuH96M49bGsEGZ9bQOGdQ | |
| 23 | /r/zhjjY0uSxy3x3dyyOFFJP9w4tzeQ6wrNOxNiUPDzMji1N/sJlLc0nk1FzuQkGqzIjTB3LybV5 | |
| 24 | lQg1l2OaNXV+7n1mD072wjE5GJMhDzJLyaDm5lFvYJZ19mS13x3NOBFRMnv14LDYqtz8Msg6GNU6 | |
| 25 | cd2K6qATP0HtKphW9EL6iWFNsdb0JqT5M/zJJ82yx/qlzJrLkQhmhrWmV5COzuBtS1mT/KrvKlbh | |
| 26 | G2GEdb1E4lztNaaIpIckrQoOw5mMAdYauQSvh5mWyFXarFQE+qySvRMASJMPzDomb9YcDl7arPKo | |
| 27 | rNeDWS8qsM6DL9COsSqoFBazRiSB8fTwBdq5C/OVLBYl/gd10ZQlgOPsEU0NeOFSjhW1/NChknGA | |
| 28 | mBqy6jbglPo8iBHAon/lwitVBUy2NOuC9ZLW5A9b5iBvLJFgcfKFKbdmveVLmgPcQxPD43j+zBu/ | |
| 29 | 2MbVpbjrruAFSPqit8oRWzqPTYQc/byLFLcHxq21yqwVelMrRgIPxeT6J7lKTyHAkrJL02VFLkwM | |
| 30 | JTjOYSaFh5TtqlnGRrRQBfVTP62epiuzaq5zhVnXCqPRSZw4q7Nq9glDHmutRPa8CsEqsg65uo3t | |
| 31 | IKsMai7XvzYNq+4aV5BV0r9DWEW7rnV1e/CBCCt9flBFSx+L56B+W9s/t5olxEpm/6pmNdZ52nJ1 | |
| 32 | /KwqmdOwysG53Lj+Yrc/FkiqFZtW2Mby+d/prqZ3dRxfjG1W8+5KR7dpJgMglfD1fBUjvBLrWl2P | |
| 33 | BWB5R6A2W5RQc/oScBy+M2CRdVxfAn7BWmSdbkACDi5H8LDIOqRZvuAsnROBRVbdvAWzzvbsqubd | |
| 34 | VebWSd1qm1Q/Xhvbns9q00xdaaHmLVXZiwW/plcVeq/2XKywJFC579yxq4zMLEjsGVatkyIP/kum | |
| 35 | zMrFrjb50ysd+evmWJlhLQn2W+ZQHYe5ArU8T9a2v2qSlfU1FfsTcrDf+nmTrA7rwJnyBC+8/hgY | |
| 36 | r78Ar+YrRlEdttfKTOh6/qUiGS8+k8t90Swrqw8UqsN4AXzkWYoK/r3/DwyjOkwFBvIXZlRCfNM0 | |
| 37 | LFVBs7ZiP8gZFf93y1HDtNQX6MaDj4RQi8WOw4ZhafmtsHAZIdnnea162PsNw5K+hmJvPcB7f4RZ | |
| 38 | 4UOGYek2YZ3p9UwMqnFYuv1aqf3it+v7Y1mLhjVLujDpVfB6PGqxw7A3IBlX6ugVp1bsugzPLwKb | |
| 39 | Mt96PsGs4CnTQQGX4FK7rsIe67Fk1uICw5bFsHLrBkFafmZtKAfjyiYfvWkVkOZGmvnFSaD7Qh6N | |
| 40 | hh23eVrDXtZx8OaHFLH2zQzrSUyKRjkH+4hhEdDCVh32RUq1g0PN5y9tsBdrU8NSpHIfKhBCN4M1 | |
| 41 | rljQ5ELdQ0XLvpEQbQiggj/3MFjD0QtqahYqbdVgqVwvhVk9WNM+FsLirXBKsCTJ3hOBms9fIZY1 | |
| 42 | P7tQ6wjqYEh+dS5HAizxVkHN0glmOCsgjmU22ikin3ThLLs70qz5/AUSFoy7WEILSwXx1nESvV7A | |
| 43 | d/l8DGt+B37ehmBx0xuaVjL3xmn2pjjUfB57rvnGwwF7w0mgWvFWDWhazBo9s9AFXEAH2JlcmBc6 | |
| 44 | hGaZHZmPIRR/yPIbGXtZ3q5HX7v3CDL2zTujRuwNd45JTDHM2hCvAWJYj2n/FixhNDpOmfEQg0C2 | |
| 45 | EyLvhVhvJ6ASxdLIdQdZlB+nzNh2WY9QCChzSZAruArkCnDCPXovSApte8eIEJz1je5Y4noCCgV8 | |
| 46 | Mhg2cQNjXdARgQoeOmUG1hmsTqRFrF2JGsjD4AXtuj+aFDy6xYwOQEbT2zM2HKdbxBodYNkF3ACH | |
| 47 | ANRTsagGYcG6+JHmiehWImJNNmv+ScSahGq2UVezrHEoyriQNSJ19dF3QdZkVBAtTMkAaX/W5Iy2 | |
| 48 | UAsBssYlLhQYhK75ryEB3L7RBV3xpR00WeRkYUyzZKKGcWVY8+AWQ6hubg42lPsLc/C0+ZwhgAtZ | |
| 49 | g5VWSL7IepsCuVhDyLY2krHZ1d5Mg8sEUqxXwnH4fNC0hoKC31uDz1I9hNPxxyRZI6/nkq/lAZRi | |
| 50 | dH4x5FlH3DbocyVZYxKxBq6JAHViQwW4MhsDpoVlrEgDl+JzxiCsmawrHLJBO2EY5doi1q6EfKHB | |
| 51 | LwNTmUGIFnxW6aQMa1J2m7/kn2C2DAsaNc2rJOyaHILP+9KEKUMpV/htBt21oOa+IcgHBE/D1IYN | |
| 52 | i4VZr/tVcYwVsPola82uYHPHl7VZaQ8B29Yi6+BfisotCYHwvsAiq/PPwBYSOImHkOaMbbs6s8AZ | |
| 53 | BHWB8FJQRUaGTbs684X1lpCVNJKs29W5KQ5cQlhuJcSqXe+I+gNC0nyeiwdWWUfFBZeQFlZkWejV | |
| 54 | Af0pIYzggMxYgWAFzQzhpXisHVY14CzQn1yeXk0nhbWt9ceX4lF/tdZxOoRVt8iwnh8wuih+9fjm | |
| 55 | gm883QqafyIYwfNsidHgCmNtfQAUUf/9f8WvbUhdhBe3zJm1vs5vUvbX9+mlsCwfMNbOWLc9hhQ8 | |
| 56 | /DNS9os7iOZZxjbyHIgnBc98XAOWmdXUil0yaqHwzdSwDbQ6NOWvRKiF70nNSvtapnzAukQBoCc/ | |
| 57 | lxIWdpLhMNXTrI1yVQH8lIalYjWF6hwXm7VQ+KE0hqWo80213VbLoBY+n4KVopqaVo6zT4r1FXVW | |
| 58 | kgd0mHJWjlMrhVoo/IkiLO1sbzG4decpP+veywfnbAQ7DNrnHNw1wD+lGA9oW9toC2spBzRysJ3/ | |
| 59 | RoD2gxzt/6rY9QJxq/ONdgY5CYwc4kHR/9vPsSt5qzwrXYZ5xFxihQqKqxRm4FqIFD6wiz4vzcpI | |
| 60 | zc0pUvrUE5a9vrvPYTNYObte2IMTgPkpl13WHahfuhRmp6AsObDaX58Rucaiuu07ydVIlIgNO/By | |
| 61 | RsfNdDq9ui+QQ29/ClRRbOC0dSDOqsDAcwiraOHgUjkBPZXOpKuPRyb7+zzjYpA5kVolD+7Fx+yJ | |
| 62 | F8Gl8+WkqNpyM+V8qo0tS+rqqWERxq4kVPcgZmWLyF1Pwr3QZOzp7iYZ6iP3phakjvtJZUlhOzYt | |
| 63 | Tgeh848f7TxrF/Kc833j3tTUnZTmJCZbF1fr4VPXXYXHtYrN6rpIBG+HdgWB895+g0FTDhWc/QBl | |
| 64 | DccAv5EvQ9Y3AL1e2DCV+i4ntIdqk62KTAtgoV13JioAPIkE+4byfMPfpHNFoi6WVKZ3ALFeFrEi | |
| 65 | r/WZroZ/FJ003fNyCXRhHWSNDq7cBRyCrN/I/2Q6FOGros26d1cfGudoLKqDfkAkV9eFrB/7HeFJ | |
| 66 | Ux4QVuvOy7zD33gd48IQK5IAZv3Bz6ZEEb0sVEWPhG/0QWJc4dRCrK/8gOicaZ9nmR72pQPXI23X | |
| 67 | h54ckbLrr6RFEb6OZnoYdW+cIg/BvF/MuhEcxYKy8NyqB/hYd8YnUe0gJIlZoc9qVUWQPt7HmjTP | |
| 68 | AawcK59HSmNIHcizJrv69p1i1uvAX0idNtVBfOMvOYlyD50Tzi0wB+3JFadPeAhRxKFgpFBYl8pk | |
| 69 | ci/yWPuEZhMeMFDYLHfWdEd53f/E8kSICQ8ALut4Ogq5V3l9Sn3Wa3YlwAlWn/WyXQk4Dkte9Fl3 | |
| 70 | 2vQCUCZMBMLsVKRZINdA/0NOhvJHsWRb2w9ctxkI8AU9LetfRXY9V0AVr81Bw8GAiEXwfLvtmQWN | |
| 71 | QJvAmoK9jmpzy4PWBrv0DLu3zl6K5VmA1IdJPUDxZRyy7bAwL21nHBQTxR+xKxOzOg5ZYpEo/mJZ | |
| 72 | 2wcsZoO+SUCml4Zh+zIyq+OsxpE2oeASOayBpyx7AO/tSe2dOnYdtJq4BsxA0gJx7h9p4PYBe+Vr | |
| 73 | xP3Ckt2bzhX0Pe2srFqZmQrIRoZUKmj/sf8sg2PFmYx4SSs+RRr7lnciUjTuy4YWww4ISu+QSJ57 | |
| 74 | m0cK/9eZiRRwxhW/Mhip5efe5UcFSsjEtLizIe6vcNBh1LKyhVuzMG0rkoFKwhUQALbxwmNZwGLN | |
| 75 | ysP+RFAA5O9sYNEeLFnYT74phrUsExnUok7MuYT1bE6t745DzUizuAqX8gbvi0UFml2chWadq1C0 | |
| 76 | AxKpARcDwtQrMmF1VqPkQBhu35Jg1syCguMcgKYdEYSweLXii6jKxrJOLSwYBxJN+95ks5aVbcuI | |
| 77 | FexugELYmZDKRIYBH382qQGySCv0tSNxtM9xvvWBR6eBsfyJB/2mzsgX4Nt3IIH2HYyr6TQkRWPJ | |
| 78 | XB/tfZmpANkWKmEkqsD9EqV6gJGC/7Q87IPNxskyi6yG+7Z2Xg75hEhUQLubh81QsaQvcwD2Pfde | |
| 79 | 9+FS5+qzKtYBB5udK/DUtvopmCbsve6lCZ/CRGtaeAUQ0XKwdzNVLD0Zxj1H3QIpBxaFUX2WzXZ2 | |
| 80 | cYZBO/nw7tfnsO3CCkDsnmYXlsSunheD0QzLdW6EAhDsA0wGmSSycQYBS+MgFf8AgqmMUgB8rGUN | |
| 81 | hT1bQsOC4FsHdmrhvMULAkHo5ZS1ZIIlPmx74RoKsDFqRdyVBHZmSe0KW6B/hUginQCxcAvNDUrM | |
| 82 | 6rR+DaI+GKdWX0goNavzx5D1iUTWacSwJXUE0FCdkHV5MitxsllVB7H37xZ0rsmo01rw7Co560wA | |
| 83 | 8bCAdRpOD/2sK6uOdXZWZcq/AkDsFrHihIvjOnZrIXW7M89mltpKyHXatNM+1pWdDBQDZ9RWduC5 | |
| 84 | RGadhj0B7sYuDpLCp7LJxMGJmsSsSLAI9e42evN9/67IwKGtBGcUeFcaZ2FSuPhMJCl4MINObZXM | |
| 85 | 1MI5N8gHVsKZGDes52GQNSkZIPJYBGeQszUwpwLUthMxyBqfDzIhQ9azx5JRrc8wyCqeWtOQXRPu | |
| 86 | P3nKbsNegRXzzH24chEYj1ayeoG/BKvFLmCVcFnIrnA0LfFuwulKfxsJPm91kUmJtSkwC1u8wpEa | |
| 87 | d4XFgLtYzq6PwrsfkTYsCpn2jMWMPLnWoncc1FxrIt2FV+ZSy1rMvBLKbc4/PFD2QEwDoaUp4B62 | |
| 88 | 2VOBHGtTbP9g2rSgQ7CXx8yMb2NwduWmf8gbB2Ww0NrquBxrYrhgRTlRg7VYe0bKrsmhbXnAG9hS | |
| 89 | bGdiz0Ui/MJD+KYyzBws+a27UnFLxOxfW7C1KFplhLXFrwJbs8sIq38dxJoItok6GaL7j5/3Ld7d | |
| 90 | siTYmTL5q5jXN71sCbZTpi4Qs07zKdaSXY/J1FsSrE/weYEl1q3iFpEE6TSWjiNkS6zOwoS8RIqS | |
| 91 | HJSBXZ2ZMkWMBDSfHNqya2dyB16CEh/CFTTW1u2qyuLW4aQx0YF0vQZowd6SjSFHwLFaTLfNTC6O | |
| 92 | 1V7N1SnswUuJwWO1uNdgq5mMwPMD9iTgOAsFa0ZSZuWCrK2UEHrC+3bL0SQexdaYy2y2M5xjJgTL | |
| 93 | 8gG7e7kWm0gLWQJrtVfoOLfQbjetwfJXaxU3idtnJZY3kq+EFVy20myWYazUTgloMmCzp0lwV2h6 | |
| 94 | LaqADFCdTr0wSxsvWaA6W9foTCyKestWc8ifDm+TWDiKuxyKajO08rQaoetRXMFus5dcBaqM9KGL | |
| 95 | pFdnsrn/EJvmWsslFjx5LZzG2dXMzIwKYfH+nJakTWUResVLXNvsrheGCs0VS1B9pxRsl6AcIGtS | |
| 96 | x5kJPeyjKvELk97K9O5jE98HuwRN0ons6UpIuu2szbQ6tsnQCViXS1bfLUtgH3tFZwb7RiJ5zwDW | |
| 97 | J2Ry7uW7wdRfceZudj4qxDsTzK0HoQRe/dDjcLzn1b8IzftFSyqbts08c7YEEuV5P/rXcBfW8i88 | |
| 98 | /lH+0Zdffvn3EPnjn/jEJ85WVVWV0JiM66e+AIy4pOxDPlJbDbSk962q6uz8u9/4o/9bsmgRTlM/ | |
| 99 | /Oqr73n88X95+bfwq17+0IfRw5UWexDi615c1XlrW1lT5aLY7tqHX/VUWWmvZSZC3doJdlPNVYhE | |
| 100 | TSVivXsf3KCkAAo1UArWlWfgpr+5lYp91RKwVsGtwmUPolxEaSzJem5VwY3C6jaFF7Xc2vJJ5NTC | |
| 101 | pGXcZ/FULJvNZ7cx+GK8jS5qc5IU8sPZ5cx38d7ENan7Ertt96KoFohRIz/fJmVVkBBkNLm2km20 | |
| 102 | igWT/yoezCR1riJ7U/XWAJ+wtVOFdwTHyGJo1AccJQWAvFYGkYuizk09rcgFzbWeoMINt2hIl3Zx | |
| 103 | tn7AttdaSfdRazX7EP6jtnaqUMGyjfSK/Z0I47ZYW6HGsOgTWChdUZhFcYc2WV1FgZ+8MKRWcAF2 | |
| 104 | QxfOVuDQaPcyMy+3Gbo8s5pZAZ5rsZnifUJBL2RRyz5sMXR5n/uQafCIZ5/FQoaFAbl912LWRfaK | |
| 105 | A+awTLG22Pu4pucFzOwNBQ24TlHjIe3z3Ie/zMytafY6Gsy5gv+IxShzRKW1MMuz6iaE+EqWWKtm | |
| 106 | eVbtTQCIdVGZrbyQ/1ididwFLHFZ21vD+QGpDzlKKNbabkDfhwDNeII1tibXWV6wZjYxNpVZKrq2 | |
| 107 | +lj1ixigkSZrkcv/8Wrt4hCwVlpzBP4PWGsX3YjVVpT1cm2kBs1mBnQTlWXWilmf15L7pGOy46q0 | |
| 108 | 5rQcLoNFlk3cvdQiUZNVWvyKv4Bhy5bEm61FxlGADSxpsz7h6wKKLYuHbVlTalavmUF9bYxlwT4q | |
| 109 | mZoM2NViLRv6toXIjAtuTpLZigeOs7joHv6+hfCawSL0kdvSszq0/8oF3Cd8i4anyZ5PmW1CYNuF | |
| 110 | RbuCnTW+tAD/wRZjT+9mH2OW6STaZnWCjgvjrmkCg35gDapahhVcmFW7OouTvs0Eca+4K8kKDrPL | |
| 111 | KoRdsRimuhJ6hV9AZZlVAHvfYgdmZBJ+AH41hm3WRFjY/IOSlmCFW6+tszrIclFjG4pDMCuXqMjg | |
| 112 | 5y8yYHXI6nGAtxPXT/BRibIcbmjNgjXqe5jYF3GhKxBvK4FHCfMlMwesPMO3N7Zxv5uBWBMSRpxK | |
| 113 | oo8LmUGReZeqzpnQ28685dtICb7JBQzhMjj6fj+Zs9g8BlfnwgUQuFs0gxVkwZXiGScSAYzI3y6s | |
| 114 | Aq8Fv8zHWs0tLxviyZLTF5Q7/kMWv2uWCE46NMmGRUnZ156Wt4CdI2namJS/4M82/X5hnx0E6Xel | |
| 115 | EfjBhHiAPoXxJndvqWFZ+zPex55GZn23u3GgsNTyr1wmm9hrf8b6LVyVfcB1D+0s1GX1s3GR1Cz4 | |
| 116 | xnUTycdx3wK+dbv9XKGwub50/sArIGMkSz6R/Rz63Zg54DePC/us/zBnjBa4yjyy9Um+6vdd9Cdu | |
| 117 | Nl4Gvz9fVyJcLgOLgKUfxfsU93M813aB33Sv25fpb8hhS/NdhNBXzbGvF3uv/9e5EO7m+qzdgq+j | |
| 118 | ONcfbBnqm0I/JNZ+EPwGfeHpjI3r73jwbaTlrDXztqgfPZsD3EJhcwY/1epNtUAPfO5uEsJauO+6 | |
| 119 | gB4rYmzclTUt2iLPj4crweC/VSwsAQqOnNjm7JTAth4GmdnfvBcImvca8GEZBl9uf0w07ieTfm+y | |
| 120 | /TL82anMwll0Q5FxR84sDn8ONG1WQhCo4H2in/Fsh3OscDybTAG2NmPHl0So4PnrEHb7Oum8WedA | |
| 121 | /zK+HztRrcwhgEBWqMvG2cZ/STLIXGXGIQhbOK5jMOnXxsG+E2eD4oFhsynKYmADWUsCM4bdnskM | |
| 122 | i4R9h9ig7IgsYSMmmAoqqMigYTOybFXwu/3VUF33YIaw/q/3f6cwCIQEguJtIaMWzUr0WU84/uO3 | |
| 123 | ZT0ATwwz8Ky8AfBxdztvgZby96b7/XnQ8YDjKWlfaeLAzSl/fh5F20Ihu5TWcepT/u6468LsG4Tb | |
| 124 | 7OrG2rqUZnXdjdiwS03cXKn3OJ5OrWiWYV9QyKr1tbqQ2qyg7YWnVyGbDNHZN6AQWkOH9mHW7VJ3 | |
| 125 | UPeg1eJf7U26FqLYbBzXvoLqz8770WGTA/qCDFKu1YVzOhJw3WuYNYvMu15nZqGrJKwF6062tq4g | |
| 126 | 91vj8cYnIrBfJRzQlYDrEk9gX7HbtSXgzqEisJzDrCtoegEgDca6Wdd9Jr/+eCF12sIE3E7tajl4 | |
| 127 | wd8O1R6M1WrD4GqhcE0bFReJ1gMt+PV2vaAFL5TptVCwGbvqCuK8Reh+qc8ClrVYIAAvMCKUwGUR | |
| 128 | LK4Q0bDotfBvCAtGn+AQmmhBVospN/jla/jjzMmjT3AMLrnwsMdaC95dXBIAOV5PuBpSymJWe32N | |
| 129 | VvDu9PfE42ng1ImXAW4U2bcrkKsEK1oeGImZYJwPsKqBz/6TFCvW40CUDtDiHD+steV/+BUF1kJh | |
| 130 | 58GAbQ8GSe1Vs7/7h9AiYr2Cg45j2w3sOoh+gB5U2nP6aIbNm9VWojX67x+TYoXus5XAIq6REdIS | |
| 131 | CNx/8Kcll3X05/I/LcUKS79W5+kwWPgRS6Xs4Z/Nd30Dni3JdaLbDd1Aq1MLwoZwWDHr6NSefP7J | |
| 132 | P4cnF6avcPkVpCQSsDYacEenOm7k8/nyNyD1CSIsSvhg+lQrkoH++tHoAt/YP3VqS7G7C6DmryBW | |
| 133 | UcWNpjtO9WDoiB9LNXLXo3em7s3vKIZG9w1EyliT6wKcR5O0tHVzPGpqrS6YIpS3u8vLu7oIHEZk | |
| 134 | o/w70ZmTO0TY3dOOSm19XTTtvnQ9l9H997Atu8u7GgJ4flZy2qQihiRRXi0cRbv5eCpSCrppz/lE | |
| 135 | TgjdhfWaZFjSVvOHo6v7OCnULa1P1yU+egrrs3tHkj3Zc4Q1vpKdQwJUyBnVtrbWg3G1Ne18WjAf | |
| 136 | 3/s9F6RI8/m3EhEMkCAf9F4si049b2L6KJS0XHjv2ZVQ1sJAVAKz0cuizG4rPUpsekXWphD4u705 | |
| 137 | 3RdMpdEmNzrS3ukos45O4bt/O9o5xUni4xzOQB/nDub0cWW02SJqwSMY9Yb87Uf43/T7yp0jl/v6 | |
| 138 | +i6P+DjhIQaTfWLUTeclp5R3WFLI9J6rM9apHN1C7v8lZdT8/0jBGvMCh0nE36B4/9GFfU6G1VgC | |
| 139 | rYWa/zosDkXDlFop6qY0VgWG/bwI1NwKNkUtptAqEsGfCg272ZBvZajl6tOKvIILB5EmrkuXmIQ8 | |
| 140 | B/UAxQ2pUb2cIFoMplCdUzTlV4tW/gv7+tsTJKtTlvhMu4CidmuYNZ//TVwdRAyDHzMigbVYlEtW | |
| 141 | 4y7o/Pd/Jho1ZVkSFeT2s6JPy6z5hmLxx5eGaLc/ZWj+I3RmVj0J5PPdxQ5n3XGurbJ934FU9VNs | |
| 142 | 2nCHmTW9w8I3pLxYPAxP0wrqkqutrWYxET+pVQHxk3oayHcVi1PGMqnIN/KaFDoeC11msbjFLqvX | |
| 143 | TtFm3VAsjlqF9Vh1NZDfUyzeyYhVd27lnywWb2bEquuz4OSanxFrUdMPwGhQrLEJy7Uq1WvCwNWB | |
| 144 | 9/rljFi1RdBdLP63TcPyLWBdrwVYv1xt0bA8q65hbxSLX3UH7cGy1AVCayoWZATF5h57KrjJG3aT | |
| 145 | Ssct7DYg69+6R6wZ9jDPqlVxoUyr+Eyba0+ypIlJkPckONkGkUQg6+s5i7BeAotw42EbNoj8xHnw | |
| 146 | +sdyAPaILc36DRubxjbsKUqy5oabeyx5A79i4yzbADI+ESvUwIs5MOYBHcyyMsV8rgDKIKKpdQmg | |
| 147 | FkVeArLeD1kt0pLOK/MIG0JtrR2b4JOixhzHmsv1D689st68bY+GVlv9XfgLIHjCIaMBYlds3Ivf | |
| 148 | VW0cd4HPycI/Nt1gtj1/BT7QAaagKqsdXK+h4VHfvlJeXn6jG939YsdhCVZoft6uRLoXf9GsdaNg | |
| 149 | OWN3HHaAqEVVTjQrIB5vqzgx25x2E2EBqgPIbwgqB3gLwnZF1u2/ODZj0liESICFqJBV1J+FNyKG | |
| 150 | FeAOj7nVpoy7IGLvBZLBFtT6ETstUBsmsSLaRkN+ga7FBpzCKdyggI8mdz1BzZ3Mimh7lpkR7lTY | |
| 151 | tI/Q9gQEuZIoWNDLELHmctObTdEeZf14bNyOKdb1QX8nRi4YhhP0ij1Yrr/NdQ2lNqOveRH33n7u | |
| 152 | diHWJK91AR0BckLRGB9z3UZDs2x0wRQYry3w6wqljklrdTtkWXP9E2DnxgljHiysf5zmJhgWheLi | |
| 153 | R0RWRc+PN7tuhSGXEDFVyYp97Moi7BCB8YwUa65/CJi20U6O6zgkVsTGAyyB4vNyrMAhANiKSTP+ | |
| 154 | K/guRzFLbKBFXqBYlEUFvhbowFZlRrse0QEBBS0Jl8VdyyoI22PIIfhNm7wUStLxl+TtmsshWNeG | |
| 155 | DlhxvilifhG1Ft+swprrXwthbfQ+vNZXSAYNOCMvFt+oxEpgZ5h3tcRrRblZMrGKz6qhgoiLLDvD | |
| 156 | uPMa5TKbbj4zAG0OMlB3QGlgzVYYn2GcYYubvCWmC9SqRUW5oouyBMsblpW6l5hRVSIBZ/txtK3T | |
| 157 | uGVfo/ea/nvbMyl86NNKt58ePGwHNtihCbCreSx2YSCjtWBZtuMoaGD89wup7EqcgVth2BskluZK | |
| 158 | QYu/rHnIGbim/WywqcgbWDEQcLRYsu4Mw2lXoCLjWONbA2JpPIRhTYfb2PklnbpGoPdjFZhOZEa9 | |
| 159 | bSe+GSZRFSbY9yJmNb6UFymDT6d0ApQfJQYgJpjOY/hgS2z7bPqJhWlx+AJFmOH55YR6X9qouRyZ | |
| 160 | XqYl6zijv+DTqgHU3DxiWNd4zvUdz9zv0b6oqVWsAmpY0172z8B7P//BT0Pc97+kK1UyvahiTavg | |
| 161 | K2L3rn4EcQWGE4MvqoNIvIJEWsPh60clzqx+SD+dXSYjQs2/qYPIvILOLpNO9kdkTpziGCYCg4b9 | |
| 162 | 1xQcMi9hLtacYZetkjlxmmNItmUwh2lMgyH1GtiVxcPQDp9ZE1LnTXMQbMqSYab4OnEyDYbUazjW | |
| 163 | E0byrQqp06Y66KRn1x4TrOuHUmFIvYilBIDZRLpVPV3qtKkO4lkNiKDGHU+FIfUiWnVBKRgQwTK3 | |
| 164 | X+q0qQ7i5pbr6nuCI2tTUci9iCUE0LD6a3XuQ3KnTXWUF7cAa6+uJ1jvqk2ti/MUoFd5LstERVut | |
| 165 | OLWmr1WQN25u0qFdd/W4aonLdLdN2rBemoVxNTUwy3WlT40OBF5IGtY3s/RZl6myQu8uCetl2kQF | |
| 166 | mnatdhUjLIpEUrD+iWVAAz2qrDgSPSSeYHD7Q2Do2RXIVdGuJBKtFc1IProS5Ao91vXARGpzi0XN | |
| 167 | RLc8zysIPNtqdgx7XcVQgLZf4DE2HHeVYMt01NBMtBqVWaEf6mG0UbIdDroqyq2ZD1Qos8KbWzFJ | |
| 168 | T9/cNuyLueMX40DBKzQ73HBKq+kVUTpHuHvcPNQ2HY6JIdpri1SA7prMIHhXNT+Aw6ZTMyOaJ+lR | |
| 169 | zY8ogKilyHoSszqzgHrUhm6DALgBd0xJA3A3HkpCZivCai/OnoAnVmIF2xwxqyqs9i5Z4LJcpZyQ | |
| 170 | xHgUgJQsq+lbwekQa6xLjzA4lgBJRGfJTzAD67LoZCrdLJKPkMBew7uupJlmYnsZen+FyUUzUpaE | |
| 171 | TMrMMDO7jrEt5Ks9PLP4YmQWklHi6NWMV8Qw+BzShSzNW3xF3mAyrbHPfWFWWRGQnSGh5eB4WoMf | |
| 172 | 7XDIvZP0BCzch2b1rMmwS6g4MqnfFOKyc8IqZ1gvKY1qoNSs7z1C1dDY2LvMRAfTV0fQOSGjWC5/ | |
| 173 | 1kxE05Uy7M6J25p8qm/03sqSsyncLCj1+vkUWrPGk4ULHOe5m2RY+MkMb+hmd+lgYU5IRnO8DOYF | |
| 174 | 6hLtlCkVLMy12WiL7k+Mh4rSksjVgTUMZ9qJULQdn/DdfXSsZpmfyqjwRcFAPjYxTLSwavziRFRD | |
| 175 | wnVLIwGSwCanHsFnS+MFgF25ySVLrN31TyuC2bKE7Djje+7k0Wm7R5q5ZGZVF4GBxT95QwaOrJE2 | |
| 176 | KD7QePqkQl6tBFtCBYCLqpGp7uj1GCidVewYOpb1J8UG1l5M0wKFLxZXouQqGs0UpDrAsiootQDk | |
| 177 | G1MVpUoDArdBootm7aOvyoqoEWi2pyTVYNxlJDWmGr9Nbj9jr+mNdrQ9J0pTBiRro2bZkQDujOpl | |
| 178 | NkH/HxtpiBH77U/NAAAAAElFTkSuQmCC | |
| 179 | </one:Data></one:Image></one:Page> |
corpus/m6/native-template-controls-01/read/page-002.pdf created| Binary files /dev/null and b/corpus/m6/native-template-controls-01/read/page-002.pdf differ |
corpus/m6/native-template-controls-01/read/page-002.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F3B3040C-0089-05FF-2C9F-3BFB91647BCD}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T04:21:25.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9C3D193E-0294-060F-08C2-1BB16FEA3244}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/native-template-controls-01/read/payloads.json created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | [ | |
| 2 | ||
| 3 | ] | |
| \ No newline at end of file |
corpus/m6/native-template-controls-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/corpus/writer/create-notebook-01/notebook", | |
| 3 | "expected_pages": 1, | |
| 4 | "author": null, | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": true, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/native-template-controls-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/native-template-controls-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/native-template-controls-01/source.json created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Open Notebook.onetoc2", | |
| 4 | "bytes": 1612, | |
| 5 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86", | |
| 6 | "mtime_ns": 1788592288950419463 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "synthetic.one", | |
| 10 | "bytes": 3348, | |
| 11 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797", | |
| 12 | "mtime_ns": 1788592288941514581 | |
| 13 | } | |
| 14 | ] |
corpus/m6/native-template-controls-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m6/native-template-controls-01/ui-operations.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "operations": [ | |
| 3 | "New Page dropdown > Page Templates > Decorative > Hearts", | |
| 4 | "Set title to Hearts template control", | |
| 5 | "Choose default template > Hearts - Decorative (mouse selection verified)", | |
| 6 | "New Page: visually verified the Hearts background appeared automatically", | |
| 7 | "Set title to Default template page" | |
| 8 | ], | |
| 9 | "expected_pages": 3, | |
| 10 | "template": "Hearts" | |
| 11 | } | |
| \ No newline at end of file |
corpus/m6/rust-collapse-control-01/ORACLE.md created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | # Saved paragraph collapse default | |
| 2 | ||
| 3 | The Rust scalar writer changed only property `0x0c001c11` on the paragraph | |
| 4 | containing `Collapsed parent` from byte `01` to `00`, starting from | |
| 5 | `../native-features-01/notebook`. The mutated input is `input/notebook`. | |
| 6 | A fresh OneNote 14.0.4763.1000 clone opened it without further editing. | |
| 7 | ||
| 8 | The original native fixture reports `collapsed="1"` and hides both descendants | |
| 9 | in its PDF. This control omits `collapsed` from XML and shows both descendants | |
| 10 | in its PDF. Both versions retain the same child/grandchild structure. | |
| 11 | `tests/document.rs` and `tools/test_document_oracle.py` assert these facts. | |
| 12 | The model exposes the byte as `collapse_state`: 0 means expanded and 1 collapsed; | |
| 13 | other values remain uninterpreted. The report folds state 1 while retaining | |
| 14 | expandable descendant content. | |
| 15 | ||
| 16 | The separate `../native-expanded-control-ui-01` demonstrates that a client can | |
| 17 | expand its transient view without changing the notebook or its PDF output. |
corpus/m6/rust-collapse-control-01/agent.py created+439| ... | ... | @@ -0,0 +1,439 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "ahk": ahk_path(), "python": sys.executable, | |
| 301 | "agent_sha256": AGENT_SHA256}) | |
| 302 | else: | |
| 303 | self._send(404, {"error": "not found"}) | |
| 304 | self._log(start, None) | |
| 305 | ||
| 306 | def do_POST(self): | |
| 307 | start = time.time() | |
| 308 | code = None | |
| 309 | if not self._auth_ok(): | |
| 310 | self._send(401, {"error": "bad token"}) | |
| 311 | self._log(start, None) | |
| 312 | return | |
| 313 | try: | |
| 314 | data = self._body() | |
| 315 | except Exception: | |
| 316 | self._send(400, {"error": "bad json"}) | |
| 317 | self._log(start, None) | |
| 318 | return | |
| 319 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 320 | "/spawn": data.get("command"), | |
| 321 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 322 | try: | |
| 323 | if self.path == "/exec": | |
| 324 | resp = self._exec(data) | |
| 325 | code = resp["exit"] | |
| 326 | elif self.path == "/cmd": | |
| 327 | resp = self._cmd(data) | |
| 328 | code = resp["exit"] | |
| 329 | elif self.path == "/spawn": | |
| 330 | resp = self._spawn(data) | |
| 331 | code = 0 | |
| 332 | elif self.path == "/put": | |
| 333 | resp = self._put(data) | |
| 334 | elif self.path == "/get": | |
| 335 | resp = self._get(data) | |
| 336 | elif self.path == "/shot": | |
| 337 | resp = self._shot() | |
| 338 | elif self.path == "/ui": | |
| 339 | resp = self._ui() | |
| 340 | else: | |
| 341 | self._send(404, {"error": "not found"}) | |
| 342 | self._log(start, None) | |
| 343 | return | |
| 344 | self._send(200, resp) | |
| 345 | except Exception as e: | |
| 346 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 347 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 348 | self._log(start, code, body) | |
| 349 | ||
| 350 | def _exec(self, data): | |
| 351 | pre = [] | |
| 352 | ||
| 353 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 354 | pre.append((_safe_capture(None), active_window())) | |
| 355 | ||
| 356 | with LOCK: | |
| 357 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 358 | data.get("timeout_ms", 60000), grab) | |
| 359 | if pre: | |
| 360 | (b64, w, h, note), win = pre[0] | |
| 361 | else: | |
| 362 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 363 | b64, w, h, note = _safe_capture(None) | |
| 364 | win = active_window() | |
| 365 | if note: | |
| 366 | error = error + "; " + note if error else note | |
| 367 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 368 | "w": w, "h": h, "error": error, "win": win} | |
| 369 | ||
| 370 | def _put(self, data): | |
| 371 | path = data.get("path", "") | |
| 372 | blob = base64.b64decode(data.get("b64", "")) | |
| 373 | parent = os.path.dirname(path) | |
| 374 | if parent and not os.path.isdir(parent): | |
| 375 | os.makedirs(parent) | |
| 376 | with open(path, "wb") as f: | |
| 377 | f.write(blob) | |
| 378 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 379 | ||
| 380 | def _get(self, data): | |
| 381 | with open(data.get("path", ""), "rb") as f: | |
| 382 | blob = f.read() | |
| 383 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 384 | "error": None} | |
| 385 | ||
| 386 | def _cmd(self, data): | |
| 387 | with LOCK: | |
| 388 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 389 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 390 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 391 | data.get("timeout_ms", 60000), "oem") | |
| 392 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 393 | ||
| 394 | def _spawn(self, data): | |
| 395 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 396 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 397 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 398 | close_fds=True, creationflags=flags) | |
| 399 | return {"pid": process.pid, "error": None} | |
| 400 | ||
| 401 | def _shot(self): | |
| 402 | b64, w, h, error = _safe_capture(None) | |
| 403 | win = active_window() | |
| 404 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 405 | ||
| 406 | def _ui(self): | |
| 407 | win = active_window() | |
| 408 | controls = control_tree() | |
| 409 | return {"win": win, "controls": controls, "error": None} | |
| 410 | ||
| 411 | ||
| 412 | def keep_awake(): | |
| 413 | """Hold the display and system awake for as long as this process lives. | |
| 414 | ||
| 415 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 416 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 417 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 418 | """ | |
| 419 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 420 | kernel32 = ctypes.windll.kernel32 | |
| 421 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 422 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 423 | return kernel32.SetThreadExecutionState( | |
| 424 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 425 | ||
| 426 | ||
| 427 | def main(): | |
| 428 | user32.SetProcessDPIAware() | |
| 429 | awake = keep_awake() | |
| 430 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 431 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 432 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 433 | % (port, ahk_path(), LOG_PATH, | |
| 434 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 435 | srv.serve_forever() | |
| 436 | ||
| 437 | ||
| 438 | if __name__ == "__main__": | |
| 439 | main() |
corpus/m6/rust-collapse-control-01/commands.jsonl created+3| ... | ... | @@ -0,0 +1,3 @@ |
| 1 | {"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null} | |
| 2 | {"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-2129FECA -ExpectedPages 20 -Pdf", "exit": 0, "stdout": "Read 5 sections and 20 pages.\r\n", "stderr": "", "error": null} | |
| 3 | {"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\read -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null} |
corpus/m6/rust-collapse-control-01/format-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/rust-collapse-control-01/geometry-differences.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/rust-collapse-control-01/health.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "ok": true, | |
| 3 | "w": 800, | |
| 4 | "h": 600, | |
| 5 | "hostname": "ONE-M6-2129FECA", | |
| 6 | "ahk": "C:\\win7-agent\\vendor\\ahk\\AutoHotkey64.exe", | |
| 7 | "python": "C:\\win7-agent\\vendor\\python\\python.exe", | |
| 8 | "agent_sha256": "ef7ca89be026695cf4412460a2eec308b0ed253fb9245597a7fe5d6938e49f89" | |
| 9 | } |
corpus/m6/rust-collapse-control-01/input/notebook/Empty.one created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Empty.one differ |
corpus/m6/rust-collapse-control-01/input/notebook/Features.one created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Features.one differ |
corpus/m6/rust-collapse-control-01/input/notebook/Group A/Duplicate.one created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group A/Duplicate.one differ |
corpus/m6/rust-collapse-control-01/input/notebook/Group A/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group A/Open Notebook.onetoc2 differ |
corpus/m6/rust-collapse-control-01/input/notebook/Group B/Nested/Duplicate.one created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group B/Nested/Duplicate.one differ |
corpus/m6/rust-collapse-control-01/input/notebook/Group B/Nested/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group B/Nested/Open Notebook.onetoc2 differ |
corpus/m6/rust-collapse-control-01/input/notebook/Group B/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Group B/Open Notebook.onetoc2 differ |
corpus/m6/rust-collapse-control-01/input/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/Open Notebook.onetoc2 differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/Open Notebook.onetoc2 differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/attachment.txt created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/attachment.txt differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.bmp created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.bmp differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.gif created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.gif differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.jpg created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.jpg differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.png created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.png differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.tiff created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/pattern.tiff differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/silence.wav created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/fixture-data/silence.wav differ |
corpus/m6/rust-collapse-control-01/input/notebook/fixture.json created+86| ... | ... | @@ -0,0 +1,86 @@ |
| 1 | { | |
| 2 | "sections": [ | |
| 3 | "Features.one", | |
| 4 | "Group A/Duplicate.one", | |
| 5 | "Group B/Nested/Duplicate.one", | |
| 6 | "Empty.one" | |
| 7 | ], | |
| 8 | "pages": [ | |
| 9 | { | |
| 10 | "section": "Features.one", | |
| 11 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image png</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern png\" hyperlink=\"https://example.invalid/image/png\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image></one:Page>" | |
| 12 | }, | |
| 13 | { | |
| 14 | "section": "Features.one", | |
| 15 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image jpg</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern jpg\" hyperlink=\"https://example.invalid/image/jpg\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.jpg\"/></one:Image></one:Page>" | |
| 16 | }, | |
| 17 | { | |
| 18 | "section": "Features.one", | |
| 19 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image bmp</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern bmp\" hyperlink=\"https://example.invalid/image/bmp\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.bmp\"/></one:Image></one:Page>" | |
| 20 | }, | |
| 21 | { | |
| 22 | "section": "Features.one", | |
| 23 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image tiff</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern tiff\" hyperlink=\"https://example.invalid/image/tiff\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.tiff\"/></one:Image></one:Page>" | |
| 24 | }, | |
| 25 | { | |
| 26 | "section": "Features.one", | |
| 27 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image gif</one:T></one:OE></one:Title><one:Image format=\"auto\" alt=\"Pattern gif\" hyperlink=\"https://example.invalid/image/gif\"><one:Position x=\"72\" y=\"108\"/><one:Size width=\"144\" height=\"48\"/><one:File path=\"__ASSETS__\\pattern.gif\"/></one:Image></one:Page>" | |
| 28 | }, | |
| 29 | { | |
| 30 | "section": "Features.one", | |
| 31 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 32 | }, | |
| 33 | { | |
| 34 | "section": "Features.one", | |
| 35 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=false</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"false\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 36 | }, | |
| 37 | { | |
| 38 | "section": "Features.one", | |
| 39 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=false, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"false\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 40 | }, | |
| 41 | { | |
| 42 | "section": "Features.one", | |
| 43 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Image role background=true, printout=true</one:T></one:OE></one:Title><one:Image format=\"auto\" backgroundImage=\"true\" isPrintOut=\"true\" originalPageNumber=\"2\" alt=\"Role pattern\"><one:Position x=\"36\" y=\"36\"/><one:Size width=\"288\" height=\"192\"/><one:File path=\"__ASSETS__\\pattern.png\"/></one:Image><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Foreground role control</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 44 | }, | |
| 45 | { | |
| 46 | "section": "Features.one", | |
| 47 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Files and recording</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:InsertedFile pathSource=\"__ASSETS__\\attachment.txt\" preferredName=\"Fictitious attachment.txt\"/></one:OE><one:OE><one:MediaFile pathSource=\"__ASSETS__\\silence.wav\" preferredName=\"silence.wav\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex=\"500\"><one:MediaReference mediaID=\"{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}\"/></one:MediaIndex><one:T>Recording annotation</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 48 | }, | |
| 49 | { | |
| 50 | "section": "Features.one", | |
| 51 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:QuickStyleDef index=\"0\" name=\"Fixture style\" font=\"Calibri\" fontSize=\"14\" strikethrough=\"true\" spaceBefore=\"0.25\" spaceAfter=\"0.125\"/><one:Title><one:OE><one:T>Paragraph controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE quickStyleIndex=\"0\"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment=\"center\" spaceBefore=\"12\" spaceAfter=\"6\"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL=\"true\" alignment=\"right\"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed=\"true\"><one:T>Collapsed parent</one:T><one:OEChildren indent=\"2\"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 52 | }, | |
| 53 | { | |
| 54 | "section": "Features.one", | |
| 55 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Numbering controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"0\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 0, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"1\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 1, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"2\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 2, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"3\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 3, item 1</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" restartNumberingAt=\"3\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 0</one:T></one:OE><one:OE><one:List><one:Number numberSequence=\"4\" numberFormat=\"##\" font=\"Calibri\"/></one:List><one:T>Sequence 4, item 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 56 | }, | |
| 57 | { | |
| 58 | "section": "Features.one", | |
| 59 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" ><one:Title><one:OE><one:T>Task controls</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:OutlookTask guidTask=\"{45AF40E3-1D54-463C-90D3-C454F2F71A2E}\" completed=\"false\" disabled=\"true\" creationDate=\"2020-01-02T03:04:05Z\" startDate=\"2020-01-02T00:00:00Z\" dueDate=\"2020-01-03T00:00:00Z\"/><one:T>Disabled standalone task</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 60 | }, | |
| 61 | { | |
| 62 | "section": "Group A/Duplicate.one", | |
| 63 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 64 | }, | |
| 65 | { | |
| 66 | "section": "Group A/Duplicate.one", | |
| 67 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 68 | }, | |
| 69 | { | |
| 70 | "section": "Group A/Duplicate.one", | |
| 71 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group A/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 72 | }, | |
| 73 | { | |
| 74 | "section": "Group B/Nested/Duplicate.one", | |
| 75 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"1\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 1</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 76 | }, | |
| 77 | { | |
| 78 | "section": "Group B/Nested/Duplicate.one", | |
| 79 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"2\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 2</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 80 | }, | |
| 81 | { | |
| 82 | "section": "Group B/Nested/Duplicate.one", | |
| 83 | "xml": "<one:Page xmlns:one=\"http://schemas.microsoft.com/office/onenote/2010/onenote\" pageLevel=\"3\"><one:Title><one:OE><one:T>Repeated title</one:T></one:OE></one:Title><one:Outline><one:Position x=\"72\" y=\"108\"/><one:Size width=\"480\" height=\"400\"/><one:OEChildren><one:OE><one:T>Group path Group B/Nested/Duplicate.one, level 3</one:T></one:OE></one:OEChildren></one:Outline></one:Page>" | |
| 84 | } | |
| 85 | ] | |
| 86 | } | |
| \ No newline at end of file |
corpus/m6/rust-collapse-control-01/input/notebook/synthetic.one created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/input/notebook/synthetic.one differ |
corpus/m6/rust-collapse-control-01/machine.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"name": "m6-2129feca", "hostname": "ONE-M6-2129FECA"} |
corpus/m6/rust-collapse-control-01/pdf-format-checks.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | [] | |
| \ No newline at end of file |
corpus/m6/rust-collapse-control-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2.attachment differ |
corpus/m6/rust-collapse-control-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9.attachment differ |
corpus/m6/rust-collapse-control-01/read/environment.json created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | { | |
| 2 | "powershell": "5.1.14409.1005", | |
| 3 | "schema": "xs2010", | |
| 4 | "hostname": "ONE-M6-2129FECA", | |
| 5 | "cold": true, | |
| 6 | "onenote": "14.0.4763.1000" | |
| 7 | } |
corpus/m6/rust-collapse-control-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{7FF805BD-2ECA-45DE-875B-6380126B89EB}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-06T06:06:55.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{9826F1B9-3F44-055D-00C4-70A8B70899BB}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-06T06:06:43.000Z" color="#8AA8E4"><one:Page ID="{F7A8EC8B-3D59-06AD-2499-50E24986D032}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:06:43.000Z" pageLevel="1"/></one:Section><one:Section name="Features" ID="{E8193ADC-B8E0-0E18-0025-6088806D2597}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Features.one" lastModifiedTime="2026-09-06T06:06:45.000Z" color="#91BAAE" isCurrentlyViewed="true"><one:Page ID="{EBD20CA0-3BB8-0AE2-1F39-B708FDC47187}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{891D327E-04B3-0504-15A4-694AD24A755C}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{202FE174-3D17-0B20-3B03-81A42F30AAED}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{8F5694D0-BF6A-01E7-04F4-6DA12605435E}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{46989F11-78CD-0EE7-3DCF-BCB77E542B8A}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{42539E69-EF96-055C-1596-8E9D9557953F}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{95626B46-B586-0D38-32A7-F99FCDA6714C}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{029DEFC9-D31C-0143-3797-229050892478}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"/><one:Page ID="{50B6BBFF-A1C0-0E31-2263-9098DAA8E147}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1"/><one:Page ID="{F8B18912-24AC-0DDE-3A3C-8F1CA984DD2B}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" isCurrentlyViewed="true"/><one:Page ID="{1C0057FB-F4C7-05C8-21C1-BCA3EEC3EB79}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1"/><one:Page ID="{38D761EE-7BB4-07D9-0DCA-97FEB15C623C}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1"/><one:Page ID="{C0E8B161-0216-0E28-1DAF-5245DA57E02A}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1"/></one:Section><one:Section name="Empty" ID="{59C00A11-027A-082F-0325-5D2D101420B0}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Empty.one" lastModifiedTime="2026-09-06T06:06:49.000Z" color="#9BBBD2"/><one:SectionGroup name="fixture-data" ID="{DBE6BA9C-E2FD-4BDB-AE3A-21057C5045D6}{1}{B0}" path="C:\one-tests\runs\capture\notebook\fixture-data" lastModifiedTime="2026-09-06T06:06:55.000Z"/><one:SectionGroup name="Group A" ID="{EB904F2F-0519-4126-81B9-74A5CFD9E7F6}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A" lastModifiedTime="2026-09-06T06:06:47.000Z"><one:Section name="Duplicate" ID="{8C6C6689-1064-082F-09D7-B9668135D768}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group A\Duplicate.one" lastModifiedTime="2026-09-06T06:06:47.000Z" color="#F6B078"><one:Page ID="{430911FD-2FE1-03BB-0151-B80066D42D89}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:46.000Z" pageLevel="1"/><one:Page ID="{B4422B9A-ADD9-0260-110A-EE08D0CC8569}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:46.000Z" pageLevel="2"/><one:Page ID="{8C1EAC79-68AB-0A5D-2828-A3A64B067A44}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:47.000Z" pageLevel="3"/></one:Section></one:SectionGroup><one:SectionGroup name="Group B" ID="{B449C55F-DE3A-4082-A756-580703279B6E}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B" lastModifiedTime="2026-09-06T06:06:48.000Z"><one:SectionGroup name="Nested" ID="{63B5C2AA-086E-481B-9B18-F92BC313AEFC}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested" lastModifiedTime="2026-09-06T06:06:48.000Z"><one:Section name="Duplicate" ID="{767FD809-56DE-0070-3659-78F3D3A98715}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Group B\Nested\Duplicate.one" lastModifiedTime="2026-09-06T06:06:48.000Z" color="#D5A4BB"><one:Page ID="{9F934F15-7A74-0C90-3CC2-A7D8175AF3B3}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="1"/><one:Page ID="{E587259B-4459-0CAB-210C-5A0DE85331B9}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="2"/><one:Page ID="{72E58750-0765-0CF1-3FA0-FF786780A22F}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="3"/></one:Section></one:SectionGroup></one:SectionGroup></one:Notebook> |
corpus/m6/rust-collapse-control-01/read/page-000.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-000.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-000.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{029DEFC9-D31C-0143-3797-229050892478}{1}{B0}" name="Image role background=false, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{67FD5EEB-E612-09FF-1421-7F0B3DE09D02}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{67FD5EEB-E612-09FF-1421-7F0B3DE09D02}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{67FD5EEB-E612-09FF-1421-7F0B3DE09D02}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{67FD5EEB-E612-09FF-1421-7F0B3DE09D02}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-001.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-001.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-001.xml created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1C0057FB-F4C7-05C8-21C1-BCA3EEC3EB79}{1}{B0}" name="Paragraph controls" dateTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:QuickStyleDef index="1" name="Fixture style" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="14.0" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Paragraph controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="480.0" height="114.517463684082"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{40}{B0}" alignment="left" spaceBefore="9.0" spaceAfter="4.5" quickStyleIndex="1"><one:T><![CDATA[<span | |
| 3 | style='text-decoration:line-through'>Inherited strike and spacing</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{47}{B0}" alignment="center" spaceBefore="12.0" spaceAfter="6.0" quickStyleIndex="0"><one:T><![CDATA[Centered paragraph]]></one:T></one:OE><one:OE RTL="true" creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{52}{B0}" alignment="right" quickStyleIndex="0" style="font-family:Arial;font-size:11.0pt;text-align:right"><one:T><![CDATA[<span | |
| 4 | style='direction:rtl;unicode-bidi:embed' lang=ar-SA>مرحبا بالعالم</span>]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{58}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Collapsed parent]]></one:T><one:OEChildren indent="2"><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{63}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Hidden child remains stored]]></one:T><one:OEChildren><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{68}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Grandchild]]></one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-06T02:25:48.000Z" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{59D679AE-B391-06B6-057C-67F3278C95F2}{73}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[AB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-002.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-002.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-002.xml created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{202FE174-3D17-0B20-3B03-81A42F30AAED}{1}{B0}" name="Image bmp" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T02:25:43.000Z" objectID="{716BA5DA-9413-0C77-20A2-92B2C1A825BC}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image bmp]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/bmp" alt="Pattern bmp" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{716BA5DA-9413-0C77-20A2-92B2C1A825BC}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAO | |
| 3 | xAAADsQBlSsOGwAAARlJREFUeF7t2VFHQ2EcBvD3PWetVqvVam1ERESMiIiIiL7/J5p9gD1dvF51 | |
| 4 | 8eNcn4uf53n2P1ZLKUOpnkMCtYx0kkAt00F8gkAtsxFQBJpPAEWgxRGgCLScAopAq2NAEWhzAigC | |
| 5 | 3c0ARaD7U0AR6OEMUAR6nAOKQE/ngCLQ8wWgCLRdAIpAL5eAItDrFaAI9LYEFIHerwFFoI8bQBHo | |
| 6 | cwUoAn3dAopA32tAEehnAygKjPu/xjyHBAY0WQDQL+0BBKhtYSVIgiSo6w+xiqmYiqnYX34J2SAb | |
| 7 | ZINskA1qa4EESZAEdW1B15e7g9xBbf2VIAmSICPtDmprgQRJkAR1bUHXl7uD3EFt/ZUgCZIgI+0O | |
| 8 | amuBBEnQP07QDo1OW207QPoWAAAAAElFTkSuQmCC | |
| 9 | </one:Data></one:Image></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-003.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-003.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-003.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{38D761EE-7BB4-07D9-0DCA-97FEB15C623C}{1}{B0}" name="Numbering controls" dateTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Numbering controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="125.0376281738281" height="137.070068359375"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{40}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" restartNumberingAt="3" font="Calibri" text="3"/></one:List><one:T><![CDATA[Sequence 0, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{46}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="0" numberFormat="##" font="Calibri" text="4"/></one:List><one:T><![CDATA[Sequence 0, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{52}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" restartNumberingAt="3" font="Calibri" text="III"/></one:List><one:T><![CDATA[Sequence 1, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{58}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="1" numberFormat="##" font="Calibri" text="IV"/></one:List><one:T><![CDATA[Sequence 1, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{64}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" restartNumberingAt="3" font="Calibri" text="iii"/></one:List><one:T><![CDATA[Sequence 2, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{70}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="2" numberFormat="##" font="Calibri" text="iv"/></one:List><one:T><![CDATA[Sequence 2, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{76}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" restartNumberingAt="3" font="Calibri" text="C"/></one:List><one:T><![CDATA[Sequence 3, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{82}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="3" numberFormat="##" font="Calibri" text="D"/></one:List><one:T><![CDATA[Sequence 3, item 1]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{88}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" restartNumberingAt="3" font="Calibri" text="c"/></one:List><one:T><![CDATA[Sequence 4, item 0]]></one:T></one:OE><one:OE creationTime="2026-09-06T02:25:49.000Z" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{7DEB8FAD-6D13-052C-3C85-B96DD1EA78EF}{94}{B0}" alignment="left" quickStyleIndex="0"><one:List><one:Number numberSequence="4" numberFormat="##" font="Calibri" text="d"/></one:List><one:T><![CDATA[Sequence 4, item 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-004.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-004.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-004.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{42539E69-EF96-055C-1596-8E9D9557953F}{1}{B0}" name="Image role background=false, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{7084D3AE-345C-0482-337B-ED3436C9458D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=false, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{7084D3AE-345C-0482-337B-ED3436C9458D}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{7084D3AE-345C-0482-337B-ED3436C9458D}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{7084D3AE-345C-0482-337B-ED3436C9458D}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-005.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-005.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-005.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{430911FD-2FE1-03BB-0151-B80066D42D89}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:46.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{C7B7174C-111F-04A7-1D5C-DA56EB330EC9}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{C7B7174C-111F-04A7-1D5C-DA56EB330EC9}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{C7B7174C-111F-04A7-1D5C-DA56EB330EC9}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-006.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-006.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-006.xml created+46| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{46989F11-78CD-0EE7-3DCF-BCB77E542B8A}{1}{B0}" name="Image gif" dateTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{3DCD9720-1EE7-0B14-2A69-288A8E63A2E9}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image gif]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/gif" alt="Pattern gif" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{3DCD9720-1EE7-0B14-2A69-288A8E63A2E9}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAMAAADS6oI8AAADAFBMVEW4t5mrt5O4qpWrqo6euo2S | |
| 3 | uoeZs4ieqoiSqoK4nJCrnIq4kIyrkIaen4SSn36ZmH+ekH+SkHmGuoGGs395t3pounJos3CGqnx5 | |
| 4 | qnVtqm9iqmqGnHd5nHGGkHN5kG1on2lomGdokGS4hIirhIK4d4Srd32eh3ySh3aZgHeed3eSd3G4 | |
| 5 | a4Cra3m4YHyrYHaea3OSa22eYG+SYGmGh3CGgG55hGloh2FogF+Gd2t5d2Rtd15id1mGa2d5a2CG | |
| 6 | YGN5YF1ta1pia1VoYFRWumlWs2dJt2I4ulo4s1hWqmRJql09qlcyqlImulEaukshs0wKukMKs0Em | |
| 7 | qkwaqkYPqkAEqjtWnF9JnFlWkFtJkFU4n1E4mE84kEwmn0gan0IhmEMmkEMakD0KnzoKmDgKkDVW | |
| 8 | h1hWgFZJhFE4h0k4gEdWd1NJd0w9d0Yyd0FWa09Ja0hWYEtJYEU9a0Iyaz04YDwmh0AahzohgDsK | |
| 9 | hzIKgDAmdzsadzUPdy8EdyomazcaazEmYDMaYC0PaysEayYKYCW4VHirVHK4R3SrR22eV2ySV2aZ | |
| 10 | UGeeR2eSR2G4O3CrO2m4MGyrMGaeO2OSO12eMF+SMFmGV2CGUF55VFloV1FoUE+GR1t5R1RtR05i | |
| 11 | R0mGO1d5O1CGMFN5ME1tO0piO0VoMES4JGirJGK4GGSrGF6eJ1ySJ1aZIFeeGFeSGFG4DmGrDlq4 | |
| 12 | A12rA1eeDlSSDk6eA1CSA0qGJE95JEmGGEt5GEVoJ0FoID9oGDyGDkh5DkGGA0R5Az5tDjtiDjZo | |
| 13 | AzVWVEdJVEE4Vzk4UDdWR0NJRzw9RzYyRzFWOz9JOzhWMDtJMDU9OzIyOy04MCwmVzAaVyohUCsK | |
| 14 | VyIKUCAmRysaRyUPRx8ERxomOycaOyEmMCMaMB0POxsEOxYKMBVWJDdJJDFWGDNJGC04Jyk4ICc4 | |
| 15 | GCRWDjBJDilWAyxJAyY9DiMyDh44Ax0mJyAaJxohIBsmGBsaGBUKJxIKIBAKGA0mDhgaDhImAxQa | |
| 16 | Aw4PDgwEDgcKAwZYdbPqAAAAAWJLR0QAiAUdSAAAAAxjbVBQSkNtcDA3MTIAAAADSABzvAAABjJJ | |
| 17 | REFUWEedkImbTgUcha9ChZl2RUKR0TKTtGiRsZUSEpI0tKm0GoW0WSOjMmNpL82oFG1apJJltNDC | |
| 18 | KKRNURRZytZqRr9zzl2+79779Ty+9w943+ccZ7fPLvGv+N1js9jk8r7HfDFPzCRvktfIDOGEA64/ | |
| 19 | rYD8oUCFVyhPGuAHtqRYUJq0IHFAOFBh7C4Hu/4B//4NfgO/bwGbN4JNm34FC8D7pWD+XDBv3hww | |
| 20 | 8w3w5uvgtVfBjBmvAAf+CvrL6f+HfgXo30L/RurdAP2l9M+lfs4c+t+g/3X6X6U+JiB/egH54wJ/ | |
| 21 | xQ74bUNkAR9a8F5kQeKAaOAvUr5T7CB20Aay5WexTkBPSt8Rb4uXyUvkBfK8cCqkNxL9O3ZIbyQH | |
| 22 | 1klvxATkDwVC/p3btcAPrE8RmJ0U0IAX4wJ/+mDBdoLAeg8E1q5da/f8BGZ7IDBr1iy75y0DeqIB | |
| 23 | U6dOtXueM5wgsM1QYKvhB0wOaE8MmBzAbkyfPl2BadOmmd2A3Qv8QRBAAXoGfiHRwLskEkDB9OGA | |
| 24 | 5H5gm/Rbt8oeDcgeDtgAg/qUAQ7YliJQVoZ7lhjJgZIS/FNcHAkUFeGfwsJC50efH8T34guPMgE5 | |
| 25 | eNajRBSLSWQiKSImB5GA608rIH8osMZbsDppgB9YmmLBlKQFiQPCgTXGj6vBD6vA99+Bz8EXS0HZ | |
| 26 | YrBkyWfgGfDsFFDyNCgungwmTQATx4OicaCw8EHgwL+G/tX0r6JfAfqX0r+YejdA/xT6n6Z+8mT6 | |
| 27 | J9A/nv5x1McE5E8vIH/KQGRAzAI+9Ex0QeKAUOBb8g34mnxFPiWfgI/FIvIUeRI8IR4nD5D7yX1i | |
| 28 | NHECfzRAvxuQXwH63YD8MQH5owEN0II9DWiAuyAxsHJl8NCKFb5/4cLIAg547LHIAj00dmx8YCXh | |
| 29 | QysEBywkuOhDY9GiDwD9ABc9YjwsqCcYMMoYPfpe4HwrvbHckH+ZIb0Bu0G9Ib0BexAoKCiQf8yY | |
| 30 | MdCPGkW9BaD+kiCAAvQMfESigUeJH3gIWAAF04cDkvuB5dIvWyZ7NCB7EKBegQLqUwY4YHmKQH4+ | |
| 31 | 7ulnJAdycxP8iYGcHPyTnZ3tjPQZJoaK2zzyBeSgtUeuaCGakpNIDjE5iARcf1oB+UOBEd6C4UkD | |
| 32 | /ED/FAtaJi1IHBAOjDBGDgfDhoCh94BbwW39Qf4toF+/m0Er0LolyD0btGjRHDRtAk46EeScALKz | |
| 33 | jwcO/CPoH07/EPoVoL8//bdQ7wbob0n/2dQ3b05/E/pPpP8E6mMC8qcXkD9lIDIgZgEfahVdkDgg | |
| 34 | FLib3AXuJHeQm8iN4AZxPTmLnAnOEKeT48ix5BjRkDiBPxqg3w3IrwD9bkD+mID80YAGaMGeBjTA | |
| 35 | XZAYGDw4eGjQIN/ft29kAQc0axZZoIcaN44PDCZ8aJDggL4EF11rXCPoB7joVOMUQT3BgAZGw4ZH | |
| 36 | A+du6Y2BhvwDDOkN2IPANdIbsAeBrKws+Rs1agR9gwbUWwDq2wkCKEDPwHXED/Qhpj6N+IGTgQVQ | |
| 37 | MH04ILkfGCj9gAGyBwHp+/SRPQhQr0AW9SkDHDAwRaBHj/hA3boJ/sRAjRr4p3r16s7VPleIy8Vl | |
| 38 | Hj3EJS5HedQVR4oDyQGkBjE5iARcf1oB+VMF3AG9Qwt6plhQP2mBBuwfF7jKB4XeBI2eHgh0797d | |
| 39 | HroY1PdAoE6dOnbPEQb0RAOqVatm9+xnOEGgl6FAnuEHTA5oTwyYHMBuZGZmKpCRkWF2A3YvcCVB | |
| 40 | AAXoGbiURAP1SCSAgunDAcn9QC/p8/JkjwZkDwdsgEF9ONDN83flgkigffuki2p7/lq1Ei/6v0A3 | |
| 41 | 48quoFcXkHcRuABc2h6cL84jtUG9WuBwcRjJ3Bdk7AP2FnsRB/5u9Helvwv9CtDvBuRXgH43IP9h | |
| 42 | 9O9LvxuQPxqQP72A/DGBzp2DAZ06+f527SILOKBmzcgCDahaNT7QmfChToID2hFcdI7RVtAPcNEh | |
| 43 | xsGCeoIBlQx7h3ST3uhoyN/BkN6APQi0ld6APQhUqVJF/sqVK0NfqZL0jgP1hQQBFKBn4FziB9oQ | |
| 44 | Ux9K/MBBwAIomD4ckNwPdJS+QwfZg4D0bdrIHgSoV6AK9SkDHNAxzQD9sYH/AHAD8Cry1R2MAAAA | |
| 45 | AElFTkSuQmCC | |
| 46 | </one:Data></one:Image></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-007.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-007.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-007.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{50B6BBFF-A1C0-0E31-2263-9098DAA8E147}{1}{B0}" name="Image role background=true, printout=true" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{BF7907BA-9193-043C-037B-89EAC9098E80}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=true]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" isPrintOut="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:48.000Z" objectID="{BF7907BA-9193-043C-037B-89EAC9098E80}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{BF7907BA-9193-043C-037B-89EAC9098E80}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{BF7907BA-9193-043C-037B-89EAC9098E80}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-008.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-008.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-008.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{72E58750-0765-0CF1-3FA0-FF786780A22F}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{81667D82-EFF7-011F-3A9C-7480685ED1AA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{81667D82-EFF7-011F-3A9C-7480685ED1AA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{81667D82-EFF7-011F-3A9C-7480685ED1AA}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-009.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-009.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-009.xml created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{891D327E-04B3-0504-15A4-694AD24A755C}{1}{B0}" name="Image jpg" dateTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{57209451-F36E-0DE1-2BD7-FB8E1A042EAD}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image jpg]]></one:T></one:OE></one:Title><one:Image format="jpg" hyperlink="https://example.invalid/image/jpg" alt="Pattern jpg" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{57209451-F36E-0DE1-2BD7-FB8E1A042EAD}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a | |
| 3 | HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy | |
| 4 | MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAGADASIA | |
| 5 | AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA | |
| 6 | AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 | |
| 7 | ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm | |
| 8 | p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA | |
| 9 | AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx | |
| 10 | BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK | |
| 11 | U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 | |
| 12 | uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDwhYfa | |
| 13 | plh9qsrD7VMsPtUqRFOqVVh9qmWH2qysPtUyw+1UpHbTqlZYfaplh9qsrD7VMsPtVqR206pVWGpl | |
| 14 | h9qsrDUyw+1UpHbTqlZYalWH2q0sNSrD7VSkdtOqVlh9qmWH2qysPtUyw+1UpHdTqnHrD7VMsPtV | |
| 15 | lYfaplh9q81SPyqnVKqw+1TLD7VZWH2qZYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adUqrDUyw+1 | |
| 16 | WVhqZYfarUjtp1SssNSrD7VaWGpVh9qpSO2nVKyw+1TLD7VZWH2qZYfaqUjup1Tj1h9qmWH2qysP | |
| 17 | tUyw+1eapH5VTqlVYfaplh9qsrD7VMsPtVKR206pWWH2qZYfarKw+1TLD7VSkdtOqVVhqZYfarKw | |
| 18 | 1MsPtVqR206pWWGpVh9qtLDUqw+1UpHbTqlZYfaplh9qsrD7VMsPtVKR206px6w+1TLD7VZWH2qZ | |
| 19 | YfavNUj8rp1SqsPtUyw+1WVh9qmWH2qlI7adUrLD7VMsPtVlYfaplh9qpSO2nVKqw1MsPtVlYamW | |
| 20 | H2q1I7adUrLDUqw+1WlhqVYfaqUjtp1SssPtUyw+1WVh9qmWH2qlI7adU//Z | |
| 21 | </one:Data></one:Image></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-010.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-010.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-010.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8C1EAC79-68AB-0A5D-2828-A3A64B067A44}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:47.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{2A1D5E1A-2BC7-04F7-170E-ECA792BDFAE7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{2A1D5E1A-2BC7-04F7-170E-ECA792BDFAE7}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{2A1D5E1A-2BC7-04F7-170E-ECA792BDFAE7}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 3]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-011.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-011.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-011.xml created+300| ... | ... | @@ -0,0 +1,300 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8F5694D0-BF6A-01E7-04F4-6DA12605435E}{1}{B0}" name="Image tiff" dateTime="2026-09-06T02:25:43.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:44.000Z" lastModifiedTime="2026-09-06T02:25:44.000Z" objectID="{CCD662AF-902E-0DF8-3EAA-6192FFDAE59B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image tiff]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/tiff" alt="Pattern tiff" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:45.000Z" objectID="{CCD662AF-902E-0DF8-3EAA-6192FFDAE59B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAAXNSR0IArs4c6QAAAARnQU1BAACx | |
| 3 | jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAEImSURBVHheDbiBV2GL+v+/f9V1q+uk46TjpDFp | |
| 4 | TBqDMUhoh3Zoh3Zoh3Zoh3YYgzE0Jo1J46TjpOOk61Yf32pZ1bKqZVXLqpZV/W2/8y8863nez/v1 | |
| 5 | AgAAaAL+vxagiQQ0twIt7cC/yACpA/h3J9BKBdq6gPZu4D90gNwD/NQLdDABSh/Q2Q/8zAaoA8Av | |
| 6 | g0AXF6DxgG4B8KsQoIuA3yRAjxRgyIBeBfACBJhK4KUa6IMAlgbo1wGvYICtB14bgQEE4JiAQQvw | |
| 7 | BgW4VuCtHeBhAN8BCFzAOxwQuoH3XkBEAGIfIAkAQ0FAGgKGI4AsCshjgGIFGEkA4CowugYoU4Bq | |
| 8 | HVBvAGMZANoExrcATQ7QbgO6HWCiAMC7wOQeoC8Bhn3AeAhMlQHkCJg+AUwVwHwKWM6BmSqAXgCz | |
| 9 | V4C1BtiuAfstMFcHsDtg/gFwNADnI+B6BhYAoPn/a2puamluJjW3tDb/q72ZRG7+d0dza2dzG7W5 | |
| 10 | vav5P93NZHrzTz3NHb3NFGZzZ1/zz/3NVHbzLwPNXYPNNG5zN6/5V0EzXdj8m6i5R9LMkDb3yppf | |
| 11 | KJqZYPNLZXOfupkFNfdrml/pmtlw82t984CxmYM0D5qa31iauWjzW2szz97Mx5oFjuZ3rmYh3vze | |
| 12 | 3SzyNouJZomveSjQLA02D4eaZZFmebRZEWseWWkGE82jq83KtWZVqlm93jy20Qxlmsc3mzVbzdpc | |
| 13 | s267eWKnGS40T+426/eaDaVm437z1GEzUm6ePmo2nTSbK82W0+aZ82a02jx70Wy9arbVmu3XzXO3 | |
| 14 | zVi9ef6u2fHQ7Gw0ux6bF56bcQAgNTX9MxtSC4n0r1YSqZ30bzKptYPU1klqp5L+00Uid5N+opM6 | |
| 15 | ekiUXlInk/RzH4naT/qFTeoaINEGSd1c0q88El1A+k1I6hGRGBJSr5T0QkZiKkgvQVKfksRSk/oh | |
| 16 | 0isNia0jvYZJA3oSx0gaREhvTCSuhfQWJfGsJL6dJMBI7xwkoYv0HieJ3CSxlyQhSEM+kjRAGg6S | |
| 17 | ZCGSPEJSREkjMRK4QhpNkJSrJNUaSZ0ija2ToA3SeIak2SRpt0i6HGlimwTvkCYLJP0uybBHMpZI | |
| 18 | U/sk5JA0XSaZjkjmE5KlQpo5JaHnpNkqyXpBsl2R7DXS3DUJuyXN10mOO5LzgeRqkBYeSfgzaREA | |
| 19 | 2pqb2lpa2v5FaiO1tv27va2V3NbW0dbe2fYfahu5q+2n7rYOehulp62zt+1nZhu1r+2X/rYudhtt | |
| 20 | oK17sO1Xbhud1/aboK1H2MYQtfVK2l5I25iytpeKtj6wjaVs61e3vYLa2Jq217q2AbiNo28bNLa9 | |
| 21 | Qdq4pra3ljYe2sa3tgnsbe+wNqGj7b2rTYS3id1tEm/bENEm9bUNB9pkwTZ5qE0RaRuJtoGxttGV | |
| 22 | NmWiTbXapl5rG0u1Qett4xttmkybdrNNt9U2kWuDt9smd9r0hTbDbptxr22q1Ibst00ftpnKbeaj | |
| 23 | NstJ20ylDT1tmz1vs1bbbBdt9qu2uVobdt02f9vmqLc579pcD20LjTb8sW3xuc0NAOSWJvK/Wsgk | |
| 24 | EvnfreTWdnIbmdzeQf5PJ5lMJf/URe7oJlPo5M4e8s+9ZCqT/EsfuaufTGOTuwfIvw6S6Vzybzxy | |
| 25 | j4DMEJJ7ReQXEjJTSn4pI/cpyCyQ3K8kv1KT2RD5tYY8oCNzYPKgnvzGSOYi5LcmMs9C5qNkgZX8 | |
| 26 | zk4WYuT3DrLIRRbjZImbPOQlSwnysI8sC5DlQbIiRB6JkMEoeTRGVq6QVQmyepU8tkaGUuTxdbJm | |
| 27 | g6zNkHWb5IktMpwjT26T9TtkQ4Fs3CVP7ZGREnl6n2w6JJvLZMsReeaEjFbIs6dk6znZViXbL8hz | |
| 28 | V2SsRp6/Jjtuyc462XVHXngg4w3y4iPZ/Uz2AADlX00UUgvl3yRKayulrZ3STqb8p4NC7qT8RKV0 | |
| 29 | dFEo3ZROOuXnHgq1l/ILk9LVR6H1U7rZlF8HKPRBym9cSg+PwhBQeoWUFyIKU0J5KaX0ySgsBaUf | |
| 30 | pLxSUthqymuIMqChcHSUQZjyRk/hGilvEQrPROFbKAKU8s5KEdop7zGKyEERuygSnDLkpki9lGGC | |
| 31 | IvNR5AGKIkgZCVHACGU0SlHGKKoVijpBGVulQGuU8RRFs07RblB0GcrEJgXeokzmKPptimGHYixQ | |
| 32 | pnYpyB5lukQx7VPMhxRLmTJzREFPKLMVivWUYjun2KuUuQsKdkWZr1Ec1xTnLcVVpyzcUfAHymKD | |
| 33 | 4n6keJ4pXgCgkpqo/26htpKoba3U9nbqf/7ZnA7qT53UDiqV0kXt7Kb+TKdSe6i/9FK7mFRaH7W7 | |
| 34 | n/orm0ofoP42SO3hUhk8aq+A+kJIZYqoLyXUPimVJaP2K6ivQCpbSX2tpg5AVI6GOqijvoGpXD31 | |
| 35 | rZHKQ6h8E1Vgob5DqUIr9b2dKsKoYgdV4qIO4VSpmzrspcoIqtxHVQSoI0EqGKKORqjKKFUVo6pX | |
| 36 | qGMJKrRKHV+jalJU7TpVt0GdyFDhTerkFlWfoxq2qcYd6lSBiuxSp/eophLVvE+1HFJnylT0iDp7 | |
| 37 | QrVWqLZTqv2cOlelYhfU+Suqo0Z1XlNdt9SFOhW/oy4+UN0NqueR6n2mLgEA7d9NtNYWWhuJ1t5K | |
| 38 | +087jUym/dRB6+ikUai0zi7az900Kp32Sw+tq5dGY9K6+2i/9tPobNpvA7SeQRqDS+vl0V4IaEwh | |
| 39 | 7aWI1iehsaS0fhntlYLGBmmvlbQBNY0D0QY1tDc6GhemvdXTeEYaH6EJTLR3FpoQpb230kR2mhij | |
| 40 | SRy0IRdNitOG3TSZlyYnaAofbSRAA4O00RBNGaGpojR1jDa2QoMStPFVmmaNpk3RdOu0iQ0anKFN | |
| 41 | btL0WzRDjmbcpk3t0JACbXqXZtqjmUs0yz5t5pCGlmmzRzTrCc1WodlPaXPnNKxKm7+gOa5ozhrN | |
| 42 | dU1buKXhddriHc39QPM0aN5H2tIzjQAAemsTva2F3k6i/6eVTm6n/0Smd3TQ/7mrTir95y46tZv+ | |
| 43 | C53e1UOn9dK7mfRf++j0fvpvbHrPAJ0xSO/l0l/w6EwB/aWQ3ieisyT0fin9lYzOVtBfg/QBJZ2j | |
| 44 | pg9C9DcaOldHfwvTeXo630gXIPR3JrrQQn+P0kVWuthOl2D0IQdd6qIP43SZmy730hUEfcRHBwP0 | |
| 45 | 0SBdGaKrInR1lD4Wo0Mr9PEEXbNK167RdSn6xDod3qBPZuj6Tbphi27M0ae26cgOfbpAN+3SzXt0 | |
| 46 | S4k+s09HD+mzZbr1iG47odsr9LlTOnZOn6/SHRd05xXdVaMvXNPxW/pine6+o3se6N4GfemRTjzT | |
| 47 | lwGA0dbEaG9h/IfEILcyfmpndJAZlA5GZyfjZyqD2sX4pZvRRWfQehjdvYxfmQx6H+O3fkYPm8EY | |
| 48 | YPQOMl5wGUwe46WA0SdksESMfgnjlZTBljFeKxgDIIOjZAyqGW8gBlfDeKtj8GAGX88QGBnvEIbQ | |
| 49 | xHhvYYhQhtjKkNgZQxhD6mAMuxgynCF3MxRexgjBAH2M0QBDGWSoQgx1hDEWZUAxxvgKQ5NgaFcZ | |
| 50 | ujXGRIoBrzMmNxj6DMOwyTBuMaZyDGSbMb3DMBUY5l2GZY8xU2Kg+4zZQ4a1zLAdMewnjLkKAztl | |
| 51 | zJ8zHFWG84LhumIs1Bj4NWPxluGuMzx3DO8DY6nBIB4Zy88MHwAw25uY/2lhkknMn1qZHe1MCpnZ | |
| 52 | 2cH8uZNJpTJ/6WJ2dTNpdGZ3D/PXXiadyfytj9nTz2Swmb0DzBeDTCaX+ZLH7BMwWUJmv4j5SsJk | |
| 53 | S5mvZcwBBZMDMgeVzDdqJhdivtUweTomH2YK9Mx3RqYQYb43MUUWphhlSqzMITtTijGHHUyZiynH | |
| 54 | mQo3c8TLBAnmqI+pDDBVQaY6xByLMKEoczzG1KwwtQmmbpU5scaEU8zJdaZ+g2nIMI2bzKktJpJj | |
| 55 | Tm8zTTtMc4Fp2WXO7DHREnN2n2k9ZNrKTPsRc+6EiVWY86dMxznTWWW6LpgLV0y8xly8ZrpvmZ46 | |
| 56 | 03vHXHpgEg3m8iPT98z0AwDrP00scgvrJxKro5VFaWd1klk/d7ConaxfqKyuLhatm9VNZ/3aw6L3 | |
| 57 | sn5jsnr6WIx+Vi+b9WKAxRxkveSy+ngsloDVL2S9ErHYEtZrKWtAxuIoWIMg642SxVWz3kIsnobF | |
| 58 | 17EEMOudniU0st4jLJGJJbawJChryMqS2lnDGEvmYMldLAXOGnGzQC9rlGApfSxVgKUOssZCLCjC | |
| 59 | Go+yNDGWdoWlS7AmVlnwGmsyxdKvswwbLGOGNbXJQrZY0zmWaZtl3mFZCqyZXRa6x5otsaz7LNsh | |
| 60 | y15mzR2xsBPWfIXlOGU5z1muKmvhgoVfsRZrLPc1y3PL8tZZS3cs4oG13GD5Hln+Z1YAANjkJvZP | |
| 61 | LewOEpvSyu5sZ/9MZlM72L90sruobFoXu7ub/Sv9n8hh/9bL7mGyGX3s3n72CzabOcB+Ocju47JZ | |
| 62 | PHa/gP1KyGaL2K8l7AEpmyNjDyrYb0A2V8l+q2bzIDZfwxbo2O9gtlDPfm9kixC22MSWWNhDKFtq | |
| 63 | ZQ/b2TKMLXewFS72CM4G3exRL1tJsFU+tjrAHguyoRB7PMLWRNnaGFu3wp5IsOFV9uQaW59iG9bZ | |
| 64 | xg32VIaNbLKnt9imHNu8zbbssGcKbHSXPbvHtpbYtn22/ZA9V2ZjR+z5E7ajwnaesl3n7IUqG79g | |
| 65 | L16x3TW255rtvWUv1dnEHXv5ge1rsP2P7MAz+wMAcH5q4nS0cCgkTmcr5+d2DpXM+aWD09XJoVE5 | |
| 66 | 3V2cX7s5dDrntx5OTy+HweT09nFe9HOYbM7LAU7fIIfF5fTzOK8EHLaQ81rEGZBwOFLOoIzzRsHh | |
| 67 | gpy3Sg5PzeFDHIGG807HEcKc93qOyMgRIxyJiTNk4UhRzrCVI7Nz5BhH4eCMuDggzhl1c5Rejorg | |
| 68 | qH2csQAHCnLGQxxNhKONcnQxzsQKB05wJlc5+jWOIcUxrnOmNjhIhjO9yTFtccw5jmWbM7PDQQuc | |
| 69 | 2V2OdY9jK3Hs+5y5Qw5W5swfcRwnHGeF4zrlLJxz8Cpn8YLjvuJ4ahzvNWfplkPUOct3HN8Dx9/g | |
| 70 | BB45H545QQDgdjRxKS3cThL351YutZ37C5nb1cGldXK7qdxfu7j0bu5vdG5PD5fRy+1lcl/0cZn9 | |
| 71 | 3Jdsbt8AlzXI7edyX/G4bAH3tZA7IOJyJNxBKfeNjMtVcN+CXJ6Sy1dzBRD3nYYr1HHfw1yRnis2 | |
| 72 | ciUId8jElVq4wyhXZuXK7VwFxh1xcEEXdxTnKt1clZerJrhjPi4U4I4HuZoQVxvh6qLciRgXXuFO | |
| 73 | Jrj6Va5hjWtMcafWucgGdzrDNW1yzVtcS447s81Fd7izBa51l2vb49pL3Ll9LnbInS9zHUdc5wnX | |
| 74 | VeEunHLxc+5ileu+4HquuN4ad+maS9xyl+tc3x3X/8ANNLgfHrnBZ+5HAOBTmvidLfyfSXxqK/+X | |
| 75 | dn4XmU/r4Hd38n+l8uld/N+6+T10PqOH39vLf8HkM/v4L/v5fWw+a4DfP8h/xeWzefzXAv6AkM8R | |
| 76 | 8Qcl/DdSPlfGf6vg80A+X8kXqPnvIL5Qw3+v44tgvljPlxj5QwhfauIPW/gylC+38hV2/gjGBx38 | |
| 77 | URdfifNVbr7ayx8j+JCPPx7ga4J8bYivi/Anonw4xp9c4esTfMMq37jGn0rxkXX+9AbflOGbN/mW | |
| 78 | Lf5Mjo9u82d3+NYC37bLt+/x50p8bJ8/f8h3lPnOI77rhL9Q4eOn/MVzvrvK91zwvVf8pRqfuOYv | |
| 79 | 3/J9db7/jh944H9o8IOP/I/P/BAACDubhD+3CKkk4S+twq52IY0s7O4Q/toppFOFv3UJe7qFDLqw | |
| 80 | t0f4olfIZApf9gn7/glktrB/QPhqUMjmCl/zhAMCIUcoHBQJ30iEXKnwrUzIUwj5oFCgFL5TC4WQ | |
| 81 | 8L1GKNIJxbBQohcOGYVSRDhsEsosQjkqVFiFI3YhiAlHHUKlS6jChWq3cMwrhAjhuE+oCQi1QaEu | |
| 82 | JJyICOGocDIm1K8IDQmhcVU4tSZEUsLpdaFpQ2jOCC2bwpktIZoTzm4LrTtCW0Fo3xXO7QmxknB+ | |
| 83 | X+g4FDrLQteRcOFEiFeEi6dC97nQUxV6L4RLV0KiJly+Fvpuhf66MHAn/PAgDDaEHx+FoWdhGADE | |
| 84 | PzeJqS3iX0jirlYxrV3cTRb/2iGmd4p/o4p7usSMbnEvXfyiR8zsFb9kivv6xKx+cT9b/GpAzB4U | |
| 85 | v+aKB3hijkA8KBS/EYm5EvFbqZgnE/MVYgEofqcUC9Xi95BYpBGLdWIJLB7Si6VG8TAilpnEcotY | |
| 86 | gYpHrGLQLh7FxEqHWOUSq3HxmFsMecXjhFjjE2sDYl1QPBESwxHxZFSsj4kNK2JjQjy1KkbWxNMp | |
| 87 | sWldbN4QWzLimU0xuiWezYmt22LbjtheEM/tirE98XxJ7NgXOw/FrrJ44UiMn4gXK2L3qdhzLvZW | |
| 88 | xUsXYuJKvFwT+67F/ltxoC7+cCcOPog/NsShR3H4WRwBACm1SfpLi7SLJKW1Srvbpb+SpfQO6W+d | |
| 89 | 0h6qlNEl7e2WvqBLmT3Sl73SPqaU1Sft75e+Ykv/eVevB6UDXCmHJx0USN8IpVyR9K1EypNK+TKp | |
| 90 | QCF9B0qFSul7tVQEScUaqUQnHYKlUr102CiVIVK5SaqwSEdQKWiVjtqlSkyqckjVLukYLoXc0nGv | |
| 91 | VENItT6pLiCdCErhkHQyItVHpYaY1LginUpIkVXp9JrUlJKa16WWDelMRopuSme3pNac1LYtte9I | |
| 92 | 5wpSbFc6vyd1lKTOfanrULpQluJH0sUTqbsi9ZxKvefSpaqUuJAuX0l9Nan/Whq4lX6oS4N30o8P | |
| 93 | 0lBDGn6URp6lnwBA/kuTvKtFTiPJu1vlv7bL6WT5bx3ynk45gyrv7ZK/6JYz6fKXPfK+XjmLKe/v | |
| 94 | k7/ql7PZ8tcD8oFBOYcrH+TJ3wjkXKH8rUjOk8j5UrlAJn+nkAtB+XulXKSWiyG5RCMf0smlsHxY | |
| 95 | L5cZ5XJErjDJRyxyEJWPWuVKu1yFydUO+ZhLDuHycbdc45VrCbnOJ58IyOGgfDIk10fkhqjcGJNP | |
| 96 | rciRhHx6VW5ak5tTcsu6fGZDjmbks5ty65bclpPbt+VzO3KsIJ/flTv25M6S3LUvXziU42X54pHc | |
| 97 | fSL3VOTeU/nSuZyoypcv5L4rub8mD1zLP9zKg3X5xzt56EEebsgjj/JPz/IoAIBdTSCtBewmgb+2 | |
| 98 | gvR28Dcy2NMBMjrBXir4ogtkdoMv6WBfD8jqBfuZ4Ks+kN0PvmaDAwMgZxAc5IJveCBXAL4VgjwR | |
| 99 | yJeAAin4TgYKFeB7EBQpQbEalEDgkAaU6sBhGJTpQbkRVCDgiAkELeAoCiqtoMoOqjFwzAFCLnAc | |
| 100 | BzVuUOsFdQQ44QPhADgZBPUh0BABjVFwKgYiK+B0AjStguY10JICZ9ZBdAOczYDWTdC2Bdpz4Nw2 | |
| 101 | iO2A8wXQsQs690BXCVzYB/FDcLEMuo9AzwnorYBLpyBxDi5XQd8F6L8CAzXwwzUYvAU/1sHQHRh+ | |
| 102 | ACMN8NMjGH0GPwOAitak6m5R/UpS0VtVv7WresgqRoeqt1P1gqpidqledqv66CpWj6q/V/WKqWL3 | |
| 103 | qV73qwbYKs6AanBQ9Yar4vJUbwUqnlDFF6kEEtU7qUooU71XqESgSqxUSdSqIUgl1aiGdSoZrJLr | |
| 104 | VQqjagRRgSbVqEWlRFUqq0ptV41hKsihGnepNLhK61bpvKoJQgX7VJMBlT6oMoRUxohqKqpCYqrp | |
| 105 | FZUpoTKvqixrqpmUCl1XzW6orBmVbVNl31LN5VTYtmp+R+UoqJy7KteeaqGkwvdVi4cqd1nlOVJ5 | |
| 106 | T1RLFRVxqlo+V/mqKv+FKnCl+lBTBa9VH29VoboqfKeKPKg+NVTRR9XnZ1UMAKDuJujXFohOgn5r | |
| 107 | hXraIQYZ6u2AXnRCTCr0sgvq64ZYdKi/B3rVC7GZ0Os+aKAf4rChwQHozSDE5UJveRBP8M8nhwQi | |
| 108 | 6J0EEkqh9zJIpIDEICRRQkNqSApBwxpIpoPkMKTQQyNGCESgUROktEAqFFJboTE7BGHQuAPSuCAt | |
| 109 | Dunc0IQXgglo0gfpA5AhCBlD0FQEQqLQdAwyrUDmBGRZhWbWIDQFza5D1g3IloHsm9DcFoTloPlt | |
| 110 | yLEDOQuQaxda2IPwErS4D7kPIU8Z8h5BSycQUYGWTyHfOeSvQoEL6MMVFKxBH6+h0C0UrkORO+jT | |
| 111 | AxRtQJ8fodgzFAcA7a9NWnqL9jeStqdVy2jX9pK1Lzq0zE7tS6q2r0vL6tb207WverTsXu1rpnag | |
| 112 | T8vp1w6ytW8GtNxB7VuulsfT8gVagVD7TqQVSrTvpVqRTCtWaCWgdkiplaq1w5BWptHKdVoFrB3R | |
| 113 | a0GjdhTRKk1alUWrRrVjVi1k145jWo1Dq3Vpdbh2wq2FvdpJQqv3aQ0BrTGonQppkYh2Oqo1xbTm | |
| 114 | Fa0loZ1Z1aJr2tmU1rqutW1o7Rnt3KYW29LO57SOba1zR+sqaBd2tfiedrGkde9rPYdab1m7dKQl | |
| 115 | TrTLFa3vVOs/1waq2g8X2uCV9mNNG7rWhm+1kbr20502+qD93NDGHrXxZ+0KAMD0Jvi3FriHBDNa | |
| 116 | 4d52+AUZZnbALzvhPirM6oL7u+FXdJjdA7/uhQeYMKcPHuyH37Bh7gD8dhDmcWE+DxYI4HdCWCiC | |
| 117 | 30tgkRQWy2CJAh4CYakSHlbDMgiWa2CFDh6BYVAPjxphJQKrTLDaAo+hMGSFx+2wBoO1Dljngidw | |
| 118 | GHbDk15YT8AGH2wMwFNBGAnB0xHYFIXNMdiyAs8kYHQVnl2DrSnYtg7bN+C5DIxtwvNbsCMHO7dh | |
| 119 | 1w68UIDxXXhxD3aXYM8+7D2El8owcQQvn8C+Cuw/hQPn8IcqHLyAP17BoRocvoYjt/CnOhy9gz8/ | |
| 120 | wLEGHH+EV57hLwBg+K3J0NNiYJAMva2GF+0GJtnwssPQ12lgUQ39XYZX3QY23fC6xzDQa+AwDYN9 | |
| 121 | hjf9Bi7b8HbAwBs08LkGAc/wTmAQCg3vRQaRxCCWGiQyw5DCIAUNw0qDTG2QQwaFxjCiM4CwYVRv | |
| 122 | UBoNKsSgNhnGLAYINYxbDRq7QYsZdA7DhMsA44ZJt0HvNRgIg9FnmAoYkKBhOmQwRQzmqMESM8ys | |
| 123 | GNCEYXbVYF0z2FIG+7phbsOAZQzzmwbHlsGZM7i2DQs7BrxgWNw1uPcMnpLBu29YOjQQZcPykcF3 | |
| 124 | YvBXDIFTw4dzQ7Bq+HhhCF0ZwjVD5Nrw6dYQrRs+3xliD4Z4w7DyaPjybEgAANLThDBakF4S8qIV | |
| 125 | YbYjL8lIXwfC6kT6qcirLoTdjbymIwM9CKcXGWQib/oQbj/ylo3wBhD+ICLgIu94iFCAvBciIhEi | |
| 126 | liASKTL0T89RIMMgIlMicjWigJARDQLqkFEYUeoRlRFRI8iYCYEsyDiKaKyI1o7oMGTCgcAuZBJH | |
| 127 | 9G7E4EWMBDLlQ5AAMh1ETCHEHEEsUWQmhqAryGwCsa4itjXEnkLm1hFsA5nPII5NxLmFuHLIwjaC | |
| 128 | 7yCLBcS9i3j2EG8JWdpHiENkuYz4jhD/CRKoIB9OkeA58rGKhC6Q8BUSqSGfrpHoLfK5jsTukPgD | |
| 129 | stJAvjwiiWfkKwCYGU3m3hbzC5KZ2Wp+2W7uI5tZHeb+TvMrqpndZX7dbR6gmzk95sFe8xummdtn | |
| 130 | fttv5rHN/AGzYND8jmsW8szvBWaR0CwWmSUS85DULJWZhxVmGWiWK80KtXkEMoMa86jOrITNKr1Z | |
| 131 | bTSPIWbIZB63mDWoWWs16+zmCcwMO8yTLrMeNxvcZqPXPEWYEZ95OmA2Bc3mkNkSMc9EzWjMPLti | |
| 132 | tibMtlWzfc08lzJj6+b5DbMjY3Zuml1b5oWcGd82L+6Y3QWzZ9fs3TMvlczEvnn50Owrm/1H5sCJ | |
| 133 | +UPFHDw1fzw3h6rm8IU5cmX+VDNHr82fb82xujl+Z155MH9pmBOP5q/P5lUAQHub0BctKJOEvmxF | |
| 134 | +9pRFhnt70BfdaJsKvq6Cx3oRjl0dLAHfdOLcpno2z6U14/y2ahgAH03iAq56HseKhKgYiEqEaFD | |
| 135 | ElQqRYdlqEyB/tMCFUp0RI2CEDqqQZU6VAWjaj06ZkQhBB03oRoLqkVRnRWdsKMwhk46UL0LNeCo | |
| 136 | 0Y1OeVGEQKd9qCmAmoOoJYTORFA0is7GUOsKakug9lV0bg3FUuj8OurYQJ0Z1LWJLmyheA5d3Ebd | |
| 137 | O6ingHp30aU9lCihy/uo7xD1l9HAEfrhBA1W0I+naOgcDVfRyAX66QqN1tDP12jsFo3X0ZU79MsD | |
| 138 | mmigXx/R1Wc0CQC2F002ZovtJcnW12pjtdv6ybZXHTZ2p+011TbQZeN02wbptjc9Nm6v7S3Txuuz | |
| 139 | 8fttArbt3YBNOGh7z7WJeDaxwCYR2oZENqnENiy1yWQ2ucKmAG0jShuoto1CNqXGptLZ1LBtTG+D | |
| 140 | jLZxxKYx2bQWmw61TVhtsN02idn0DpvBZTPitim3DfHapgmbyWczB2yWoG0mZEMjttmozRqz2VZs | |
| 141 | 9oRtbtWGrdnmUzbHus25YXNlbAubNnzLtpizubdtnh2bt2Bb2rURe7blks23b/Mf2gJl24cjW/DE | |
| 142 | 9rFiC53awue2SNX26cIWvbJ9rtli17b4rW2lbvtyZ0s82L42bKuPtuSzbQ0AMGYT9rIF6yNhrFas | |
| 143 | vx17RcbYHdjrTmyAinG6sMFu7A0d4/Zgb3sxHhPj92GCfuwdGxMOYO8HMREXE/MwiQAbEmJSETYs | |
| 144 | wWRSTC7DFApsBMRAJTaqxpQQptJgah02BmOQHhs3YhoE05ownQWbQDHYik3aMT2GGRyY0YVN4Rji | |
| 145 | xqa9mInAzD7MEsBmghgawmYjmDWK2WKYfQWbS2DYKja/hjlSmHMdc21gCxkM38QWtzB3DvNsY94d | |
| 146 | bKmAEbvY8h7mK2H+fSxwiH0oY8Ej7OMJFqpg4VMsco59qmLRC+zzFRarYfFrbOUW+1LHEnfY1wds | |
| 147 | tYElH7G1Z+wbADhfNjn7WpwskrO/1fmq3ckmO193OAc6nRyqc7DL+abbyaU73/Y4eb1OPtMp6HO+ | |
| 148 | 63cK2c73A07RoFPMdUp4ziGBUyp0DoucMolTLnUqZM4RhRMEnaNKp1LtVEFOtcY5pnNCsHNc79QY | |
| 149 | nVrEqTM5JyxOGHVOWp16u9OAOY0O55TLieDOabfT5HWaCafF55wJONGgczbktEactqjTHnPOrTix | |
| 150 | hHN+1elYczpTTte6c2HDiWeci5tO95bTk3N6t51LO06i4Fzedfr2nP6SM7Dv/HDoDJadH4+coRNn | |
| 151 | uOKMnDo/nTujVefnC2fsyhmvOVeunV9unYm68+udc/XBmWw41x6d356dKQDA+5pwVgveT8JfteLs | |
| 152 | dvw1GR/owDmd+CAVf9OFc7vxt3Sc14Pze3EBE3/Xhwv78fdsXDSAiwdxCRcf4uFSAT4sxGUiXC7B | |
| 153 | FVJ8RIaDCnwUxJVKXKXG1RA+pvmnIOPjMK7R41ojrkPwCRMOW/BJFNdbcYMdN2L4lANHXPg0jpvc | |
| 154 | uNmLWwh8xoejAXw2iFtDuC2C26P4XAzHVvD5BO5YxZ1ruCuFL6zj+Aa+mMHdm7hnC/fm8KVtnNjB | |
| 155 | lwu4bxf37+GBEv5hHw8e4h/LeOgID5/gkQr+6RSPnuOfq3jsAo9f4Ss1/Ms1nrjFv9bx1Ts8+YCv | |
| 156 | NfBvj3jqGf8OAB5Wk6e/xfOK5GG3el63ewbIHk6HZ7DT84bq4XZ53nZ7eHQPv8cj6PW8Y3qEfZ73 | |
| 157 | /R4R2yMe8EgGPUNcj5TnGRZ4ZEKPXORRSDwjUg8o84wqPErQo1J61GrPGOSBNJ5xnUcDe7R6j87o | |
| 158 | mUA8sMkzafHoUY/B6jHaPVOYB3F4pl0eE+4xuz0Wr2eG8KA+z2zAYw16bCGPPeKZi3qwmGd+xeNI | |
| 159 | eJyrHteaZyHlwdc9ixsed8bj2fR4tzxLOQ+x7Vne8fgKHv+uJ7Dn+VDyBPc9Hw89obInfOSJnHg+ | |
| 160 | VTzRU8/nc0+s6olfeFauPF9qnsS15+utZ7XuSd551h483xqe1KPn+7NnHQCI/ibiVQvBJhGvW4mB | |
| 161 | doJDJgY7iDedBJdKvO0ieN0En04Ieoh3vYSQSbzvI0T9hJhNSAaIoUFCyiWGeYRMQMiFhEJEjEgI | |
| 162 | UEqMygilglCBhFpJjKkJCCLGNYRGR2hhQqcnJowEjBCTJkJvIQwoYbQSU3YCwYhpB2FyEWacsLiJ | |
| 163 | GS+BEsSsj7AGCFuQsIeIuQiBRYn5GOFYIZwJwrVKLKwReIpYXCfcG4QnQ3g3iaUtgsgRy9uEb4fw | |
| 164 | F4jALvFhjwiWiI/7ROiQCJeJyBHx6YSIVojPp0TsnIhXiZUL4ssVkagRX6+J1VsiWSfW7ohvD0Sq | |
| 165 | QXx/JNafiTQA+F81+dkt/tck/0Crn9PuHyT733T4uZ3+t1Q/r8vP7/YL6P53PX5hr/890y/q84v7 | |
| 166 | /RK2f2jALx30D3P9Mp5fLvArhP4RkR+U+EelfqXMr1L41aB/TOmH1P5xyK/R+LU6vw72T+j9sNE/ | |
| 167 | ifj1Jr/B4jei/imrH7H7pzG/yeE3u/wW3D/j9qNe/yzht/r8toDfHvTPhfxYxD8f9TtifueK35Xw | |
| 168 | L6z68TX/YsrvXvd7NvzejH9p009s+Zdzft+237/jDxT8H3b9wT3/x5I/tO8PH/ojZf+nI3/0xP+5 | |
| 169 | 4o+d+uPn/pWq/8uFP3Hl/1rzr177k7f+tbr/250/9eD/3vCvP/rTz/4NAAiym4KvW4IDpCCnNTjY | |
| 170 | HnxDDnI7gm87gzxqkN8VFHQH39GDwp7g+96giBkU9wUl/cEhdlA6EBweDMq4QTkvqBAER4RBUBQc | |
| 171 | lQSV0qBKFlQrgmNgEFIGx9VBDRTUaoI6XXACDsL64KQxqP8HH0xBoyU4hQYRa3DaHjRhQbMjaHEF | |
| 172 | Z/Ag6g7OeoNWImjzBe2B4FwwiIWC85GgIxp0xoKuleBCIoivBhfXgu5U0LMe9G4ElzJBYjO4vBX0 | |
| 173 | 5YL+7WBgJ/ihEAzuBj/uBUOlYHg/GDkMfioHo0fBzyfBWCUYPw2unAe/VIOJi+DXq+BqLZi8Dq7d | |
| 174 | Br/Vg6m74PeH4HojmH4MbjwHfwBA+HVTeKAlzCGFB1vDb9rDXHL4bUeY1xnmU8OCrvC77rCQHn7f | |
| 175 | Exb1hsXMsKQvPNQflrLDwwNh2WBYzg0reOERQRgUhkdFYaUkrJKG1bLwmCIMgeFxZVijDmuhsE4T | |
| 176 | ntCFYTg8qQ/rjWEDEjaawlOWMIKGp61hkz1sxsIWR3jGFUbx8Kw7bPWGbUTY7gvPBcJYMDwfCjsi | |
| 177 | YWc07IqFF1bCeCK8uBp2r4U9qbB3Pby0ESYy4eXNsG8r7M+FA9vhDzvhYCH8cTcc2guHS+HIfvjT | |
| 178 | YThaDn8+CsdOwvFKeOU0/OU8nKiGv16EV6/CyVp47Tr87Tacqoe/34XXH8LpRnjjMfzjOZwBgOhA | |
| 179 | U5TTEh0kRd+0Rrnt0bfkKK8jyu+MCqjRd11RYXf0PT0q6omKe6MSZnSoLyrtjw6zo7KBqHwwquBG | |
| 180 | R3hRUBAdFUaVoqhKElVLo2OyKKSIjoNRjTKqVUd1UHRCE4V10Uk4qtdHDcaoEYlOmaL/wNU0GjVZ | |
| 181 | o2Z71IJFZxxR1BWdxaNWd9TmjdqJ6JwvigWi88GoIxR1RqKuaHQhFsVXoouJqHs16lmLelPRpfUo | |
| 182 | sRFdzkR9m1H/VjSQi37YjgZ3oh8L0dBuNLwXjZSin/aj0cPo53I0dhSNn0RXKtEvp9HEefRrNbp6 | |
| 183 | EU1eRddq0W/X0dRt9Hs9un4XTT9ENxrRH4/RzHP0dwCIc5rigy3xN6Q4tzX+tj3OI8f5HXFBZ/wd | |
| 184 | NS7sir/vjovocXFPXNIbH2LGpX3x4f64jB2XD8QVg/ERbhzkxUcFcaUwrhLF1ZL4mDQOyeLjirgG | |
| 185 | jGuVcZ06PgHFYU18UhfXw3GDPm40xqeQOGKKT1viJjRutsYt9vgMFkcd8VlX3IrHbe643RufI+KY | |
| 186 | Lz4fiDuCcWco7orEF6JxPBZfXIm7E3HPaty7Fl9KxYn1+PJG3JeJ+zfjga34h1w8uB3/uBMPFeLh | |
| 187 | 3XhkL/6pFI/uxz8fxmPlePwovnIS/1KJJ07jX8/jq9V48iK+dhX/VounruPfb+Pr9Xj6Lr7xEP/R | |
| 188 | iGce478/xzcBIDHYlHjTkuCSEm9bE7z2BJ+cEHQk3nUmhNTE+66EqDshpickPYmh3oSUmRjuS8j6 | |
| 189 | E3J2QjGQGBlMgNzEKC+hFCRUwoRalBiTJCBpYlyW0CgSWjChUyYm1AkYSkxqEnpdwgAnjPrElDGB | |
| 190 | IIlpU8JkSZjRhMWamLEnUCwx60hYXQkbnrC7E3PeBEYk5n0JRyDhDCZcocRCJIFHE4uxhHsl4Ukk | |
| 191 | vKuJpbUEkUosryd8Gwl/JhHYTHzYSgRziY/bidBOIlxIRHYTn/YS0VLi834idpiIlxMrR4kvJ4lE | |
| 192 | JfH1NLF6nkhWE2sXiW9XiVQt8f06sX6bSNcTG3eJHw+JTCPx+2Ni8zmRBYDkm6YktyX5lpTktSb5 | |
| 193 | 7UkBOfmuIynsTL6nJkVdSXF3UkJPDvUkpb3JYWZS1peU9ycV7OTIQBIcTI5yk0peUiVIqoXJMVES | |
| 194 | kiTHpUmNLKlVJHVgckKZhNXJSSip1yQNuqQRTk7pk4gxOY0kTaak2ZK0oMkZaxK1J2expNWRtLmS | |
| 195 | djw5505i3uQ8kXT4ks5A0hVMLoSSeCS5GE26Y0nPStKbSC6tJom15HIq6VtP+jeSgUzyw2YyuJX8 | |
| 196 | mEuGtpPhnWSkkPy0m4zuJT+XkrH9ZPwwuVJOfjlKJk6SXyvJ1dNk8jy5Vk1+u0imrpLfa8n162T6 | |
| 197 | NrlRT/64S2Yekr83kpuPyexzcgsAUtym1NuWFI+U4remBO2pd+SUsCP1vjMloqbEXSlJd2qInpL2 | |
| 198 | pIZ7UzJmSt6XUvSnRtgpcCA1OphSclMqXkotSI0JU5AoNS5JaaQprSylU6QmwBSsTE2qU3ooZdCk | |
| 199 | jLrUFJxC9KlpY8qEpMymlMWSmkFTqDU1a09ZsX+4M2V3pebwFOZOzXtTDiLl9KVcgdRCMIWHUouR | |
| 200 | lDua8sRS3pXUUiJFrKaW11K+VMq/ngpspD5kUsHN1MetVCiXCm+nIjupT4VUdDf1eS8VK6Xi+6mV | |
| 201 | w9SXcipxlPp6klqtpJKnqbXz1LdqKnWR+n6VWq+l0tepjdvUj3oqc5f6/SG12UhlH1Nbz6k/ACD9 | |
| 202 | tinNa0nzSWlBa/pde1pITr/vSIs602JqWtKVHupOS+np4Z60rDctZ6YVfemR/jTITo8OpJWDaRU3 | |
| 203 | realxwRpSJgeF6U1krRWmtbJ0hOKNAymJ5VpvTptgNJGTXpKl0bg9LQ+bTKmzUjaYkrPWNIomp61 | |
| 204 | pq32tA1L2x3pOVcaw9Pz7rTDm3YSaZcvvRBI48H0YijtjqQ90bQ3ll5aSROJ9PJq2reW9qfSgfX0 | |
| 205 | h410MJP+uJkObaXDuXRkO/1pJx0tpD/vpmN76XgpvbKf/nKYTpTTX4/SqyfpZCW9dpr+dp5OVdPf | |
| 206 | L9LrV+l0Lb1xnf5xm87U07/fpTcf0tlGeusx/cdzOgcAGV5Tht+SEZAy71ozwvbMe3JG1JERd2Yk | |
| 207 | 1MxQV0banRmmZ2Q9GXlvRsHMjPRlwP7MKDujHMioBjNqbmaMl4EEmXFhRiPKaCUZnTQzIcvAiswk | |
| 208 | mNErMwZ1xghlpjQZRJeZhjMmfcZszFiQzIwpg1oys2jGas3Y7Bk7lplzZDBXZh7PONwZpzfjIjIL | |
| 209 | vgweyCwGM+5QxhPJeKOZpViGWMksJzK+1Yx/LRNIZT6sZ4IbmY+ZTGgzE97KRHKZT9uZ6E7mcyET | |
| 210 | 283E9zIrpcyX/UziMPO1nFk9yiRPMmuVzLfTTOo8872aWb/IpK8yG7XMj+tM5jbzez2zeZfJPmS2 | |
| 211 | Gpk/HjO558yfAJDlN2UFLdl3pKywNfu+PSsiZ8UdWUlndoialXZlh7uzMnpW3pNV9GZHmFmwLzva | |
| 212 | n1Wys6qBrHowO8bNQrzsuCCrEWa1oqxOkp2QZmFZdlKR1YNZgzJrVGenoCyiyU7rsiY4a9ZnLcbs | |
| 213 | DJJFTdlZS9aKZm3WrN2encOymCM778o68KzTnXV5swtEFvdlFwNZdzDrCWW9kexSNEvEsssrWV8i | |
| 214 | 61/NBtayH1LZ4Hr240Y2lMmGN7ORreynXDa6nf28k40VsvHd7Mpe9kspm9jPfj3MrpazyaPs2kn2 | |
| 215 | WyWbOs1+P8+uV7Ppi+zGVfZHLZu5zv5+m92sZ7N32a2H7B+NbO4x++dzdhsAcoKm3LuWnJCUe9+a | |
| 216 | E7XnxOScpCM31JmTUnPDXTlZd05Ozyl6ciO9OZCZG+3LKftzKnZOPZAbG8xB3Nw4L6cR5LTCnE6U | |
| 217 | m5DkYGluUpbTK3IGMGdU5qbUOQTKTWtyJl3ODOcs+tyMMYciuVlTzmrJ2dCc3Zqbs+cwLDfvyDlc | |
| 218 | OSeec7lzC/9QOZFb9OXcgZwnmPOGckuRHBHNLcdyvpWcP5ELrOY+rOWCqdzH9VxoIxfO5CKbuU9b | |
| 219 | uWgu93k7F9vJxQu5ld3cl71copT7up9bPcwly7m1o9y3k1yqkvt+mls/z6WruY2L3I+rXKaW+/06 | |
| 220 | t3mby9ZzW3e5Px5yuUbuz8fc9nMuDwD5d015YUv+PSkvas2L2/MScn6oIy/tzA9T87KuvLw7r6Dn | |
| 221 | R3ryYG9+lJlX9uVV/Xk1Oz82kIcG8+PcvIaX1wryOmF+QpSHJflJaV4vyxsUeSOYn1LmEXV+Gsqb | |
| 222 | NHmzLm+B8zP6PGrMzyJ5qylvs+TtaH7Omsfs+Xks73Dkna68C88vuPO4N79I5N2+vCeQ9wbzS6E8 | |
| 223 | EckvR/O+WN6/kg8k8h9W88G1/MdUPrSeD2/kI5n8p818dCv/OZePbefjO/mVQv7Lbj6xl/9ayq/u | |
| 224 | 55OH+bVy/ttRPnWS/17Jr5/m0+f5jWr+x0U+c5X/vZbfvM5nb/Nb9fwfd/ncQ/7PRn77MZ9/zu8A | |
| 225 | QEHYVHjfUhCRCuLWgqS9MEQuSDsKw50FGbUg7yoougsj9ALYUxjtLSiZBVVfQd1fGGMXoIHC+GBB | |
| 226 | wy1oeQWdoDAhLMCiwqSkoJcWDLKCUVGYAguIsjCtLpiggllTsOgKM3AB1RdmjQUrUrCZCnZLYQ4t | |
| 227 | YNbCvL3gwApOR8HlKizgBdxdWPQW3EThH2fhDRSWggUiVFiOFHzRgj9WCKwUPiQKwdXCx7VCKFUI | |
| 228 | rxciG4VPmUJ0s/B5qxDLFeLbhZWdwpdCIbFb+LpXWC0VkvuFtcPCt3IhdVT4flJYrxTSp4WN88KP | |
| 229 | aiFzUfj9qrBZK2SvC1u3hT/qhdxd4c+HwnajkH8s7DwX/gKA4vumoqilKCYVJa3FofailFwc7ijK | |
| 230 | OotyalHRVRzpLoL04mhPUdlbVDGL6r7iWH8RYhfHB4qawaKWW9TxihOCIiwsToqKeknRIC0aZcUp | |
| 231 | RREBi9PKokldNENFi6Y4oyuicHFWX7QaizakaDcV5yxFDC3OW4sOe9GJFV2O4oKriOPFRXfR7S16 | |
| 232 | iKLXV1wKFIlgcTlU9EWK/mgxECt+WCkGE8WPq8XQWjGcKkbWi582itFM8fNmMbZVjOeKK9vFLzvF | |
| 233 | RKH4dbe4uldMlopr+8Vvh8VUufj9qLh+UkxXihunxR/nxUy1+PtFcfOqmK0Vt66Lf9wWc/Xin3fF | |
| 234 | 7YdivlHceSz+9VwsAEBJ1FQSt5QkpNJQa0naXhoml2QdJXlnSUEtjXSVwO7SKL2k7CmpektqZmms | |
| 235 | rwT1l8bZJc1ASTtY0nFLE7wSLChNCkt6UckgKRmlpSlZCVGUpsGSSVkyq0sWqDSjKaG60ixcsupL | |
| 236 | NmPJjpTmTCXMUppHSw5ryWkvubDSgqOEu0qLeMntLnm8JS9RWvKViEBpOVjyhUr+SCkQLX2IlYIr | |
| 237 | pY+JUmi1FF4rRVKlT+ul6Ebpc6YU2yzFt0orudKX7VJip/S1UFrdLSX3Smul0rf9Uuqw9L1cWj8q | |
| 238 | pU9KG5XSj9NS5rz0e7W0eVHKXpW2aqU/rku529Kf9dL2XSn/UNpplP56LBWeS38DwIG46UDScjBE | |
| 239 | OpC2Hgy3H8jIB/KOA0XnwQj1AOw6GO0+UNIPVD0H6t6DMeYB1Hcw3n+gYR9oBw50gwcT3AOYdzAp | |
| 240 | ONALDwyiA6PkYEp6gMgOphUHJvDArDywqA9moANUczCrO7DCBzb9gd14MIccYKaDecuBAz1wWg9c | |
| 241 | 9oMF7AB3HCy6Dtz4gcd94PUeLBEHhO9gOXDgCx74QweByMGH6EEwdvBx5SCUOAivHkTWDj6lDqLr | |
| 242 | B583DmKZg/jmwcrWwZfcQWL74OvOwWrhILl7sLZ38K10kNo/+H54sF4+SB8dbJwc/KgcZE4Pfj8/ | |
| 243 | 2KweZC8Otq4O/qgd5K4P/rw92K4f5O8Odh4O/mocFB4P/n4+2AWAsqSpPNRSlpLKw61lWXtZTi4r | |
| 244 | OsojnWWQWh7tKiu7yyp6Wd1THustQ8zyeF9Z01/Wssu6gfLEYBnmlid5Zb2gbBCWjaLylKSMSMvT | |
| 245 | srJJUTaDZYuyPKMuo1B5VlO26so2uGzXl+eMZQwpz5vKDkvZiZZd1vKCvYxj5UVH2e0qe/Cy111e | |
| 246 | 8pYJorzsK/sCZX+wHAiVP0T+0Tnlj7FyaKUcTpQjq+VPa+Voqvx5vRzbKMcz5ZXN8petciJX/rpd | |
| 247 | Xt0pJwvltd3yt71yqlT+vl9ePyyny+WNo/KPk3KmUv79tLx5Xs5Wy1sX5T+uyrla+c/r8vZtOV8v | |
| 248 | 79yV/3ooFxrlvx/Lu8/lIgAcDzUdS1uOh0nHstZjefuxgnw80nEMdh6PUo+VXceq7mM1/Xis5xjq | |
| 249 | PR5nHmv6jrX9xzr28cTAMTx4PMk91vOODYJjo/B4SnSMSI6npccm2bFZcWwBj2eUx6j6eBY6tmqO | |
| 250 | bbpjO3w8pz/GjMfzyLHDdOy0HLvQ4wXrMW4/XsSO3Y5jj+vYix8vuY8J7/EycezzHfsDx4Hg8YfQ | |
| 251 | cTBy/DF6HIodh1eOI4njT6vH0bXjz6nj2PpxfON4JXP8ZfM4sXX8NXe8un2c3DleKxx/2z1O7R1/ | |
| 252 | Lx2v7x+nD483ysc/jo4zJ8e/V443T4+z58db1eM/Lo5zV8d/1o63r4/zt8c79eO/7o4LD8d/N453 | |
| 253 | H4+Lz8d7AFCRNlWGWyoyUkXeWlG0V0bIFbCjMtpZUVIrqq6KursyRq9APZXx3oqGWdH2VXT9lQl2 | |
| 254 | BR6oTA5W9NyKgVcxCipTwgoiqkxLKiZpxSyrWBSVGbCCKiuz6ooVqtg0FbuuMgdXMH1l3lhxIBWn | |
| 255 | qeKyVBbQCm6tLNorbqzicVS8rsoSXiHclWVvxUdU/L5KIFD5EKwEQ5WPkUooWgnHKpGVyqdEJbpa | |
| 256 | +bxWiaUq8fXKykblS6aS2Kx83aqs5irJ7craTuVboZLarXzfq6yXKun9ysZh5Ue5kjmq/H5S2axU | |
| 257 | sqeVrfPKH9VK7qLy51Vlu1bJX1d2bit/1SuFu8rfD5XdRqX4WNl7rvwXAM6Gm85kLWdy0pmi9Wyk | |
| 258 | /Qwkn412nCk7z1TUM3XX2Vj3GUQ/G+850/SeaZlnur6zif4zmH02OXCmHzwzcM+MvLMpwRkiPJsW | |
| 259 | nZkkZ2bpmUV2NqM4Q8GzWeWZVX1mg87smrM53RkGn83rzxzGMydy5jKdLVjOcPRs0Xrmtp95sDOv | |
| 260 | 42zJdUbgZ8vuM5/3zE+cBXxnHwJnweDZx9BZKHIWjp5FYmefVs6iibPPq2extbN46mxl/ezLxlki | |
| 261 | c/Z182x16yyZO1vbPvu2c5YqnH3fPVvfO0uXzjb2z34cnmXKZ78fnW2enGUrZ1unZ3+cn+WqZ39e | |
| 262 | nG1fneVrZzvXZ3/dnhXqZ3/fne0+nBUbZ3uPZ/99PisBQFXWVJW3VBWk6khrFWyvjpKryo6qqrOq | |
| 263 | plbHuqpQd3WcXtX0VLW9VR2zOtFXhfurk+yqfqBqGKwaudUpXhURVKeFVZOoapZULdLqjKyKKqqz | |
| 264 | YNWqrNrUVTtUndNUMV11Hq469FWnsepCqgumKm6pLqJVt7XqsVe9WHXJUSVc1WW86nNX/d5qgKh+ | |
| 265 | 8FWDgerHYDUUqoYj1Ui0+ilWja5UPyeqsX9k11p1JVX9sl5NbFS/Zqqrm9XkVnUtV/22XU3tVL8X | |
| 266 | quu71fRedaNU/bFfzRxWfy9XN4+q2ZPqVqX6x2k1d179s1rdvqjmr6o7tepf19XCbfXvenX3rlp8 | |
| 267 | qO41qv99rJaeq/8DgEt506Wi5XKEdAm2Xo62XyrJl6qOS3Xn5Rj1Euq6HO++1NAvtT2Xut7LCeYl | |
| 268 | 3Hc52X+pZ18aBi6Ng5dT3EuEdzktuDQJL82iS4vkckZ6icouZxWXVvDSpry0qy/noEtMczmvu3TA | |
| 269 | l079pct4uYBc4qbLRculG730WC+99ssl7JJwXC67Ln34pd99GfBefiAug77Lj4HLUPAyHLqMRC4/ | |
| 270 | RS+jscvPK5exxGV89XJl7fJL6jKxfvl143I1c5ncvFzbuvyWu0xtX37fuVwvXKZ3Lzf2Ln+ULjP7 | |
| 271 | l78fXm6WL7NHl1snl39ULnOnl3+eX25XL/MXlztXl3/VLgvXl3/fXu7WL4t3l3sPl/9tXJYeL//3 | |
| 272 | fLkPADVFU22kpQaSaqOtNWV7TUWuqTtqY501iFob76ppumtaek3XU5vorcHM2mRfTd9fM7BrxoHa | |
| 273 | 1GAN4dameTWToGYW1iyi2oykhkprs7KaVVGzgTW7sjanrmFQbV5Tc+hqTrjm0tcWjDUcqS2aam5L | |
| 274 | zYPWvNbakr1GYLVlR83nqvnxWsBd++CtBYnaR18tFKiFg7VIqPYpUotGa59jtdhKLZ6orazWvqzV | |
| 275 | /lGBX9drqxu1ZKa2tln7tlVL5Wrft2vrO7V0obaxW/uxV8uUar/v1zYPa9lybeuo9sdJLVep/Xla | |
| 276 | 2z6v5au1nYvaX1e1Qq3293Vt97ZWrNf27mr/faiVGrX/Pdb2n2sHAHAz0nQDttyMkm6UrTeq9hs1 | |
| 277 | +Was4wbqvBmn3mi6brTdNzr6zUTPDdx7M8m80ffdGPpvjOybqYEbZPBmmntj4t2YBTcW4c2M6AaV | |
| 278 | 3MxKb6yyG5vixg7ezClvMPXNPHTj0Nw4dTcu+GZBf4MbbxaRG7fpxmO58aI3S9Ybwn6zjN34HDd+ | |
| 279 | 100Av/ngvgl6bz4SNyHfTThwEwnefArdRCM3n6M3sdhNfOVmJXHzZfUmsXbzNXWzun6T3LhZy9x8 | |
| 280 | 27xJbd18z92sb9+kd242Cjc/dm8yeze/l24292+yhzdb5Zs/jm5yJzd/Vm62T2/y5zc71Zu/Lm4K | |
| 281 | Vzd/1252r2+Ktzd79Zv/3t2UHm7+17jZf7w5eL45BIA62FQfbakrSXVVa13dXh8j16GO+nhnXUOt | |
| 282 | a7vquu76BL0O99Qne+t6Zt3QVzf216fYdWSgPj1YN3HrZl7dIqjPCOuoqD4rqVuldZusblfU58A6 | |
| 283 | pqzPq+sOqO7U1F26+gJcx/X1RWPdjdQ9prrXUl9C64S1vmyv+7C631EPuOof8HrQXf/orYeIethX | |
| 284 | jwTqn4L1aKj+OVKPRevxWH1lpf4lUU+s1r+u1VdT9eR6fW2j/i1TT23Wv2/V13P19HZ9Y6f+o1DP | |
| 285 | 7NZ/36tvlurZ/frWYf2Pcj13VP/zpL5dqedP6zvn9b+q9cJF/e+r+m6tXryu793W/1uvl+7q/3uo | |
| 286 | 7zfqB4/1w+f6/wHA/WjTvbLlXkW6V7fej7XfQ+T78Y57Tee9lnqv67qf6L6H6feTPff63nsD897Y | |
| 287 | dz/Vf4+w76cH7k2D92buvYV3PyO4R4X3s6J7q+TeJr23y+7nFPcYeD+vvHeo753QvUtzv6C7x+H7 | |
| 288 | Rf2923jvQe69pvslyz2B3i9b7332ez92H3Dcf3DdB/H7j+77kPc+TNxHfPefAvfR4P3n0H0sch+P | |
| 289 | 3q/E7r+s3CcS919X71fX7pOp+7X1+28b96nM/ffN+/Wt+3TufmP7/sfOfaZw//vu/ebefbZ0v7V/ | |
| 290 | /8fhfa58/+fR/fbJfb5yv3N6/9f5faF6//fF/e7VfbF2v3d9/9/b+1L9/n939/sP9weN+8PH+/97 | |
| 291 | vi8DQEPZ1FC1NNSkxlhrA2pvjJMbmo6GtrOhozYmuhpwd2OS3tD3NAy9DSOzMdXXQPob0+yGaaBh | |
| 292 | HmxYuI0ZXgMVNGaFDauoYZM07NLGnKyBKRrzYMOhbDjVDRfUWNA0cF1jEW649Q2PseFFGkumBmFp | |
| 293 | LKMNn7XhtzcCWOODoxF0NT7ijZC7EfY2IkTjk68RDTQ+BxuxUCMeaaxEG19ijcRK42uisbraSK41 | |
| 294 | 1lKNb+uN1Ebje6axvvmPJW1s5Bo/thuZncbvhcbmbiO719gqNf7Yb+QOG3+WG9tHjfxJY6fS+Ou0 | |
| 295 | UThv/F1t7F40ileNvVrjv9eN0m3jf/XG/l3j4KFx2Gj832Oj/Nz4fwDwpGp6Urc8jZGeoNan8fYn | |
| 296 | DflJ2/Gk63yaoD7BXU+T3U96+pOh58nY+zTFfEL6nqb7n0zsJ/PAk2XwaYb7hPKeZgVPVuGTTfRk | |
| 297 | lzzNSZ8w2dO84skBPjmVTy710wL0hGueFnVPbvjJo3/yGp+WkCfC9LRsefKhT37rU8D+9AF7Cjqe | |
| 298 | PrqeQvhT2P0U8T59Ip6ivqfPgadY8CkeelqJPH2JPiViT19XnlYTT8nVp7W1p2+pp9T60/eNp/XM | |
| 299 | U3rzaWPr6UfuKbP99PvO02bhKbv7tLX39EfpKbf/9Ofh03b5KX/0tHPy9FflqXD69Pf50271qXjx | |
| 300 | tHf19N/aU+n66X+3T/v1p4O7p8OHp/9rPJUfn/7f89PR/w8QCy14LJdV2gAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-012.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-012.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-012.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{95626B46-B586-0D38-32A7-F99FCDA6714C}{1}{B0}" name="Image role background=true, printout=false" dateTime="2026-09-06T02:25:45.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{53DFEECA-E57D-006C-003D-2B6E4A0E68D7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image role background=true, printout=false]]></one:T></one:OE></one:Title><one:Image format="png" backgroundImage="true" alt="Role pattern" originalPageNumber="2" lastModifiedTime="2026-09-06T02:25:49.000Z" objectID="{53DFEECA-E57D-006C-003D-2B6E4A0E68D7}{39}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="288.0" height="192.0" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{53DFEECA-E57D-006C-003D-2B6E4A0E68D7}{41}{B0}"><one:Position x="72.0" y="108.0" z="1"/><one:Size width="146.7475433349609" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T02:25:46.000Z" objectID="{53DFEECA-E57D-006C-003D-2B6E4A0E68D7}{42}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Foreground role control]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-013.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-013.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-013.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9F934F15-7A74-0C90-3CC2-A7D8175AF3B3}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{6DFB5BD4-87EB-01FA-2785-F65388D00318}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{6DFB5BD4-87EB-01FA-2785-F65388D00318}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{6DFB5BD4-87EB-01FA-2785-F65388D00318}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 1]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-014.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-014.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-014.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B4422B9A-ADD9-0260-110A-EE08D0CC8569}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:46.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{8060E919-2E4C-0552-0459-8C67DE05595B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{8060E919-2E4C-0552-0459-8C67DE05595B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="231.1436157226562" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{8060E919-2E4C-0552-0459-8C67DE05595B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group A/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-015.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-015.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-015.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C0E8B161-0216-0E28-1DAF-5245DA57E02A}{1}{B0}" name="Task controls" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{921E76FF-6CCF-061C-39D1-0DF668C7473E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Task controls]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{921E76FF-6CCF-061C-39D1-0DF668C7473E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="151.0606994628906" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T02:25:50.000Z" objectID="{921E76FF-6CCF-061C-39D1-0DF668C7473E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:OutlookTask startDate="2020-01-02T00:00:00.000Z" dueDate="2020-01-03T00:00:00.000Z" guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[Disabled standalone task]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-016.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-016.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-016.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E587259B-4459-0CAB-210C-5A0DE85331B9}{1}{B0}" name="Repeated title" dateTime="2026-09-06T02:25:50.000Z" lastModifiedTime="2026-09-06T06:06:48.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F6DE4D39-7780-05FC-225B-2E7A6E7DE27F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Repeated title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F6DE4D39-7780-05FC-225B-2E7A6E7DE27F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="266.8237915039062" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:51.000Z" lastModifiedTime="2026-09-06T02:25:51.000Z" objectID="{F6DE4D39-7780-05FC-225B-2E7A6E7DE27F}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Group path Group B/Nested/Duplicate.one, level 2]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-017.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-017.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-017.xml created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EBD20CA0-3BB8-0AE2-1F39-B708FDC47187}{1}{B0}" name="Image png" dateTime="2026-09-06T02:25:40.000Z" lastModifiedTime="2026-09-06T06:06:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:42.000Z" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{948CA9A1-C308-0E04-3C64-6BC195BAD88A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Image png]]></one:T></one:OE></one:Title><one:Image format="png" hyperlink="https://example.invalid/image/png" alt="Pattern png" originalPageNumber="0" lastModifiedTime="2026-09-06T02:25:42.000Z" objectID="{948CA9A1-C308-0E04-3C64-6BC195BAD88A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="144.0" height="48.00000381469727" isSetByUser="true"/><one:Data>iVBORw0KGgoAAAANSUhEUgAAAGAAAABACAIAAABqVuVZAAAAwUlEQVR4nO3ZwQ2DQBDF0Hkk/dec | |
| 3 | CuASwXCwtBVY/mYBM3OMznEC4TsfMx1nEALk2o8ACZB/GpJBAiSD3PcgbmICJIM0MVvX/RokQDJI | |
| 4 | E1ODvPOrS5EWIBmkialB1ntcpAVIBmli1rvTRVGAZJAmZj1AvawKkAzSxNQg6zEu0gIkgzQx69Hp | |
| 5 | oihAMkgT85LTn1UBkkGamBpkvcdFWoBkkCZmvTtdFAVIBmli1gPUy6oAySBNTA2yHuMiLUAyyPMT | |
| 6 | +wHXVRp4qDc0HQAAAABJRU5ErkJggg==</one:Data></one:Image></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-018.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-018.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-018.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F7A8EC8B-3D59-06AD-2499-50E24986D032}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-06T06:06:43.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9826F1B9-3F44-055D-00C4-70A8B70899BB}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{9826F1B9-3F44-055D-00C4-70A8B70899BB}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/page-019.pdf created| Binary files /dev/null and b/corpus/m6/rust-collapse-control-01/read/page-019.pdf differ |
corpus/m6/rust-collapse-control-01/read/page-019.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F8B18912-24AC-0DDE-3A3C-8F1CA984DD2B}{1}{B0}" name="Files and recording" dateTime="2026-09-06T02:25:46.000Z" lastModifiedTime="2026-09-06T06:06:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:MediaPlaylist><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaPlaylist><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Files and recording]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="136.6015625" height="139.427719116211"/><one:OEChildren><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{40}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\7d1ab415-649a-43bd-a863-bbef841467de.txt" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{44}{B0}" alignment="left"><one:MediaFile pathCache="C:\Users\clover\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\5cdfe8bc-15a0-4ef8-9710-d05c8cbe5118.wav" pathSource="C:\one-tests\runs\capture\notebook\fixture-data\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE creationTime="2026-09-06T02:25:47.000Z" lastModifiedTime="2026-09-06T02:25:47.000Z" objectID="{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{48}{B0}" alignment="left" quickStyleIndex="0"><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T><![CDATA[Recording annotation]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/m6/rust-collapse-control-01/read/payloads.json created+18| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2", | |
| 4 | "name": "Fictitious attachment.txt", | |
| 5 | "object": "{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{40}{B0}", | |
| 6 | "kind": "InsertedFile", | |
| 7 | "page": "{F8B18912-24AC-0DDE-3A3C-8F1CA984DD2B}{1}{B0}", | |
| 8 | "bytes": 27 | |
| 9 | }, | |
| 10 | { | |
| 11 | "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9", | |
| 12 | "name": "silence.wav", | |
| 13 | "object": "{E2ABB096-FC4F-0313-2920-1DADD2631B5C}{44}{B0}", | |
| 14 | "kind": "MediaFile", | |
| 15 | "page": "{F8B18912-24AC-0DDE-3A3C-8F1CA984DD2B}{1}{B0}", | |
| 16 | "bytes": 16044 | |
| 17 | } | |
| 18 | ] | |
| \ No newline at end of file |
corpus/m6/rust-collapse-control-01/run.json created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | { | |
| 2 | "notebook": "/Users/clo/dev/one/evidence/m6/rust-collapse-control-input/notebook", | |
| 3 | "expected_pages": 20, | |
| 4 | "author": null, | |
| 5 | "author_timeout_seconds": 600, | |
| 6 | "inspect": false, | |
| 7 | "base": { | |
| 8 | "file": "win7-office-base.qcow2", | |
| 9 | "format": "qcow2", | |
| 10 | "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346", | |
| 11 | "virtual_size": 68719476736 | |
| 12 | }, | |
| 13 | "scripts": { | |
| 14 | "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331", | |
| 15 | "read.ps1": "086789e467779add0fc071ad8c524c2b02d3d0d609aea4a41f3128cadba371e8" | |
| 16 | } | |
| 17 | } |
corpus/m6/rust-collapse-control-01/scripts/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
corpus/m6/rust-collapse-control-01/scripts/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
corpus/m6/rust-collapse-control-01/source.json created+110| ... | ... | @@ -0,0 +1,110 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "Empty.one", | |
| 4 | "bytes": 4016, | |
| 5 | "sha256": "9e99f8508837f3abe2874ccbd42bea9954ff01a596e3d4e8d1a01bc377b5a0df", | |
| 6 | "mtime_ns": 1788661593561895158 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "Features.one", | |
| 10 | "bytes": 121624, | |
| 11 | "sha256": "6e174a041bd916c46e49c42d76332b03f835e08a0ba8e86d894d58a9916d4f01", | |
| 12 | "mtime_ns": 1788674679363426341 | |
| 13 | }, | |
| 14 | { | |
| 15 | "path": "Group A/Duplicate.one", | |
| 16 | "bytes": 23504, | |
| 17 | "sha256": "77d0ffb49f308122e1a9155d0941ccecece888cb8f9af395697569a7be70d308", | |
| 18 | "mtime_ns": 1788661593563832275 | |
| 19 | }, | |
| 20 | { | |
| 21 | "path": "Group A/Open Notebook.onetoc2", | |
| 22 | "bytes": 3760, | |
| 23 | "sha256": "945d36daadca6eef55cc34107f6415356836ec79ca2b484a7f1adc0643fa27e0", | |
| 24 | "mtime_ns": 1788661593563917316 | |
| 25 | }, | |
| 26 | { | |
| 27 | "path": "Group B/Nested/Duplicate.one", | |
| 28 | "bytes": 23424, | |
| 29 | "sha256": "952dd1766415dd2c622d6981eb1eb6bf9d3415abf50735048529240c6ae40343", | |
| 30 | "mtime_ns": 1788661593564205357 | |
| 31 | }, | |
| 32 | { | |
| 33 | "path": "Group B/Nested/Open Notebook.onetoc2", | |
| 34 | "bytes": 3760, | |
| 35 | "sha256": "12e9cefade3dfdce9ad27bdc678b6401c71a5ab0fbeb260f94febc6c74fa0bc2", | |
| 36 | "mtime_ns": 1788661593564303940 | |
| 37 | }, | |
| 38 | { | |
| 39 | "path": "Group B/Open Notebook.onetoc2", | |
| 40 | "bytes": 3736, | |
| 41 | "sha256": "0f6318eae2aee05a8f909f009b7ef948e1e7973c34bc348659b7f5cf5dd63f4d", | |
| 42 | "mtime_ns": 1788661593564040816 | |
| 43 | }, | |
| 44 | { | |
| 45 | "path": "Open Notebook.onetoc2", | |
| 46 | "bytes": 5364, | |
| 47 | "sha256": "06ec4fb5b2454514eafae121f3f740c443053f8a4c857e6eb0dc59e5f8024233", | |
| 48 | "mtime_ns": 1788661593562572238 | |
| 49 | }, | |
| 50 | { | |
| 51 | "path": "fixture-data/Open Notebook.onetoc2", | |
| 52 | "bytes": 3656, | |
| 53 | "sha256": "7b2c9d872dfbec669423821452b76d9cca25d2eea83034623ecaf4cf601848ce", | |
| 54 | "mtime_ns": 1788661593562956029 | |
| 55 | }, | |
| 56 | { | |
| 57 | "path": "fixture-data/attachment.txt", | |
| 58 | "bytes": 27, | |
| 59 | "sha256": "4cff0039dbdf53a59f5f4e4592c29a5297ea3b7acce24415c0ae83c36c6bd7c2", | |
| 60 | "mtime_ns": 1788661593562850321 | |
| 61 | }, | |
| 62 | { | |
| 63 | "path": "fixture-data/pattern.bmp", | |
| 64 | "bytes": 18486, | |
| 65 | "sha256": "d7802912d031a974c277d1500f845faf7d1d5dc3dd9d5a3daf69c44db8d9dbf5", | |
| 66 | "mtime_ns": 1788661593563127403 | |
| 67 | }, | |
| 68 | { | |
| 69 | "path": "fixture-data/pattern.gif", | |
| 70 | "bytes": 3902, | |
| 71 | "sha256": "e0d351f33d156bf3d77b4912269768e2261c0c4850a8e78a87c245a2db2c5953", | |
| 72 | "mtime_ns": 1788661593563230986 | |
| 73 | }, | |
| 74 | { | |
| 75 | "path": "fixture-data/pattern.jpg", | |
| 76 | "bytes": 1071, | |
| 77 | "sha256": "bf7ef0fb92642d75f186c27a0ba662138c7c3f9ea85b1c478805a229cda451ed", | |
| 78 | "mtime_ns": 1788661593563318944 | |
| 79 | }, | |
| 80 | { | |
| 81 | "path": "fixture-data/pattern.png", | |
| 82 | "bytes": 250, | |
| 83 | "sha256": "02065dc5a46ae9a4adc68d0fff2641b62cedaa396f59f93ec6ac79c8b358904a", | |
| 84 | "mtime_ns": 1788661593563399569 | |
| 85 | }, | |
| 86 | { | |
| 87 | "path": "fixture-data/pattern.tiff", | |
| 88 | "bytes": 18572, | |
| 89 | "sha256": "fbbc74945e085389c3e994bfab64c26144056066e0d631512e62a3007b373427", | |
| 90 | "mtime_ns": 1788661593563547193 | |
| 91 | }, | |
| 92 | { | |
| 93 | "path": "fixture-data/silence.wav", | |
| 94 | "bytes": 16044, | |
| 95 | "sha256": "56d4af65701c26df20bd4021eda95b6e830348ce3a746086079fe89285548dc9", | |
| 96 | "mtime_ns": 1788661593563674442 | |
| 97 | }, | |
| 98 | { | |
| 99 | "path": "fixture.json", | |
| 100 | "bytes": 12415, | |
| 101 | "sha256": "d3c2142230816e8717c7612a5d2ca816a7551cebc2bc445846f3824d3a44dbc3", | |
| 102 | "mtime_ns": 1788661593562325448 | |
| 103 | }, | |
| 104 | { | |
| 105 | "path": "synthetic.one", | |
| 106 | "bytes": 7428, | |
| 107 | "sha256": "eb1e702f86562e91efcabf0065211efdeaf39bdc977beb82382faf901bf3b2c4", | |
| 108 | "mtime_ns": 1788661593562715779 | |
| 109 | } | |
| 110 | ] |
corpus/m6/rust-collapse-control-01/teardown.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | {"absent": true} |
corpus/m7/automatic-titles/README.md created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | # Native automatic-title fixtures | |
| 2 | ||
| 3 | OneNote 2010 authored these synthetic sections in disposable, isolated Windows | |
| 4 | profiles. `provenance.json` records their capture paths and hashes. | |
| 5 | ||
| 6 | - `rtl-and-attachments.one`: RTL outline order, RTL table cells, and attachments | |
| 7 | preceding text. RTL outlines choose descending x position; RTL rows use the | |
| 8 | last stored cell first. Attachments do not supply automatic text titles. | |
| 9 | - `widths-and-limits.one`: differing outline widths establish that ordering uses | |
| 10 | the x anchor, not the right edge. Automatic titles trim the truncated result | |
| 11 | and count UTF-16 units without requiring grapheme boundaries. | |
| 12 | ||
| 13 | `tests/edit.rs` edits each relevant body candidate and checks the native-derived | |
| 14 | navigation label while preserving unrelated properties and historical objects. |
corpus/m7/automatic-titles/provenance.json created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | [ | |
| 2 | { | |
| 3 | "path": "rtl-and-attachments.one", | |
| 4 | "sha256": "85aaa8be3dc4662acfc42d4c191471d11ed2e94b2574bc819fd1320b94ce52e7", | |
| 5 | "source": "evidence/m7/automatic-title-native-04/notebook/synthetic.one", | |
| 6 | "bytes": 41052 | |
| 7 | }, | |
| 8 | { | |
| 9 | "path": "widths-and-limits.one", | |
| 10 | "sha256": "69cc44b8c5ebc7125f442e7a257738bf20d3796156e44b201eaead7da7486d5a", | |
| 11 | "source": "evidence/m7/automatic-title-native-05/notebook/synthetic.one", | |
| 12 | "bytes": 37324 | |
| 13 | } | |
| 14 | ] | |
| \ No newline at end of file |
corpus/m7/automatic-titles/rtl-and-attachments.one created| Binary files /dev/null and b/corpus/m7/automatic-titles/rtl-and-attachments.one differ |
corpus/m7/automatic-titles/widths-and-limits.one created| Binary files /dev/null and b/corpus/m7/automatic-titles/widths-and-limits.one differ |
corpus/m7/empty-final-run/README.md created+13| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | # Empty final formatting run | |
| 2 | ||
| 3 | `input` is the 24-byte minimized stateful fuzz input retained from the M7 text | |
| 4 | editing campaign. The old oracle represented only characters and lost the | |
| 5 | insertion style of an emptied final run. An insertion there inherited the | |
| 6 | retained final run's style, which disagreed with that incomplete oracle. | |
| 7 | ||
| 8 | The stable semantic replay is | |
| 9 | `tests/edit.rs::an_emptied_final_run_retains_its_insertion_style`: erase UTF-16 | |
| 10 | positions 22..27 in the native formatted fixture, insert `a` at 22, and require | |
| 11 | the original final run's formatting. The current fuzz oracle carries an explicit | |
| 12 | terminal style marker. Fixture-selection bytes have changed as cases were added; | |
| 13 | the named regression is the replay independent of that encoding. |
corpus/m7/empty-final-run/input created| Binary files /dev/null and b/corpus/m7/empty-final-run/input differ |
corpus/malformed/README.md created+6| ... | ... | @@ -0,0 +1,6 @@ |
| 1 | `native-inflight.one` was read without exclusion during OneNote 2010's shared | |
| 2 | conflict save. Its committed revision references an object space that was not | |
| 3 | yet present. The eventual locked snapshot is valid and lives in | |
| 4 | `../collaboration/round-01/live/notebook/`. This intermediate file is a rejection | |
| 5 | fixture, not an accepted notebook. The commit test checks that even a no-op edit | |
| 6 | fails graph validation before any storage I/O. |
corpus/malformed/native-inflight.one created| Binary files /dev/null and b/corpus/malformed/native-inflight.one differ |
corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one created| Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one differ |
corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/Open Notebook.one created| Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/Open Notebook.one differ |
corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ |
corpus/native-delete/cold-deletion-05/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/Open Notebook.one differ |
corpus/native-delete/cold-deletion-05/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/Open Notebook.onetoc2 differ |
corpus/native-delete/cold-deletion-05/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native-delete/cold-deletion-05/notebook/synthetic.one differ |
corpus/native-delete/cold-deletion-05/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/native-delete/cold-deletion-05/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{5F1D2055-5661-4021-A539-F77746FACC99}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#9595AA"><one:Section name="synthetic" ID="{E11482BF-735E-0455-3840-4188C63CD178}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#8AA8E4"><one:Page ID="{CD5D7139-FA95-4744-BF27-E9193A04CD67}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{C879886F-FFED-48DF-8CF6-DEEC1DAD972E}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#ADE792"/><one:SectionGroup name="OneNote_RecycleBin" ID="{2E5DCD9A-04C7-4A74-9C4A-3767FB928F82}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\OneNote_RecycleBin" lastModifiedTime="2026-09-05T05:13:46.000Z" isRecycleBin="true"><one:Section name="Deleted Pages" ID="{6EB4399B-1CBB-00A9-124E-A4E0F98BC4B6}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\OneNote_RecycleBin\OneNote_DeletedPages.one" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#E1E1E1" isInRecycleBin="true" isDeletedPages="true"><one:Page ID="{5DD9F0BE-8050-019B-2E02-936121D4A593}{1}{B0}" name="Recoverable deletion marker." dateTime="2026-09-05T05:13:44.000Z" lastModifiedTime="2026-09-05T05:13:46.000Z" pageLevel="1" isInRecycleBin="true"/></one:Section><one:Section name="Open Notebook" ID="{DBE9B68D-98D6-4D12-8F69-8B6278A3CEFA}{1}{B0}" path="C:\one-tests\runs\cold-deletion-05\notebook\OneNote_RecycleBin\Open Notebook.one" lastModifiedTime="2026-09-05T05:13:46.000Z" color="#4DBCCA" isInRecycleBin="true"/></one:SectionGroup></one:Notebook> |
corpus/native-delete/cold-deletion-05/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5DD9F0BE-8050-019B-2E02-936121D4A593}{1}{B0}" name="Recoverable deletion marker." dateTime="2026-09-05T05:13:44.000Z" lastModifiedTime="2026-09-05T05:13:46.000Z" pageLevel="1" isInRecycleBin="true" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:13:45.000Z" objectID="{1EFF9E5A-18D8-0D07-1AE2-A087D42E5BAA}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="171.9595184326172" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:13:45.000Z" lastModifiedTime="2026-09-05T05:13:45.000Z" objectID="{1EFF9E5A-18D8-0D07-1AE2-A087D42E5BAA}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Recoverable deletion marker.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native-delete/cold-deletion-05/read/page-001.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CD5D7139-FA95-4744-BF27-E9193A04CD67}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{AA91D985-B1E0-44F2-B0D5-65C2C5982806}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{AA91D985-B1E0-44F2-B0D5-65C2C5982806}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{887CF517-E908-4A41-AD4D-C74A051845D2}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{887CF517-E908-4A41-AD4D-C74A051845D2}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{FC210590-02B5-4EAF-AA63-E74A6194CC4F}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{FC210590-02B5-4EAF-AA63-E74A6194CC4F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{C1086D1F-E42F-4701-9C13-4CBE8DF984C1}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{C1086D1F-E42F-4701-9C13-4CBE8DF984C1}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{4412757F-2257-44C7-B9BE-2B40B9284BF2}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{4412757F-2257-44C7-B9BE-2B40B9284BF2}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{6ACD0C2F-43C7-4F47-A6B6-C915917BB0B4}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native-delete/deletion-05/before/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-delete/deletion-05/before/Open Notebook.onetoc2 differ |
corpus/native-delete/deletion-05/before/synthetic.one created| Binary files /dev/null and b/corpus/native-delete/deletion-05/before/synthetic.one differ |
corpus/native-delete/deletion-05/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../cold-deletion-05/notebook/OneNote_RecycleBin/OneNote_DeletedPages.one | |
| \ No newline at end of file |
corpus/native-delete/deletion-05/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-delete/deletion-05/notebook/OneNote_RecycleBin/Open Notebook.onetoc2 differ |
corpus/native-delete/deletion-05/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-delete/deletion-05/notebook/Open Notebook.onetoc2 differ |
corpus/native-delete/deletion-05/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../cold-deletion-05/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native-encrypted/cold-encrypted-02/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native-encrypted/cold-encrypted-02/notebook/Open Notebook.one differ |
corpus/native-encrypted/cold-encrypted-02/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-encrypted/cold-encrypted-02/notebook/Open Notebook.onetoc2 differ |
corpus/native-encrypted/cold-encrypted-02/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native-encrypted/cold-encrypted-02/notebook/synthetic.one differ |
corpus/native-encrypted/cold-encrypted-02/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/native-encrypted/cold-encrypted-02/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{AD8774CA-4439-4E4C-8EF1-245F57E9EF5D}{1}{B0}" path="C:\one-tests\runs\cold-encrypted-02\notebook" lastModifiedTime="2026-09-05T06:04:26.000Z" color="#9595AA" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{4C08A8E6-110F-0EFB-2689-97F336F79C5A}{1}{B0}" path="C:\one-tests\runs\cold-encrypted-02\notebook\synthetic.one" lastModifiedTime="2026-09-05T06:04:23.000Z" color="#8AA8E4" encrypted="true" isCurrentlyViewed="true"><one:Page ID="{C4157496-F80F-0371-2A7C-90850A14A044}{14}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:04:23.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section><one:Section name="Open Notebook" ID="{F3BD1E6D-7715-43FC-8CB5-12EBED237E70}{1}{B0}" path="C:\one-tests\runs\cold-encrypted-02\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T06:04:26.000Z" color="#AB9CB7"/></one:Notebook> |
corpus/native-encrypted/cold-encrypted-02/read/page-000.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C4157496-F80F-0371-2A7C-90850A14A044}{14}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:04:23.000Z" pageLevel="1" isCurrentlyViewed="true" selected="partial" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline selected="partial" author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{20}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren selected="partial"><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{19}{B0}" alignment="left" quickStyleIndex="0" selected="partial" style="font-family:Calibri;font-size:11.0pt;color:#1F4E79"><one:T selected="all"><![CDATA[]]></one:T><one:T style="font-size:11.0pt;color:#1F4E79"><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{25}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{24}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{34}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{27}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{33}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{32}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Temp\OneNote\14.0\DNT\8722b1ff-e9f5-47ac-a873-6d5fcbde718b.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{44}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{43}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{42}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{41}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{40}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{39}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{37}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{8682448A-9700-01A2-3B9E-B43BFFC473FA}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native-encrypted/encrypted-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-encrypted/encrypted-01/notebook/Open Notebook.onetoc2 differ |
corpus/native-encrypted/encrypted-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native-encrypted/encrypted-01/notebook/synthetic.one differ |
corpus/native-encrypted/manifest.json created+56| ... | ... | @@ -0,0 +1,56 @@ |
| 1 | { | |
| 2 | "captured_utc": "2026-09-05T06:05:21.931098+00:00", | |
| 3 | "native_build": "14.0.7015.1000", | |
| 4 | "source_fixture": "../native/20260905-05/snapshots/07-table/notebook", | |
| 5 | "password": "fictitious-only", | |
| 6 | "operations": [ | |
| 7 | "Fresh isolated cache; opened a disposable copy at C:\\one-tests\\runs\\encrypted-01\\notebook", | |
| 8 | "Section context menu: Password Protect This Section; Set Password; Lock All; close UI and verify process exit", | |
| 9 | "Fresh isolated cache at cold-encrypted-02; observed locked section; unlocked in UI with fixture password", | |
| 10 | "read-current.ps1 -Root C:\\one-tests\\runs\\cold-encrypted-02 -ExpectedPages 1 -UseCurrentCache; exit 0", | |
| 11 | "Closed UI and verified process exit" | |
| 12 | ], | |
| 13 | "files": [ | |
| 14 | { | |
| 15 | "path": "cold-encrypted-02/notebook/Open Notebook.one", | |
| 16 | "bytes": 3360, | |
| 17 | "sha256": "f140e4d90d5cb3cc114864d09bf49a8864d0e2129d1ccb4d19f81d5e61789eb8" | |
| 18 | }, | |
| 19 | { | |
| 20 | "path": "cold-encrypted-02/notebook/Open Notebook.onetoc2", | |
| 21 | "bytes": 5072, | |
| 22 | "sha256": "8e662d3d07ad6d49c4a84ba3cd2092a293f40926ad5d373420b630a635b3c869" | |
| 23 | }, | |
| 24 | { | |
| 25 | "path": "cold-encrypted-02/notebook/synthetic.one", | |
| 26 | "bytes": 17560, | |
| 27 | "sha256": "7a6e519cc0ef8de10357ffd52a32bd94c33ea09d8e420ff2d0b216ed141ff695" | |
| 28 | }, | |
| 29 | { | |
| 30 | "path": "cold-encrypted-02/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment", | |
| 31 | "bytes": 43, | |
| 32 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7" | |
| 33 | }, | |
| 34 | { | |
| 35 | "path": "cold-encrypted-02/read/hierarchy.xml", | |
| 36 | "bytes": 1056, | |
| 37 | "sha256": "4bd3bd85e825a869f6723e4c5a58c3098a681bb4056a84f88254136ac1dd3867" | |
| 38 | }, | |
| 39 | { | |
| 40 | "path": "cold-encrypted-02/read/page-000.xml", | |
| 41 | "bytes": 5588, | |
| 42 | "sha256": "6109c0d91b13a29df310ec5b9a3fdf9be3730fee1e889e48871622b6c447cf9e" | |
| 43 | }, | |
| 44 | { | |
| 45 | "path": "encrypted-01/notebook/Open Notebook.onetoc2", | |
| 46 | "bytes": 4936, | |
| 47 | "sha256": "9646f8eedc864b94ecbda3c0aacc5d979b9c1b8d35ad0738ea34863cb55dc90b" | |
| 48 | }, | |
| 49 | { | |
| 50 | "path": "encrypted-01/notebook/synthetic.one", | |
| 51 | "bytes": 17560, | |
| 52 | "sha256": "7a6e519cc0ef8de10357ffd52a32bd94c33ea09d8e420ff2d0b216ed141ff695" | |
| 53 | } | |
| 54 | ], | |
| 55 | "native_observation": "The cold unlocked page contains one empty leading paragraph before the original four text paragraphs. This UI-produced state is part of the fixture oracle." | |
| 56 | } |
corpus/native-ink/20260905-ui/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-ink/20260905-ui/notebook/Open Notebook.onetoc2 differ |
corpus/native-ink/20260905-ui/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native-ink/20260905-ui/notebook/synthetic.one differ |
corpus/native-ink/cold-ui-ink/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native-ink/cold-ui-ink/notebook/Open Notebook.one differ |
corpus/native-ink/cold-ui-ink/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native-ink/cold-ui-ink/notebook/Open Notebook.onetoc2 differ |
corpus/native-ink/cold-ui-ink/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-ui/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native-ink/cold-ui-ink/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/native-ink/cold-ui-ink/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FB19F9CC-DB45-4AEF-8BE7-4207367AB38C}{1}{B0}" path="C:\one-tests\runs\cold-ui-ink\notebook" lastModifiedTime="2026-09-05T05:12:47.000Z" color="#9595AA"><one:Section name="synthetic" ID="{31612912-3F4A-05E0-1F6D-22582F8A7AE2}{1}{B0}" path="C:\one-tests\runs\cold-ui-ink\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:12:47.000Z" color="#8AA8E4"><one:Page ID="{1D28DA94-B681-46F1-980A-8AC9D3B266FD}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{2B1C8CDD-462A-4BDE-BB8A-775238F65E47}{1}{B0}" path="C:\one-tests\runs\cold-ui-ink\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:12:47.000Z" color="#F5F96F"/></one:Notebook> |
corpus/native-ink/cold-ui-ink/read/page-000.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1D28DA94-B681-46F1-980A-8AC9D3B266FD}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{7AE47228-FDF4-4547-97F8-06122C2E839C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{7AE47228-FDF4-4547-97F8-06122C2E839C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{58095EBA-A51C-4BF4-8A60-A49AECAEEE48}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{58095EBA-A51C-4BF4-8A60-A49AECAEEE48}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{2C54AE3D-4EA1-4F1A-8D4E-849A882267D5}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{2C54AE3D-4EA1-4F1A-8D4E-849A882267D5}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{117DC6B2-A83B-46B4-BB3E-2F6E644F2F5B}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{117DC6B2-A83B-46B4-BB3E-2F6E644F2F5B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{9467DED2-6E43-4572-9E93-4890509EE068}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{9467DED2-6E43-4572-9E93-4890509EE068}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{BAB8A782-0FD3-4EF2-819B-AAC578CD1B2E}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/.native-corpus.json created+5| ... | ... | @@ -0,0 +1,5 @@ |
| 1 | { | |
| 2 | "format": "onenote-native-stage1-root-v1", | |
| 3 | "root": "C:\\one-tests\\runs\\20260905-05", | |
| 4 | "generated": true | |
| 5 | } |
corpus/native/20260905-05/assets/fictitious-attachment.txt created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/native/20260905-05/assets/fictitious-image.png created| Binary files /dev/null and b/corpus/native/20260905-05/assets/fictitious-image.png differ |
corpus/native/20260905-05/evidence/00-empty/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:53.000Z" color="#9595AA"><one:Section name="synthetic" ID="{8F2B1E24-1BCB-06DF-1A76-C3DADDCBC218}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:53.000Z" color="#8AA8E4"/></one:Notebook> |
corpus/native/20260905-05/evidence/00-empty/native.json created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | { | |
| 2 | "fixture": "00-empty", | |
| 3 | "notebook_id": "{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}", | |
| 4 | "section_id": "{8F2B1E24-1BCB-06DF-1A76-C3DADDCBC218}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | ||
| 8 | ] | |
| 9 | } |
corpus/native/20260905-05/evidence/00-empty/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{80EC7AFC-536F-46CE-932F-B31F680CF2BD}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:54.000Z" color="#9595AA"><one:Section name="synthetic" ID="{747EE904-56BC-0E83-2B6F-C99BBF8FA92F}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:54.000Z" color="#8AA8E4"/></one:Notebook> |
corpus/native/20260905-05/evidence/00-empty/reopened/native.json created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | { | |
| 2 | "expected_page_count": 0, | |
| 3 | "actual_page_count": 0, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | ||
| 7 | ] | |
| 8 | } |
corpus/native/20260905-05/evidence/01-blank-page/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:54.000Z" color="#9595AA"><one:Section name="synthetic" ID="{63B22DCB-CDA5-09EB-2BD2-88573B2DCA32}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:54.000Z" color="#8AA8E4"><one:Page ID="{4FFBDE4D-446E-4AFA-ACB5-20C6C715D62D}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:54.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/01-blank-page/native.json created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | { | |
| 2 | "fixture": "01-blank-page", | |
| 3 | "notebook_id": "{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}", | |
| 4 | "section_id": "{63B22DCB-CDA5-09EB-2BD2-88573B2DCA32}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | { | |
| 8 | "id": "{4FFBDE4D-446E-4AFA-ACB5-20C6C715D62D}{1}{B0}", | |
| 9 | "file": "pages\\\\page-00.xml" | |
| 10 | } | |
| 11 | ] | |
| 12 | } |
corpus/native/20260905-05/evidence/01-blank-page/pages/page-00.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4FFBDE4D-446E-4AFA-ACB5-20C6C715D62D}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:54.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page> |
corpus/native/20260905-05/evidence/01-blank-page/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{2BEBEE9E-4409-456D-B6DA-1EA6BADED53F}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:55.000Z" color="#9595AA"><one:Section name="synthetic" ID="{BD56F160-9A53-0D0E-174C-4DA53719C7FA}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:55.000Z" color="#8AA8E4"><one:Page ID="{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/01-blank-page/reopened/native.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "expected_page_count": 1, | |
| 3 | "actual_page_count": 1, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "id": "{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}", | |
| 8 | "file": "pages\\\\page-00.xml" | |
| 9 | } | |
| 10 | ] | |
| 11 | } |
corpus/native/20260905-05/evidence/01-blank-page/reopened/pages/page-00.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page> |
corpus/native/20260905-05/evidence/02-text/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:55.000Z" color="#9595AA"><one:Section name="synthetic" ID="{54FFF47B-D5E8-0F67-0755-3A3C585D3E22}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:55.000Z" color="#8AA8E4"><one:Page ID="{78B607FD-5C23-4C76-8032-92ADA465223D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/02-text/native.json created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | { | |
| 2 | "fixture": "02-text", | |
| 3 | "notebook_id": "{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}", | |
| 4 | "section_id": "{54FFF47B-D5E8-0F67-0755-3A3C585D3E22}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | { | |
| 8 | "id": "{78B607FD-5C23-4C76-8032-92ADA465223D}{1}{B0}", | |
| 9 | "file": "pages\\\\page-00.xml" | |
| 10 | } | |
| 11 | ] | |
| 12 | } |
corpus/native/20260905-05/evidence/02-text/pages/page-00.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{78B607FD-5C23-4C76-8032-92ADA465223D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{1F7AAF41-1756-4FC0-8FC0-1E765BF9C75C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{1F7AAF41-1756-4FC0-8FC0-1E765BF9C75C}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/02-text/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FA2408D8-760F-4B00-8794-DF83984C07B0}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:56.000Z" color="#9595AA"><one:Section name="synthetic" ID="{1DC7BDE2-5C1E-039A-3066-25192C6B7107}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:56.000Z" color="#8AA8E4"><one:Page ID="{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/02-text/reopened/native.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "expected_page_count": 1, | |
| 3 | "actual_page_count": 1, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "id": "{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}", | |
| 8 | "file": "pages\\\\page-00.xml" | |
| 9 | } | |
| 10 | ] | |
| 11 | } |
corpus/native/20260905-05/evidence/02-text/reopened/pages/page-00.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/03-format-unicode-before.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | 02-text/reopened/pages/page-00.xml | |
| \ No newline at end of file |
corpus/native/20260905-05/evidence/03-format-unicode/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:56.000Z" color="#9595AA"><one:Section name="synthetic" ID="{D2385CFB-76BF-0BC5-1733-3ED568CA6CA5}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:56.000Z" color="#8AA8E4"><one:Page ID="{FE71AF7D-FF74-48D4-9054-964494F270BA}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/03-format-unicode/native.json created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | { | |
| 2 | "fixture": "03-format-unicode", | |
| 3 | "notebook_id": "{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}", | |
| 4 | "section_id": "{D2385CFB-76BF-0BC5-1733-3ED568CA6CA5}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | { | |
| 8 | "id": "{FE71AF7D-FF74-48D4-9054-964494F270BA}{1}{B0}", | |
| 9 | "file": "pages\\\\page-00.xml" | |
| 10 | } | |
| 11 | ] | |
| 12 | } |
corpus/native/20260905-05/evidence/03-format-unicode/pages/page-00.xml created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FE71AF7D-FF74-48D4-9054-964494F270BA}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{99BD07C1-B401-4B62-9FA6-1A9F6B6E95DB}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{99BD07C1-B401-4B62-9FA6-1A9F6B6E95DB}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/03-format-unicode/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4FF564B2-2F73-47D9-9140-0944C84A2A9F}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:57.000Z" color="#9595AA"><one:Section name="synthetic" ID="{9041B3FC-6DA4-0E18-20EE-FECC0EE56EAF}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:57.000Z" color="#8AA8E4"><one:Page ID="{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/03-format-unicode/reopened/native.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "expected_page_count": 1, | |
| 3 | "actual_page_count": 1, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "id": "{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}", | |
| 8 | "file": "pages\\\\page-00.xml" | |
| 9 | } | |
| 10 | ] | |
| 11 | } |
corpus/native/20260905-05/evidence/03-format-unicode/reopened/pages/page-00.xml created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{DBC4E8C6-AF1A-4EBF-A87B-DA860D4197D1}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{DBC4E8C6-AF1A-4EBF-A87B-DA860D4197D1}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/04-positioned-outline/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:57.000Z" color="#9595AA"><one:Section name="synthetic" ID="{02BC5154-D788-0AD7-1C4F-69A4CEC02CA7}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:57.000Z" color="#8AA8E4"><one:Page ID="{2EF5A2D2-5E43-49C6-9B28-C13532F830B8}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/04-positioned-outline/native.json created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | { | |
| 2 | "fixture": "04-positioned-outline", | |
| 3 | "notebook_id": "{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}", | |
| 4 | "section_id": "{02BC5154-D788-0AD7-1C4F-69A4CEC02CA7}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | { | |
| 8 | "id": "{2EF5A2D2-5E43-49C6-9B28-C13532F830B8}{1}{B0}", | |
| 9 | "file": "pages\\\\page-00.xml" | |
| 10 | } | |
| 11 | ] | |
| 12 | } |
corpus/native/20260905-05/evidence/04-positioned-outline/pages/page-00.xml created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2EF5A2D2-5E43-49C6-9B28-C13532F830B8}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{49390A6E-1536-4A70-94DA-4DEECD64D5D9}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{49390A6E-1536-4A70-94DA-4DEECD64D5D9}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{1F89D67B-A663-402D-8E6C-CF6669683190}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{1F89D67B-A663-402D-8E6C-CF6669683190}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/04-positioned-outline/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{8F6D3029-F262-4184-8607-BB24A0DF2C89}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:58.000Z" color="#9595AA"><one:Section name="synthetic" ID="{0A6B7693-584E-05A9-3A23-2DAC8B3992C3}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:58.000Z" color="#8AA8E4"><one:Page ID="{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/04-positioned-outline/reopened/native.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "expected_page_count": 1, | |
| 3 | "actual_page_count": 1, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "id": "{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}", | |
| 8 | "file": "pages\\\\page-00.xml" | |
| 9 | } | |
| 10 | ] | |
| 11 | } |
corpus/native/20260905-05/evidence/04-positioned-outline/reopened/pages/page-00.xml created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{41EE2DA9-9AF0-450E-B2B6-09E6889D6BBD}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{41EE2DA9-9AF0-450E-B2B6-09E6889D6BBD}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{175EF1BC-29A5-4F53-A800-8B6E2C918FF4}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{175EF1BC-29A5-4F53-A800-8B6E2C918FF4}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/05-image/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:58.000Z" color="#9595AA"><one:Section name="synthetic" ID="{BDE7B8CE-74E2-0A61-198D-D2B08E3E4816}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:58.000Z" color="#8AA8E4"><one:Page ID="{91AE4B48-FD29-4970-9EEA-7A2172065409}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/05-image/native.json created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | { | |
| 2 | "fixture": "05-image", | |
| 3 | "notebook_id": "{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}", | |
| 4 | "section_id": "{BDE7B8CE-74E2-0A61-198D-D2B08E3E4816}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | { | |
| 8 | "id": "{91AE4B48-FD29-4970-9EEA-7A2172065409}{1}{B0}", | |
| 9 | "file": "pages\\\\page-00.xml" | |
| 10 | } | |
| 11 | ] | |
| 12 | } |
corpus/native/20260905-05/evidence/05-image/pages/page-00.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{91AE4B48-FD29-4970-9EEA-7A2172065409}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{F662E3F4-B65C-4AC6-9118-F6FA8D9AB168}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{F662E3F4-B65C-4AC6-9118-F6FA8D9AB168}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{A0D23FE1-0509-409B-8BAE-747229965521}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{A0D23FE1-0509-409B-8BAE-747229965521}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{9DFB576E-E393-4935-BDDE-DF86C5FB1DAF}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{9DFB576E-E393-4935-BDDE-DF86C5FB1DAF}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/05-image/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{2564F4D2-105C-4565-8A9B-A60B80FC54F0}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:59.000Z" color="#9595AA"><one:Section name="synthetic" ID="{99DBA74D-4FAA-05D5-3C73-4FAFA5B2BC03}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:59.000Z" color="#8AA8E4"><one:Page ID="{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/05-image/reopened/native.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "expected_page_count": 1, | |
| 3 | "actual_page_count": 1, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "id": "{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}", | |
| 8 | "file": "pages\\\\page-00.xml" | |
| 9 | } | |
| 10 | ] | |
| 11 | } |
corpus/native/20260905-05/evidence/05-image/reopened/pages/page-00.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D25EFC77-8D14-4572-B4E6-6BE5A616457D}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D25EFC77-8D14-4572-B4E6-6BE5A616457D}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{84EE2062-3E41-4F2F-AE50-E96D021AA134}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{84EE2062-3E41-4F2F-AE50-E96D021AA134}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B9C748ED-D8DB-4681-9820-4299EE77E9BA}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B9C748ED-D8DB-4681-9820-4299EE77E9BA}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/06-attachment/attachment.txt created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../assets/fictitious-attachment.txt | |
| \ No newline at end of file |
corpus/native/20260905-05/evidence/06-attachment/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:06:59.000Z" color="#9595AA"><one:Section name="synthetic" ID="{DBB044A3-E570-06B3-04CF-BDFD9C8021D8}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:06:59.000Z" color="#8AA8E4"><one:Page ID="{F7F9B725-6CBB-45A2-83A8-156C60B83DC7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/06-attachment/native.json created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | { | |
| 2 | "fixture": "06-attachment", | |
| 3 | "notebook_id": "{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}", | |
| 4 | "section_id": "{DBB044A3-E570-06B3-04CF-BDFD9C8021D8}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | { | |
| 8 | "id": "{F7F9B725-6CBB-45A2-83A8-156C60B83DC7}{1}{B0}", | |
| 9 | "file": "pages\\\\page-00.xml" | |
| 10 | } | |
| 11 | ] | |
| 12 | } |
corpus/native/20260905-05/evidence/06-attachment/pages/page-00.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F7F9B725-6CBB-45A2-83A8-156C60B83DC7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90351F99-27CE-4614-8C5A-99B79F24D8A6}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90351F99-27CE-4614-8C5A-99B79F24D8A6}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{C685C38C-949B-4C49-96EC-1B3F3B283CEF}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{C685C38C-949B-4C49-96EC-1B3F3B283CEF}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{FBACAB03-7201-45E7-A09C-B0CBD7457461}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{FBACAB03-7201-45E7-A09C-B0CBD7457461}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{7EB6B363-B479-4621-8531-D735E394BB52}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{7EB6B363-B479-4621-8531-D735E394BB52}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/06-attachment/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{6E4BD2A7-26FC-4985-94A3-8ECC2081F131}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:00.000Z" color="#9595AA"><one:Section name="synthetic" ID="{DB3BABAD-5F9C-0532-30E4-8A9D163690C8}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:00.000Z" color="#8AA8E4"><one:Page ID="{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/06-attachment/reopened/native.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "expected_page_count": 1, | |
| 3 | "actual_page_count": 1, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "id": "{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}", | |
| 8 | "file": "pages\\\\page-00.xml" | |
| 9 | } | |
| 10 | ] | |
| 11 | } |
corpus/native/20260905-05/evidence/06-attachment/reopened/pages/page-00.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90BEF097-9D22-4595-B871-AED7159269B6}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90BEF097-9D22-4595-B871-AED7159269B6}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{C60E2C82-2E77-4FC8-A2C7-2C5FB19E8DFF}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{C60E2C82-2E77-4FC8-A2C7-2C5FB19E8DFF}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{FB27440D-C8ED-4666-94B7-87AB5DF3C571}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{FB27440D-C8ED-4666-94B7-87AB5DF3C571}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{7E3D5C6D-0E95-45A0-B11A-E05569220A42}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{7E3D5C6D-0E95-45A0-B11A-E05569220A42}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/07-table/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:00.000Z" color="#9595AA"><one:Section name="synthetic" ID="{11D22281-460E-0999-06F6-9BFE9C650DEB}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:00.000Z" color="#8AA8E4"><one:Page ID="{3D9BD107-CFC5-4A88-8191-336F605D11F4}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/07-table/native.json created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | { | |
| 2 | "fixture": "07-table", | |
| 3 | "notebook_id": "{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}", | |
| 4 | "section_id": "{11D22281-460E-0999-06F6-9BFE9C650DEB}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | { | |
| 8 | "id": "{3D9BD107-CFC5-4A88-8191-336F605D11F4}{1}{B0}", | |
| 9 | "file": "pages\\\\page-00.xml" | |
| 10 | } | |
| 11 | ] | |
| 12 | } |
corpus/native/20260905-05/evidence/07-table/pages/page-00.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3D9BD107-CFC5-4A88-8191-336F605D11F4}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{5A5779BB-84B0-493E-8E63-BFB49FC1F495}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{5A5779BB-84B0-493E-8E63-BFB49FC1F495}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{0CE7A5AE-37E5-4363-94D5-3D3C3BCD10DC}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{0CE7A5AE-37E5-4363-94D5-3D3C3BCD10DC}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{31CECD21-D17F-4ACD-A2A5-96C8D7A05852}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{31CECD21-D17F-4ACD-A2A5-96C8D7A05852}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{B4D4D541-1707-490B-8708-F136E3719761}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{B4D4D541-1707-490B-8708-F136E3719761}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{9A0BAC11-7697-428B-9800-1363CB226C27}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/07-table/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FF93F995-F8D1-4378-98BA-17D0BE52B0CF}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:01.000Z" color="#9595AA"><one:Section name="synthetic" ID="{0E6E067E-8A30-0475-0412-897099CDA222}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:01.000Z" color="#8AA8E4"><one:Page ID="{2227F5F8-03FB-4764-8375-21E165F5BE3D}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:01.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/07-table/reopened/native.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "expected_page_count": 1, | |
| 3 | "actual_page_count": 1, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "id": "{2227F5F8-03FB-4764-8375-21E165F5BE3D}{1}{B0}", | |
| 8 | "file": "pages\\\\page-00.xml" | |
| 9 | } | |
| 10 | ] | |
| 11 | } |
corpus/native/20260905-05/evidence/07-table/reopened/pages/page-00.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2227F5F8-03FB-4764-8375-21E165F5BE3D}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:01.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{45EB5D44-488E-44D2-8C87-AD3A9A695B5C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{45EB5D44-488E-44D2-8C87-AD3A9A695B5C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{135B8151-FBDB-4E8F-9631-2FB23E65BF15}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{135B8151-FBDB-4E8F-9631-2FB23E65BF15}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{2E72E9DE-1D41-4721-A041-8446D208F79B}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{2E72E9DE-1D41-4721-A041-8446D208F79B}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{AB68F1BE-DB39-44E7-85EC-E3B8E6D938A8}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{AB68F1BE-DB39-44E7-85EC-E3B8E6D938A8}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{85B788EE-BAA9-4F67-9AE4-01EDCE8AC3EE}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/08-onepkg/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:02.000Z" color="#9595AA"><one:Section name="synthetic" ID="{C492F1FE-F062-01AA-3B64-DA544197518C}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:02.000Z" color="#8AA8E4"><one:Page ID="{E8DB0278-79A9-42BB-BC03-72C5BDAF4D93}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:02.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/08-onepkg/native.json created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | { | |
| 2 | "fixture": "08-onepkg", | |
| 3 | "notebook_id": "{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}", | |
| 4 | "section_id": "{C492F1FE-F062-01AA-3B64-DA544197518C}{1}{B0}", | |
| 5 | "hierarchy_file": "hierarchy.xml", | |
| 6 | "pages": [ | |
| 7 | { | |
| 8 | "id": "{E8DB0278-79A9-42BB-BC03-72C5BDAF4D93}{1}{B0}", | |
| 9 | "file": "pages\\\\page-00.xml" | |
| 10 | } | |
| 11 | ] | |
| 12 | } |
corpus/native/20260905-05/evidence/08-onepkg/pages/page-00.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E8DB0278-79A9-42BB-BC03-72C5BDAF4D93}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:02.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{8F17AAC4-32DC-410D-B3F1-FE1E4233A8F2}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{8F17AAC4-32DC-410D-B3F1-FE1E4233A8F2}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{D9A776D1-8189-4B50-A947-7C96E63F4CBB}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{D9A776D1-8189-4B50-A947-7C96E63F4CBB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{E48E1E5E-6713-42FE-9F37-D7620A520435}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{E48E1E5E-6713-42FE-9F37-D7620A520435}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{6194063E-A16B-4138-BA9A-B09C3E83CB06}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{6194063E-A16B-4138-BA9A-B09C3E83CB06}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{4F4B7F6E-C0FB-4AB8-A592-52C916D03040}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/evidence/08-onepkg/reopened/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{CB79D4B5-DEB0-4C2C-A11A-398AC498FECD}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook" lastModifiedTime="2026-09-05T05:07:03.000Z" color="#9595AA"><one:Section name="synthetic" ID="{77410FF4-E3F4-0474-3B47-9BCA70B7258D}{1}{B0}" path="C:\one-tests\runs\20260905-05\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:07:03.000Z" color="#8AA8E4"><one:Page ID="{5B08FC72-6A3F-4765-BC20-335B8C8F3992}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:03.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/native/20260905-05/evidence/08-onepkg/reopened/native.json created+11| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | { | |
| 2 | "expected_page_count": 1, | |
| 3 | "actual_page_count": 1, | |
| 4 | "hierarchy_file": "hierarchy.xml", | |
| 5 | "pages": [ | |
| 6 | { | |
| 7 | "id": "{5B08FC72-6A3F-4765-BC20-335B8C8F3992}{1}{B0}", | |
| 8 | "file": "pages\\\\page-00.xml" | |
| 9 | } | |
| 10 | ] | |
| 11 | } |
corpus/native/20260905-05/evidence/08-onepkg/reopened/pages/page-00.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5B08FC72-6A3F-4765-BC20-335B8C8F3992}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:07:03.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{3CC454CE-214A-44D3-B3D2-BF807313DCF3}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{3CC454CE-214A-44D3-B3D2-BF807313DCF3}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{6A7488DB-921F-4E8E-A964-3D08D71F38BA}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{6A7488DB-921F-4E8E-A964-3D08D71F38BA}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{575DE054-7485-4720-9F14-96FC3B727034}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{575DE054-7485-4720-9F14-96FC3B727034}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{D247F834-B2FD-44E6-BAB9-F1020FA3BF07}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{D247F834-B2FD-44E6-BAB9-F1020FA3BF07}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{FC988164-D36D-4F66-A5B1-135727F04441}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/20260905-05/inputs/02-text.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}"><one:Outline><one:OEChildren><one:OE><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/native/20260905-05/inputs/03-format-unicode.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page ID="{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}" xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0" /><one:Size width="127.5136947631836" height="13.42771625518799" /><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span style="font-family:Calibri;font-size:11.0pt;font-weight:bold;color:#1F4E79">Fictitious: café, 東京, مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/native/20260905-05/inputs/04-positioned-outline.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}"><one:Outline><one:Position x="144" y="96"/><one:Size width="260" height="72"/><one:OEChildren><one:OE><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/native/20260905-05/inputs/05-image.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}"><one:Outline><one:Position x="144" y="192"/><one:Size width="96" height="96"/><one:OEChildren><one:OE><one:Image format="png"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoAAAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/native/20260905-05/inputs/06-attachment.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}"><one:Outline><one:Position x="264" y="192"/><one:OEChildren><one:OE><one:InsertedFile pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/native/20260905-05/inputs/07-table.xml created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}"><one:Outline><one:Position x="144" y="312"/><one:OEChildren><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="37.11"/><one:Column index="1" width="37.11"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> | |
| \ No newline at end of file |
corpus/native/20260905-05/manifest.json created+132| ... | ... | @@ -0,0 +1,132 @@ |
| 1 | { | |
| 2 | "format": "onenote-native-stage1-v1", | |
| 3 | "status": "completed", | |
| 4 | "root": "C:\\one-tests\\runs\\20260905-05", | |
| 5 | "created_at_utc": "2026-09-05T05:06:51.6546507Z", | |
| 6 | "office": { | |
| 7 | "prog_id": "OneNote.Application", | |
| 8 | "clsid": "{D7FAC39E-7FF1-49AA-98CF-A1DDD316337E}", | |
| 9 | "local_server": "C:\\PROGRA~1\\MICROS~1\\Office14\\ONENOTE.EXE", | |
| 10 | "executable": "C:\\PROGRA~1\\MICROS~1\\Office14\\ONENOTE.EXE", | |
| 11 | "file_version": "14.0.7015.1000", | |
| 12 | "xml_schema": "xs2010", | |
| 13 | "xml_schema_value": 1, | |
| 14 | "xml_namespace": "http://schemas.microsoft.com/office/onenote/2010/onenote" | |
| 15 | }, | |
| 16 | "harness": { | |
| 17 | "source_path": "C:\\one-tests\\corpus-current.ps1", | |
| 18 | "source_sha256": "2cd9906d578377b1a5e17fe92048feb7042936e38c00009a7b07850deee080d6" | |
| 19 | }, | |
| 20 | "notebook": { | |
| 21 | "path": "notebook", | |
| 22 | "section": "synthetic.one" | |
| 23 | }, | |
| 24 | "fixtures": [ | |
| 25 | { | |
| 26 | "name": "00-empty", | |
| 27 | "status": "captured", | |
| 28 | "description": "New notebook and section.", | |
| 29 | "at_utc": "2026-09-05T05:06:54.3238034Z", | |
| 30 | "details": { | |
| 31 | "evidence": "evidence\\00-empty", | |
| 32 | "reopened_evidence": "evidence\\00-empty\\reopened", | |
| 33 | "snapshot": "snapshots\\00-empty" | |
| 34 | } | |
| 35 | }, | |
| 36 | { | |
| 37 | "name": "01-blank-page", | |
| 38 | "status": "captured", | |
| 39 | "description": "Blank page with no title.", | |
| 40 | "at_utc": "2026-09-05T05:06:55.3868642Z", | |
| 41 | "details": { | |
| 42 | "evidence": "evidence\\01-blank-page", | |
| 43 | "reopened_evidence": "evidence\\01-blank-page\\reopened", | |
| 44 | "snapshot": "snapshots\\01-blank-page" | |
| 45 | } | |
| 46 | }, | |
| 47 | { | |
| 48 | "name": "02-text", | |
| 49 | "status": "captured", | |
| 50 | "description": "Plain text outline.", | |
| 51 | "at_utc": "2026-09-05T05:06:56.2119114Z", | |
| 52 | "details": { | |
| 53 | "evidence": "evidence\\02-text", | |
| 54 | "reopened_evidence": "evidence\\02-text\\reopened", | |
| 55 | "snapshot": "snapshots\\02-text" | |
| 56 | } | |
| 57 | }, | |
| 58 | { | |
| 59 | "name": "03-format-unicode", | |
| 60 | "status": "captured", | |
| 61 | "description": "Formatted Unicode text replacing the fetched outline.", | |
| 62 | "at_utc": "2026-09-05T05:06:57.3769780Z", | |
| 63 | "details": { | |
| 64 | "evidence": "evidence\\03-format-unicode", | |
| 65 | "reopened_evidence": "evidence\\03-format-unicode\\reopened", | |
| 66 | "snapshot": "snapshots\\03-format-unicode" | |
| 67 | } | |
| 68 | }, | |
| 69 | { | |
| 70 | "name": "04-positioned-outline", | |
| 71 | "status": "captured", | |
| 72 | "description": "Positioned text outline.", | |
| 73 | "at_utc": "2026-09-05T05:06:58.2790296Z", | |
| 74 | "details": { | |
| 75 | "evidence": "evidence\\04-positioned-outline", | |
| 76 | "reopened_evidence": "evidence\\04-positioned-outline\\reopened", | |
| 77 | "snapshot": "snapshots\\04-positioned-outline" | |
| 78 | } | |
| 79 | }, | |
| 80 | { | |
| 81 | "name": "05-image", | |
| 82 | "status": "captured", | |
| 83 | "description": "Generated PNG in a positioned outline.", | |
| 84 | "at_utc": "2026-09-05T05:06:59.3880930Z", | |
| 85 | "details": { | |
| 86 | "evidence": "evidence\\05-image", | |
| 87 | "reopened_evidence": "evidence\\05-image\\reopened", | |
| 88 | "snapshot": "snapshots\\05-image" | |
| 89 | } | |
| 90 | }, | |
| 91 | { | |
| 92 | "name": "06-attachment", | |
| 93 | "status": "captured", | |
| 94 | "description": "Generated attachment in a positioned outline.", | |
| 95 | "at_utc": "2026-09-05T05:07:00.4511539Z", | |
| 96 | "details": { | |
| 97 | "evidence": "evidence\\06-attachment", | |
| 98 | "reopened_evidence": "evidence\\06-attachment\\reopened", | |
| 99 | "snapshot": "snapshots\\06-attachment" | |
| 100 | } | |
| 101 | }, | |
| 102 | { | |
| 103 | "name": "07-table", | |
| 104 | "status": "captured", | |
| 105 | "description": "Two-cell native table.", | |
| 106 | "at_utc": "2026-09-05T05:07:01.4212093Z", | |
| 107 | "details": { | |
| 108 | "evidence": "evidence\\07-table", | |
| 109 | "reopened_evidence": "evidence\\07-table\\reopened", | |
| 110 | "snapshot": "snapshots\\07-table" | |
| 111 | } | |
| 112 | }, | |
| 113 | { | |
| 114 | "name": "08-onepkg", | |
| 115 | "status": "captured", | |
| 116 | "description": "Published OneNote package.", | |
| 117 | "at_utc": "2026-09-05T05:07:03.4253240Z", | |
| 118 | "details": { | |
| 119 | "capture": { | |
| 120 | "evidence": "evidence\\08-onepkg", | |
| 121 | "reopened_evidence": "evidence\\08-onepkg\\reopened", | |
| 122 | "snapshot": "snapshots\\08-onepkg" | |
| 123 | }, | |
| 124 | "bytes": 4564, | |
| 125 | "sha256": "3ab9a28370cce2548d74c5d2e57af80c4e046bd847bbd770b46ab39eab81cc2e", | |
| 126 | "package": "notebook.onepkg" | |
| 127 | } | |
| 128 | } | |
| 129 | ], | |
| 130 | "operation_log": "operation-log.jsonl", | |
| 131 | "completed_at_utc": "2026-09-05T05:07:03.4673264Z" | |
| 132 | } |
corpus/native/20260905-05/notebook.onepkg created| Binary files /dev/null and b/corpus/native/20260905-05/notebook.onepkg differ |
corpus/native/20260905-05/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/20260905-05/notebook/Open Notebook.onetoc2 differ |
corpus/native/20260905-05/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native/20260905-05/notebook/synthetic.one differ |
corpus/native/20260905-05/operation-log.jsonl created+101| ... | ... | @@ -0,0 +1,101 @@ |
| 1 | {"at_utc":"2026-09-05T05:06:52.3796922Z","fixture":"","action":"connect_com","details":{"prog_id":"OneNote.Application","schema":1}} | |
| 2 | {"at_utc":"2026-09-05T05:06:52.4216946Z","fixture":"","action":"generate_assets","details":{"image":"assets\\fictitious-image.png","attachment":"assets\\fictitious-attachment.txt"}} | |
| 3 | {"at_utc":"2026-09-05T05:06:52.4326952Z","fixture":"00-empty","action":"begin_fixture","details":{"description":"New notebook and section."}} | |
| 4 | {"at_utc":"2026-09-05T05:06:52.6047051Z","fixture":"00-empty","action":"create_notebook_section","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","notebook_id":"{2D70D1EA-76FA-4896-9B5E-F9BB582364DB}{1}{B0}","section_id":"{1EA20A4B-1B17-4366-B87E-DA1D0DFC7A6B}{1}{B0}"}} | |
| 5 | {"at_utc":"2026-09-05T05:06:52.8707203Z","fixture":"00-empty","action":"sync_hierarchy","details":{"notebook_id":"{2D70D1EA-76FA-4896-9B5E-F9BB582364DB}{1}{B0}","phase":"stabilize"}} | |
| 6 | {"at_utc":"2026-09-05T05:06:52.9447245Z","fixture":"00-empty","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{2D70D1EA-76FA-4896-9B5E-F9BB582364DB}{1}{B0}","confirmed":true}} | |
| 7 | {"at_utc":"2026-09-05T05:06:53.2587425Z","fixture":"00-empty","action":"copy_snapshot","details":{"file_count":2,"byte_count":8832,"sha256":"82f0f4c011de271c0ce91a385e38e09950b58f2ae08713e570ca71d4d09f5d0a"}} | |
| 8 | {"at_utc":"2026-09-05T05:06:53.8387756Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":0,"notebook_id":"{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}","actual_page_count":0}} | |
| 9 | {"at_utc":"2026-09-05T05:06:53.8997791Z","fixture":"00-empty","action":"capture_native_api","details":{"schema":1,"page_count":0}} | |
| 10 | {"at_utc":"2026-09-05T05:06:53.9047794Z","fixture":"00-empty","action":"sync_hierarchy","details":{"notebook_id":"{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}","phase":"persist"}} | |
| 11 | {"at_utc":"2026-09-05T05:06:53.9307809Z","fixture":"00-empty","action":"close_notebook","details":{"phase":"persist","notebook_id":"{D1F5A6FB-4A78-4C8A-87D0-3262527DD134}{1}{B0}","confirmed":true}} | |
| 12 | {"at_utc":"2026-09-05T05:06:54.2858012Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":0,"notebook_id":"{80EC7AFC-536F-46CE-932F-B31F680CF2BD}{1}{B0}","actual_page_count":0}} | |
| 13 | {"at_utc":"2026-09-05T05:06:54.3028022Z","fixture":"00-empty","action":"reopen_ready","details":{"expected_page_count":0,"actual_page_count":0}} | |
| 14 | {"at_utc":"2026-09-05T05:06:54.3378042Z","fixture":"01-blank-page","action":"begin_fixture","details":{"description":"Blank page with no title."}} | |
| 15 | {"at_utc":"2026-09-05T05:06:54.3858069Z","fixture":"01-blank-page","action":"create_new_page","details":{"style":"npsBlankPageNoTitle","page_id":"{58371A82-DF77-4D92-AC08-610A43B7B530}{1}{B0}","value":2}} | |
| 16 | {"at_utc":"2026-09-05T05:06:54.4508107Z","fixture":"01-blank-page","action":"sync_hierarchy","details":{"notebook_id":"{80EC7AFC-536F-46CE-932F-B31F680CF2BD}{1}{B0}","phase":"stabilize"}} | |
| 17 | {"at_utc":"2026-09-05T05:06:54.5848183Z","fixture":"01-blank-page","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{80EC7AFC-536F-46CE-932F-B31F680CF2BD}{1}{B0}","confirmed":true}} | |
| 18 | {"at_utc":"2026-09-05T05:06:54.6398215Z","fixture":"01-blank-page","action":"copy_snapshot","details":{"file_count":2,"byte_count":12824,"sha256":"d7d7380c3e7861b2cc6ed59b4e548e860a75f80d8c186b381134bb47af3617df"}} | |
| 19 | {"at_utc":"2026-09-05T05:06:54.9818410Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}","actual_page_count":1}} | |
| 20 | {"at_utc":"2026-09-05T05:06:55.0178431Z","fixture":"01-blank-page","action":"capture_native_api","details":{"schema":1,"page_count":1}} | |
| 21 | {"at_utc":"2026-09-05T05:06:55.0218433Z","fixture":"01-blank-page","action":"sync_hierarchy","details":{"notebook_id":"{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}","phase":"persist"}} | |
| 22 | {"at_utc":"2026-09-05T05:06:55.0428445Z","fixture":"01-blank-page","action":"close_notebook","details":{"phase":"persist","notebook_id":"{EB00B959-9882-45B1-908C-44DFF6F2B55A}{1}{B0}","confirmed":true}} | |
| 23 | {"at_utc":"2026-09-05T05:06:55.3348612Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{2BEBEE9E-4409-456D-B6DA-1EA6BADED53F}{1}{B0}","actual_page_count":1}} | |
| 24 | {"at_utc":"2026-09-05T05:06:55.3828640Z","fixture":"01-blank-page","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}} | |
| 25 | {"at_utc":"2026-09-05T05:06:55.3918645Z","fixture":"02-text","action":"begin_fixture","details":{"description":"Plain text outline."}} | |
| 26 | {"at_utc":"2026-09-05T05:06:55.5818753Z","fixture":"02-text","action":"update_page_content","details":{"input":"inputs\\\\02-text.xml","page_id":"{911F02E6-1398-4E1F-902B-E534CB21DBE5}{1}{B0}","kind":"plain_text_outline"}} | |
| 27 | {"at_utc":"2026-09-05T05:06:55.6258779Z","fixture":"02-text","action":"sync_hierarchy","details":{"notebook_id":"{2BEBEE9E-4409-456D-B6DA-1EA6BADED53F}{1}{B0}","phase":"stabilize"}} | |
| 28 | {"at_utc":"2026-09-05T05:06:55.7138829Z","fixture":"02-text","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{2BEBEE9E-4409-456D-B6DA-1EA6BADED53F}{1}{B0}","confirmed":true}} | |
| 29 | {"at_utc":"2026-09-05T05:06:55.7688860Z","fixture":"02-text","action":"copy_snapshot","details":{"file_count":2,"byte_count":16624,"sha256":"2d1c92b20e08b36ff4bf98314e3d214a4944430e0a0b0901423428da3f44d9f2"}} | |
| 30 | {"at_utc":"2026-09-05T05:06:56.0979049Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}","actual_page_count":1}} | |
| 31 | {"at_utc":"2026-09-05T05:06:56.1149058Z","fixture":"02-text","action":"capture_native_api","details":{"schema":1,"page_count":1}} | |
| 32 | {"at_utc":"2026-09-05T05:06:56.1189061Z","fixture":"02-text","action":"sync_hierarchy","details":{"notebook_id":"{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}","phase":"persist"}} | |
| 33 | {"at_utc":"2026-09-05T05:06:56.1369071Z","fixture":"02-text","action":"close_notebook","details":{"phase":"persist","notebook_id":"{58149BE9-F814-428F-BBD2-FC45BCC296CF}{1}{B0}","confirmed":true}} | |
| 34 | {"at_utc":"2026-09-05T05:06:56.1919102Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{FA2408D8-760F-4B00-8794-DF83984C07B0}{1}{B0}","actual_page_count":1}} | |
| 35 | {"at_utc":"2026-09-05T05:06:56.2079112Z","fixture":"02-text","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}} | |
| 36 | {"at_utc":"2026-09-05T05:06:56.2169117Z","fixture":"03-format-unicode","action":"begin_fixture","details":{"description":"Formatted Unicode text replacing the fetched outline."}} | |
| 37 | {"at_utc":"2026-09-05T05:06:56.4879272Z","fixture":"03-format-unicode","action":"update_page_content","details":{"input":"inputs\\\\03-format-unicode.xml","page_id":"{318E4E64-D5D5-408B-B701-8D88D0536D18}{1}{B0}","object_id":"{5642E6D8-9EA0-433D-B8F3-01532FCF8879}{10}{B0}","kind":"full_outline_replace"}} | |
| 38 | {"at_utc":"2026-09-05T05:06:56.5289295Z","fixture":"03-format-unicode","action":"sync_hierarchy","details":{"notebook_id":"{FA2408D8-760F-4B00-8794-DF83984C07B0}{1}{B0}","phase":"stabilize"}} | |
| 39 | {"at_utc":"2026-09-05T05:06:56.6189347Z","fixture":"03-format-unicode","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{FA2408D8-760F-4B00-8794-DF83984C07B0}{1}{B0}","confirmed":true}} | |
| 40 | {"at_utc":"2026-09-05T05:06:56.6709376Z","fixture":"03-format-unicode","action":"copy_snapshot","details":{"file_count":2,"byte_count":19544,"sha256":"18f0f9cbe70375c370bc35fb0f1e56514e3f09da26e4a18b30e8c5db932a6eb1"}} | |
| 41 | {"at_utc":"2026-09-05T05:06:56.9729549Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}","actual_page_count":1}} | |
| 42 | {"at_utc":"2026-09-05T05:06:56.9939561Z","fixture":"03-format-unicode","action":"capture_native_api","details":{"schema":1,"page_count":1}} | |
| 43 | {"at_utc":"2026-09-05T05:06:56.9979563Z","fixture":"03-format-unicode","action":"sync_hierarchy","details":{"notebook_id":"{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}","phase":"persist"}} | |
| 44 | {"at_utc":"2026-09-05T05:06:57.0179575Z","fixture":"03-format-unicode","action":"close_notebook","details":{"phase":"persist","notebook_id":"{A0DD33AA-0468-4676-A6E5-B9ECBA4C63E4}{1}{B0}","confirmed":true}} | |
| 45 | {"at_utc":"2026-09-05T05:06:57.3319754Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{4FF564B2-2F73-47D9-9140-0944C84A2A9F}{1}{B0}","actual_page_count":1}} | |
| 46 | {"at_utc":"2026-09-05T05:06:57.3729778Z","fixture":"03-format-unicode","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}} | |
| 47 | {"at_utc":"2026-09-05T05:06:57.3819783Z","fixture":"04-positioned-outline","action":"begin_fixture","details":{"description":"Positioned text outline."}} | |
| 48 | {"at_utc":"2026-09-05T05:06:57.4279809Z","fixture":"04-positioned-outline","action":"update_page_content","details":{"y":96,"page_id":"{BC08407A-E46F-4D09-A789-565DF2DD72B0}{1}{B0}","input":"inputs\\\\04-positioned-outline.xml","x":144}} | |
| 49 | {"at_utc":"2026-09-05T05:06:57.4559825Z","fixture":"04-positioned-outline","action":"sync_hierarchy","details":{"notebook_id":"{4FF564B2-2F73-47D9-9140-0944C84A2A9F}{1}{B0}","phase":"stabilize"}} | |
| 50 | {"at_utc":"2026-09-05T05:06:57.5229864Z","fixture":"04-positioned-outline","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{4FF564B2-2F73-47D9-9140-0944C84A2A9F}{1}{B0}","confirmed":true}} | |
| 51 | {"at_utc":"2026-09-05T05:06:57.5799896Z","fixture":"04-positioned-outline","action":"copy_snapshot","details":{"file_count":2,"byte_count":20368,"sha256":"95446de023992c6dd8557d57c9992eca81565b14fc7b664f8865e0f725ce2e5a"}} | |
| 52 | {"at_utc":"2026-09-05T05:06:57.8840070Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}","actual_page_count":1}} | |
| 53 | {"at_utc":"2026-09-05T05:06:57.9010080Z","fixture":"04-positioned-outline","action":"capture_native_api","details":{"schema":1,"page_count":1}} | |
| 54 | {"at_utc":"2026-09-05T05:06:57.9050082Z","fixture":"04-positioned-outline","action":"sync_hierarchy","details":{"notebook_id":"{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}","phase":"persist"}} | |
| 55 | {"at_utc":"2026-09-05T05:06:57.9240093Z","fixture":"04-positioned-outline","action":"close_notebook","details":{"phase":"persist","notebook_id":"{D8DBA7A8-AE6E-4BAF-B8D6-4829E1133A50}{1}{B0}","confirmed":true}} | |
| 56 | {"at_utc":"2026-09-05T05:06:58.2330270Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{8F6D3029-F262-4184-8607-BB24A0DF2C89}{1}{B0}","actual_page_count":1}} | |
| 57 | {"at_utc":"2026-09-05T05:06:58.2750294Z","fixture":"04-positioned-outline","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}} | |
| 58 | {"at_utc":"2026-09-05T05:06:58.2850300Z","fixture":"05-image","action":"begin_fixture","details":{"description":"Generated PNG in a positioned outline."}} | |
| 59 | {"at_utc":"2026-09-05T05:06:58.3830356Z","fixture":"05-image","action":"update_page_content","details":{"y":192,"input":"inputs\\\\05-image.xml","page_id":"{26228515-D185-46B8-BD44-853D77018EDC}{1}{B0}","asset":"assets\\fictitious-image.png","x":144}} | |
| 60 | {"at_utc":"2026-09-05T05:06:58.4830413Z","fixture":"05-image","action":"sync_hierarchy","details":{"notebook_id":"{8F6D3029-F262-4184-8607-BB24A0DF2C89}{1}{B0}","phase":"stabilize"}} | |
| 61 | {"at_utc":"2026-09-05T05:06:58.5210435Z","fixture":"05-image","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{8F6D3029-F262-4184-8607-BB24A0DF2C89}{1}{B0}","confirmed":true}} | |
| 62 | {"at_utc":"2026-09-05T05:06:58.6090485Z","fixture":"05-image","action":"copy_snapshot","details":{"file_count":2,"byte_count":22960,"sha256":"f0954ac3b586c8372b7f8da0821c668364ccb591aabbd2b59ebd431ede713245"}} | |
| 63 | {"at_utc":"2026-09-05T05:06:59.0050711Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}","actual_page_count":1}} | |
| 64 | {"at_utc":"2026-09-05T05:06:59.0230722Z","fixture":"05-image","action":"capture_native_api","details":{"schema":1,"page_count":1}} | |
| 65 | {"at_utc":"2026-09-05T05:06:59.0270724Z","fixture":"05-image","action":"sync_hierarchy","details":{"notebook_id":"{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}","phase":"persist"}} | |
| 66 | {"at_utc":"2026-09-05T05:06:59.0470735Z","fixture":"05-image","action":"close_notebook","details":{"phase":"persist","notebook_id":"{48D3CF06-7D14-487B-88C3-F8E48BE1A121}{1}{B0}","confirmed":true}} | |
| 67 | {"at_utc":"2026-09-05T05:06:59.3650917Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{2564F4D2-105C-4565-8A9B-A60B80FC54F0}{1}{B0}","actual_page_count":1}} | |
| 68 | {"at_utc":"2026-09-05T05:06:59.3840928Z","fixture":"05-image","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}} | |
| 69 | {"at_utc":"2026-09-05T05:06:59.3950934Z","fixture":"06-attachment","action":"begin_fixture","details":{"description":"Generated attachment in a positioned outline."}} | |
| 70 | {"at_utc":"2026-09-05T05:06:59.6001052Z","fixture":"06-attachment","action":"update_page_content","details":{"y":192,"input":"inputs\\\\06-attachment.xml","page_id":"{B59254CB-C661-46C4-BB14-E73E598AA01C}{1}{B0}","asset":"assets\\fictitious-attachment.txt","x":264}} | |
| 71 | {"at_utc":"2026-09-05T05:06:59.6331071Z","fixture":"06-attachment","action":"sync_hierarchy","details":{"notebook_id":"{2564F4D2-105C-4565-8A9B-A60B80FC54F0}{1}{B0}","phase":"stabilize"}} | |
| 72 | {"at_utc":"2026-09-05T05:06:59.6811098Z","fixture":"06-attachment","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{2564F4D2-105C-4565-8A9B-A60B80FC54F0}{1}{B0}","confirmed":true}} | |
| 73 | {"at_utc":"2026-09-05T05:06:59.7351129Z","fixture":"06-attachment","action":"copy_snapshot","details":{"file_count":2,"byte_count":26048,"sha256":"a295434c5907913601c5299febb9b24aab9e54665be11cc0f6ecceb7c0cf5a96"}} | |
| 74 | {"at_utc":"2026-09-05T05:07:00.0421305Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}","actual_page_count":1}} | |
| 75 | {"at_utc":"2026-09-05T05:07:00.0671319Z","fixture":"06-attachment","action":"capture_attachment_cache","details":{"bytes":43}} | |
| 76 | {"at_utc":"2026-09-05T05:07:00.0991337Z","fixture":"06-attachment","action":"capture_native_api","details":{"schema":1,"page_count":1}} | |
| 77 | {"at_utc":"2026-09-05T05:07:00.1031339Z","fixture":"06-attachment","action":"sync_hierarchy","details":{"notebook_id":"{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}","phase":"persist"}} | |
| 78 | {"at_utc":"2026-09-05T05:07:00.1221350Z","fixture":"06-attachment","action":"close_notebook","details":{"phase":"persist","notebook_id":"{97320152-F16F-4B23-9EE4-DAB12780CFC4}{1}{B0}","confirmed":true}} | |
| 79 | {"at_utc":"2026-09-05T05:07:00.4291526Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{6E4BD2A7-26FC-4985-94A3-8ECC2081F131}{1}{B0}","actual_page_count":1}} | |
| 80 | {"at_utc":"2026-09-05T05:07:00.4471536Z","fixture":"06-attachment","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}} | |
| 81 | {"at_utc":"2026-09-05T05:07:00.4571542Z","fixture":"07-table","action":"begin_fixture","details":{"description":"Two-cell native table."}} | |
| 82 | {"at_utc":"2026-09-05T05:07:00.5621602Z","fixture":"07-table","action":"update_page_content","details":{"y":312,"kind":"two_cell_table","page_id":"{F772582B-D657-4623-B783-220CEA0E8CD7}{1}{B0}","input":"inputs\\\\07-table.xml","x":144}} | |
| 83 | {"at_utc":"2026-09-05T05:07:00.6081628Z","fixture":"07-table","action":"sync_hierarchy","details":{"notebook_id":"{6E4BD2A7-26FC-4985-94A3-8ECC2081F131}{1}{B0}","phase":"stabilize"}} | |
| 84 | {"at_utc":"2026-09-05T05:07:00.6761667Z","fixture":"07-table","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{6E4BD2A7-26FC-4985-94A3-8ECC2081F131}{1}{B0}","confirmed":true}} | |
| 85 | {"at_utc":"2026-09-05T05:07:00.7301698Z","fixture":"07-table","action":"copy_snapshot","details":{"file_count":2,"byte_count":28304,"sha256":"6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3"}} | |
| 86 | {"at_utc":"2026-09-05T05:07:01.0431877Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}","actual_page_count":1}} | |
| 87 | {"at_utc":"2026-09-05T05:07:01.0601887Z","fixture":"07-table","action":"capture_native_api","details":{"schema":1,"page_count":1}} | |
| 88 | {"at_utc":"2026-09-05T05:07:01.0641889Z","fixture":"07-table","action":"sync_hierarchy","details":{"notebook_id":"{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}","phase":"persist"}} | |
| 89 | {"at_utc":"2026-09-05T05:07:01.0831900Z","fixture":"07-table","action":"close_notebook","details":{"phase":"persist","notebook_id":"{FF086732-4968-4A51-8C01-5EDFE6DA8207}{1}{B0}","confirmed":true}} | |
| 90 | {"at_utc":"2026-09-05T05:07:01.3982080Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{FF93F995-F8D1-4378-98BA-17D0BE52B0CF}{1}{B0}","actual_page_count":1}} | |
| 91 | {"at_utc":"2026-09-05T05:07:01.4172091Z","fixture":"07-table","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}} | |
| 92 | {"at_utc":"2026-09-05T05:07:02.5242724Z","fixture":"08-onepkg","action":"sync_hierarchy","details":{"notebook_id":"{FF93F995-F8D1-4378-98BA-17D0BE52B0CF}{1}{B0}","phase":"stabilize"}} | |
| 93 | {"at_utc":"2026-09-05T05:07:02.5472737Z","fixture":"08-onepkg","action":"close_notebook","details":{"phase":"stabilize","notebook_id":"{FF93F995-F8D1-4378-98BA-17D0BE52B0CF}{1}{B0}","confirmed":true}} | |
| 94 | {"at_utc":"2026-09-05T05:07:02.6012768Z","fixture":"08-onepkg","action":"copy_snapshot","details":{"file_count":2,"byte_count":28304,"sha256":"6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3"}} | |
| 95 | {"at_utc":"2026-09-05T05:07:02.9682978Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}","actual_page_count":1}} | |
| 96 | {"at_utc":"2026-09-05T05:07:02.9902991Z","fixture":"08-onepkg","action":"capture_native_api","details":{"schema":1,"page_count":1}} | |
| 97 | {"at_utc":"2026-09-05T05:07:02.9952994Z","fixture":"08-onepkg","action":"sync_hierarchy","details":{"notebook_id":"{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}","phase":"persist"}} | |
| 98 | {"at_utc":"2026-09-05T05:07:03.0133004Z","fixture":"08-onepkg","action":"close_notebook","details":{"phase":"persist","notebook_id":"{C8EE19AD-91E0-41CA-85E4-E878444124CF}{1}{B0}","confirmed":true}} | |
| 99 | {"at_utc":"2026-09-05T05:07:03.3783213Z","fixture":"","action":"open_notebook","details":{"path":"C:\\one-tests\\runs\\20260905-05\\notebook","expected_page_count":1,"notebook_id":"{CB79D4B5-DEB0-4C2C-A11A-398AC498FECD}{1}{B0}","actual_page_count":1}} | |
| 100 | {"at_utc":"2026-09-05T05:07:03.4213237Z","fixture":"08-onepkg","action":"reopen_ready","details":{"expected_page_count":1,"actual_page_count":1}} | |
| 101 | {"at_utc":"2026-09-05T05:07:03.4353245Z","fixture":"08-onepkg","action":"publish_package","details":{"bytes":4564,"sha256":"3ab9a28370cce2548d74c5d2e57af80c4e046bd847bbd770b46ab39eab81cc2e","package":"notebook.onepkg"}} |
corpus/native/20260905-05/snapshots/00-empty/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/00-empty/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native/20260905-05/snapshots/00-empty/notebook/synthetic.one differ |
corpus/native/20260905-05/snapshots/00-empty/snapshot.json created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | { | |
| 2 | "source_before": { | |
| 3 | "file_count": 2, | |
| 4 | "byte_count": 8832, | |
| 5 | "sha256": "82f0f4c011de271c0ce91a385e38e09950b58f2ae08713e570ca71d4d09f5d0a" | |
| 6 | }, | |
| 7 | "copied": { | |
| 8 | "file_count": 2, | |
| 9 | "byte_count": 8832, | |
| 10 | "sha256": "82f0f4c011de271c0ce91a385e38e09950b58f2ae08713e570ca71d4d09f5d0a" | |
| 11 | }, | |
| 12 | "source_after": { | |
| 13 | "file_count": 2, | |
| 14 | "byte_count": 8832, | |
| 15 | "sha256": "82f0f4c011de271c0ce91a385e38e09950b58f2ae08713e570ca71d4d09f5d0a" | |
| 16 | }, | |
| 17 | "files": [ | |
| 18 | { | |
| 19 | "path": "Open Notebook.onetoc2", | |
| 20 | "bytes": 4816, | |
| 21 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 22 | }, | |
| 23 | { | |
| 24 | "path": "synthetic.one", | |
| 25 | "bytes": 4016, | |
| 26 | "sha256": "c68a53117d80b3acde6b789e67d17e6dcd360ab1bc6571e521082ab181fa1682" | |
| 27 | } | |
| 28 | ] | |
| 29 | } |
corpus/native/20260905-05/snapshots/01-blank-page/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/01-blank-page/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native/20260905-05/snapshots/01-blank-page/notebook/synthetic.one differ |
corpus/native/20260905-05/snapshots/01-blank-page/snapshot.json created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | { | |
| 2 | "source_before": { | |
| 3 | "file_count": 2, | |
| 4 | "byte_count": 12824, | |
| 5 | "sha256": "d7d7380c3e7861b2cc6ed59b4e548e860a75f80d8c186b381134bb47af3617df" | |
| 6 | }, | |
| 7 | "copied": { | |
| 8 | "file_count": 2, | |
| 9 | "byte_count": 12824, | |
| 10 | "sha256": "d7d7380c3e7861b2cc6ed59b4e548e860a75f80d8c186b381134bb47af3617df" | |
| 11 | }, | |
| 12 | "source_after": { | |
| 13 | "file_count": 2, | |
| 14 | "byte_count": 12824, | |
| 15 | "sha256": "d7d7380c3e7861b2cc6ed59b4e548e860a75f80d8c186b381134bb47af3617df" | |
| 16 | }, | |
| 17 | "files": [ | |
| 18 | { | |
| 19 | "path": "Open Notebook.onetoc2", | |
| 20 | "bytes": 4816, | |
| 21 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 22 | }, | |
| 23 | { | |
| 24 | "path": "synthetic.one", | |
| 25 | "bytes": 8008, | |
| 26 | "sha256": "2a726875c73b0de5827e3bf66fc810d66418622c1e35d43dcf1e96f948f7fbc3" | |
| 27 | } | |
| 28 | ] | |
| 29 | } |
corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one differ |
corpus/native/20260905-05/snapshots/02-text/snapshot.json created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | { | |
| 2 | "source_before": { | |
| 3 | "file_count": 2, | |
| 4 | "byte_count": 16624, | |
| 5 | "sha256": "2d1c92b20e08b36ff4bf98314e3d214a4944430e0a0b0901423428da3f44d9f2" | |
| 6 | }, | |
| 7 | "copied": { | |
| 8 | "file_count": 2, | |
| 9 | "byte_count": 16624, | |
| 10 | "sha256": "2d1c92b20e08b36ff4bf98314e3d214a4944430e0a0b0901423428da3f44d9f2" | |
| 11 | }, | |
| 12 | "source_after": { | |
| 13 | "file_count": 2, | |
| 14 | "byte_count": 16624, | |
| 15 | "sha256": "2d1c92b20e08b36ff4bf98314e3d214a4944430e0a0b0901423428da3f44d9f2" | |
| 16 | }, | |
| 17 | "files": [ | |
| 18 | { | |
| 19 | "path": "Open Notebook.onetoc2", | |
| 20 | "bytes": 4816, | |
| 21 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 22 | }, | |
| 23 | { | |
| 24 | "path": "synthetic.one", | |
| 25 | "bytes": 11808, | |
| 26 | "sha256": "2237e5fdfeb8d71410b585159bdfb6724599f40dfcda2795794d8e1e47a20058" | |
| 27 | } | |
| 28 | ] | |
| 29 | } |
corpus/native/20260905-05/snapshots/03-format-unicode/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one differ |
corpus/native/20260905-05/snapshots/03-format-unicode/snapshot.json created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | { | |
| 2 | "source_before": { | |
| 3 | "file_count": 2, | |
| 4 | "byte_count": 19544, | |
| 5 | "sha256": "18f0f9cbe70375c370bc35fb0f1e56514e3f09da26e4a18b30e8c5db932a6eb1" | |
| 6 | }, | |
| 7 | "copied": { | |
| 8 | "file_count": 2, | |
| 9 | "byte_count": 19544, | |
| 10 | "sha256": "18f0f9cbe70375c370bc35fb0f1e56514e3f09da26e4a18b30e8c5db932a6eb1" | |
| 11 | }, | |
| 12 | "source_after": { | |
| 13 | "file_count": 2, | |
| 14 | "byte_count": 19544, | |
| 15 | "sha256": "18f0f9cbe70375c370bc35fb0f1e56514e3f09da26e4a18b30e8c5db932a6eb1" | |
| 16 | }, | |
| 17 | "files": [ | |
| 18 | { | |
| 19 | "path": "Open Notebook.onetoc2", | |
| 20 | "bytes": 4816, | |
| 21 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 22 | }, | |
| 23 | { | |
| 24 | "path": "synthetic.one", | |
| 25 | "bytes": 14728, | |
| 26 | "sha256": "65299c48ccd7d0c59a09f1fc9f770e45611bf8fa14f89ddf1b0aedbbab5ef7fe" | |
| 27 | } | |
| 28 | ] | |
| 29 | } |
corpus/native/20260905-05/snapshots/04-positioned-outline/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/04-positioned-outline/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native/20260905-05/snapshots/04-positioned-outline/notebook/synthetic.one differ |
corpus/native/20260905-05/snapshots/04-positioned-outline/snapshot.json created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | { | |
| 2 | "source_before": { | |
| 3 | "file_count": 2, | |
| 4 | "byte_count": 20368, | |
| 5 | "sha256": "95446de023992c6dd8557d57c9992eca81565b14fc7b664f8865e0f725ce2e5a" | |
| 6 | }, | |
| 7 | "copied": { | |
| 8 | "file_count": 2, | |
| 9 | "byte_count": 20368, | |
| 10 | "sha256": "95446de023992c6dd8557d57c9992eca81565b14fc7b664f8865e0f725ce2e5a" | |
| 11 | }, | |
| 12 | "source_after": { | |
| 13 | "file_count": 2, | |
| 14 | "byte_count": 20368, | |
| 15 | "sha256": "95446de023992c6dd8557d57c9992eca81565b14fc7b664f8865e0f725ce2e5a" | |
| 16 | }, | |
| 17 | "files": [ | |
| 18 | { | |
| 19 | "path": "Open Notebook.onetoc2", | |
| 20 | "bytes": 4816, | |
| 21 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 22 | }, | |
| 23 | { | |
| 24 | "path": "synthetic.one", | |
| 25 | "bytes": 15552, | |
| 26 | "sha256": "291ba06c6c9ac3ff79fab0e91410610db4d2bed5762dd515eba96386715b1f61" | |
| 27 | } | |
| 28 | ] | |
| 29 | } |
corpus/native/20260905-05/snapshots/05-image/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/05-image/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native/20260905-05/snapshots/05-image/notebook/synthetic.one differ |
corpus/native/20260905-05/snapshots/05-image/snapshot.json created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | { | |
| 2 | "source_before": { | |
| 3 | "file_count": 2, | |
| 4 | "byte_count": 22960, | |
| 5 | "sha256": "f0954ac3b586c8372b7f8da0821c668364ccb591aabbd2b59ebd431ede713245" | |
| 6 | }, | |
| 7 | "copied": { | |
| 8 | "file_count": 2, | |
| 9 | "byte_count": 22960, | |
| 10 | "sha256": "f0954ac3b586c8372b7f8da0821c668364ccb591aabbd2b59ebd431ede713245" | |
| 11 | }, | |
| 12 | "source_after": { | |
| 13 | "file_count": 2, | |
| 14 | "byte_count": 22960, | |
| 15 | "sha256": "f0954ac3b586c8372b7f8da0821c668364ccb591aabbd2b59ebd431ede713245" | |
| 16 | }, | |
| 17 | "files": [ | |
| 18 | { | |
| 19 | "path": "Open Notebook.onetoc2", | |
| 20 | "bytes": 4816, | |
| 21 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 22 | }, | |
| 23 | { | |
| 24 | "path": "synthetic.one", | |
| 25 | "bytes": 18144, | |
| 26 | "sha256": "67e662d4bbe765f407ddfce226d635d945be2a1a9b2ba7a4b93ca32375c32b8a" | |
| 27 | } | |
| 28 | ] | |
| 29 | } |
corpus/native/20260905-05/snapshots/06-attachment/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one created| Binary files /dev/null and b/corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one differ |
corpus/native/20260905-05/snapshots/06-attachment/snapshot.json created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | { | |
| 2 | "source_before": { | |
| 3 | "file_count": 2, | |
| 4 | "byte_count": 26048, | |
| 5 | "sha256": "a295434c5907913601c5299febb9b24aab9e54665be11cc0f6ecceb7c0cf5a96" | |
| 6 | }, | |
| 7 | "copied": { | |
| 8 | "file_count": 2, | |
| 9 | "byte_count": 26048, | |
| 10 | "sha256": "a295434c5907913601c5299febb9b24aab9e54665be11cc0f6ecceb7c0cf5a96" | |
| 11 | }, | |
| 12 | "source_after": { | |
| 13 | "file_count": 2, | |
| 14 | "byte_count": 26048, | |
| 15 | "sha256": "a295434c5907913601c5299febb9b24aab9e54665be11cc0f6ecceb7c0cf5a96" | |
| 16 | }, | |
| 17 | "files": [ | |
| 18 | { | |
| 19 | "path": "Open Notebook.onetoc2", | |
| 20 | "bytes": 4816, | |
| 21 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 22 | }, | |
| 23 | { | |
| 24 | "path": "synthetic.one", | |
| 25 | "bytes": 21232, | |
| 26 | "sha256": "75980a1130e35dcb7a913936c63bbbb70c5499bb260a3fc4f718bc89360e5516" | |
| 27 | } | |
| 28 | ] | |
| 29 | } |
corpus/native/20260905-05/snapshots/07-table/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/07-table/snapshot.json created+29| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | { | |
| 2 | "source_before": { | |
| 3 | "file_count": 2, | |
| 4 | "byte_count": 28304, | |
| 5 | "sha256": "6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3" | |
| 6 | }, | |
| 7 | "copied": { | |
| 8 | "file_count": 2, | |
| 9 | "byte_count": 28304, | |
| 10 | "sha256": "6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3" | |
| 11 | }, | |
| 12 | "source_after": { | |
| 13 | "file_count": 2, | |
| 14 | "byte_count": 28304, | |
| 15 | "sha256": "6bcc61b560f2f32595a5fd8311c58c8ba5417b6ae182d99f73f274181583f9e3" | |
| 16 | }, | |
| 17 | "files": [ | |
| 18 | { | |
| 19 | "path": "Open Notebook.onetoc2", | |
| 20 | "bytes": 4816, | |
| 21 | "sha256": "b2f857961b76258a1582b402c048b340e89962257681426b3bfc58df8e0adbfa" | |
| 22 | }, | |
| 23 | { | |
| 24 | "path": "synthetic.one", | |
| 25 | "bytes": 23488, | |
| 26 | "sha256": "65ac8ff8421e424a7ac05599284ca66cbcdbec131dce4c21700b2e65d89d0925" | |
| 27 | } | |
| 28 | ] | |
| 29 | } |
corpus/native/20260905-05/snapshots/08-onepkg/notebook/Open Notebook.onetoc2	 created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/Open Notebook.onetoc2 | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/08-onepkg/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../../notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/20260905-05/snapshots/08-onepkg/snapshot.json created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../07-table/snapshot.json | |
| \ No newline at end of file |
corpus/native/cold-05-00-empty/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-00-empty/notebook/Open Notebook.one differ |
corpus/native/cold-05-00-empty/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-00-empty/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-00-empty/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/snapshots/00-empty/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-00-empty/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D8DF2E54-F2BE-443B-AFC3-4E98C7C136EC}{1}{B0}" path="C:\one-tests\runs\cold-05-00-empty\notebook" lastModifiedTime="2026-09-05T05:08:07.000Z" color="#9595AA"><one:Section name="Open Notebook" ID="{9FF18190-2946-49CC-96B4-2FF088871DA5}{1}{B0}" path="C:\one-tests\runs\cold-05-00-empty\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:07.000Z" color="#B7C997"/></one:Notebook> |
corpus/native/cold-05-01-blank-page/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-01-blank-page/notebook/Open Notebook.one differ |
corpus/native/cold-05-01-blank-page/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-01-blank-page/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-01-blank-page/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/snapshots/01-blank-page/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-01-blank-page/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{E4BB350F-CAC6-4681-B13C-9BEC16FD73EF}{1}{B0}" path="C:\one-tests\runs\cold-05-01-blank-page\notebook" lastModifiedTime="2026-09-05T05:08:23.000Z" color="#9595AA"><one:Section name="synthetic" ID="{F7C9E19F-C37F-0AAC-0780-AB5FA6833FD7}{1}{B0}" path="C:\one-tests\runs\cold-05-01-blank-page\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:23.000Z" color="#8AA8E4"><one:Page ID="{DB801219-4AB4-49BD-80E7-03CE5ABB23C8}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:23.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{56969E73-9AE1-4355-9C7A-7EEFB1960031}{1}{B0}" path="C:\one-tests\runs\cold-05-01-blank-page\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:23.000Z" color="#EE9597"/></one:Notebook> |
corpus/native/cold-05-01-blank-page/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DB801219-4AB4-49BD-80E7-03CE5ABB23C8}{1}{B0}" name="Untitled page" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:23.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page> |
corpus/native/cold-05-02-text/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-02-text/notebook/Open Notebook.one differ |
corpus/native/cold-05-02-text/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-02-text/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-02-text/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/snapshots/02-text/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-02-text/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{BCBA6B9E-371D-40AB-98E1-9580FF57CC15}{1}{B0}" path="C:\one-tests\runs\cold-05-02-text\notebook" lastModifiedTime="2026-09-05T05:08:45.000Z" color="#9595AA"><one:Section name="synthetic" ID="{D98337C5-BE77-044F-29CC-BC4052B57372}{1}{B0}" path="C:\one-tests\runs\cold-05-02-text\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:45.000Z" color="#8AA8E4"><one:Page ID="{F5CAC443-37BC-475E-AEAB-14D1AE8D6F6D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:45.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{C3605E97-C2D3-40F7-80A1-9EB51B5120B7}{1}{B0}" path="C:\one-tests\runs\cold-05-02-text\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:44.000Z" color="#B49EDE"/></one:Notebook> |
corpus/native/cold-05-02-text/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F5CAC443-37BC-475E-AEAB-14D1AE8D6F6D}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:45.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{92066CFF-7CC9-44E8-A159-980A51118A0C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{92066CFF-7CC9-44E8-A159-980A51118A0C}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/cold-05-03-format-unicode/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-03-format-unicode/notebook/Open Notebook.one differ |
corpus/native/cold-05-03-format-unicode/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-03-format-unicode/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-03-format-unicode/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/snapshots/03-format-unicode/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-03-format-unicode/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{1ED6C30C-C5A9-4DE8-A734-58CFF776E30A}{1}{B0}" path="C:\one-tests\runs\cold-05-03-format-unicode\notebook" lastModifiedTime="2026-09-05T05:08:46.000Z" color="#9595AA"><one:Section name="synthetic" ID="{DB789508-66F1-054C-0BDD-68B32115E007}{1}{B0}" path="C:\one-tests\runs\cold-05-03-format-unicode\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:46.000Z" color="#8AA8E4"><one:Page ID="{F731668E-EF3A-465D-8CBA-C022DD2DFC18}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:46.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{67142261-A407-48A1-AC8F-1FAA91AA02C5}{1}{B0}" path="C:\one-tests\runs\cold-05-03-format-unicode\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:45.000Z" color="#91BAAE"/></one:Notebook> |
corpus/native/cold-05-03-format-unicode/read/page-000.xml created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F731668E-EF3A-465D-8CBA-C022DD2DFC18}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:46.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90FDCE32-A44F-45EB-8348-4CF922B11979}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{90FDCE32-A44F-45EB-8348-4CF922B11979}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/cold-05-04-positioned-outline/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-04-positioned-outline/notebook/Open Notebook.one differ |
corpus/native/cold-05-04-positioned-outline/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-04-positioned-outline/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-04-positioned-outline/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/snapshots/04-positioned-outline/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-04-positioned-outline/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{4F63C054-8F3B-4CC5-9DB9-AB8935D7EC01}{1}{B0}" path="C:\one-tests\runs\cold-05-04-positioned-outline\notebook" lastModifiedTime="2026-09-05T05:08:47.000Z" color="#9595AA"><one:Section name="synthetic" ID="{2AAC4C26-2D90-0CDD-3E71-8DAC6E31E832}{1}{B0}" path="C:\one-tests\runs\cold-05-04-positioned-outline\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:47.000Z" color="#8AA8E4"><one:Page ID="{06E5BFA0-A45B-4FCC-B916-253D9209F42D}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:47.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{95B7CFDF-EAA6-4E5A-A000-B6EEFBC7B100}{1}{B0}" path="C:\one-tests\runs\cold-05-04-positioned-outline\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:47.000Z" color="#F6B078"/></one:Notebook> |
corpus/native/cold-05-04-positioned-outline/read/page-000.xml created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{06E5BFA0-A45B-4FCC-B916-253D9209F42D}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{6129171C-EF2E-4C7A-B6E4-A9E66D95114C}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{6129171C-EF2E-4C7A-B6E4-A9E66D95114C}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{3799CB09-5C7B-4627-AC52-2B6EC999F505}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{3799CB09-5C7B-4627-AC52-2B6EC999F505}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/cold-05-05-image/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-05-image/notebook/Open Notebook.one differ |
corpus/native/cold-05-05-image/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-05-image/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-05-image/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/snapshots/05-image/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-05-image/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{46FFDD7D-BDCD-4D88-8C9D-867773906839}{1}{B0}" path="C:\one-tests\runs\cold-05-05-image\notebook" lastModifiedTime="2026-09-05T05:08:49.000Z" color="#9595AA"><one:Section name="synthetic" ID="{FEC7E57C-8EB2-0A7D-0785-632684C4037E}{1}{B0}" path="C:\one-tests\runs\cold-05-05-image\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:49.000Z" color="#8AA8E4"><one:Page ID="{D28E16FA-0779-496C-80E2-CBB778FC1F61}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:49.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{90FC1EEB-444C-4D72-ADEC-DC68429A218F}{1}{B0}" path="C:\one-tests\runs\cold-05-05-image\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:48.000Z" color="#D5A4BB"/></one:Notebook> |
corpus/native/cold-05-05-image/read/page-000.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D28E16FA-0779-496C-80E2-CBB778FC1F61}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:49.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{B542BE46-4C0C-4ADA-8F10-476C8760FA00}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{B542BE46-4C0C-4ADA-8F10-476C8760FA00}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{E3F26253-FF59-4087-95A6-C5E4236C1E49}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{E3F26253-FF59-4087-95A6-C5E4236C1E49}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{DEDB0ADC-19C3-4929-A3D6-6E10CF0156C7}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{DEDB0ADC-19C3-4929-A3D6-6E10CF0156C7}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/cold-05-06-attachment/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-06-attachment/notebook/Open Notebook.one differ |
corpus/native/cold-05-06-attachment/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-06-attachment/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-06-attachment/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/snapshots/06-attachment/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-06-attachment/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{ADAE19B8-35A2-47E8-9F90-310161E2A3AE}{1}{B0}" path="C:\one-tests\runs\cold-05-06-attachment\notebook" lastModifiedTime="2026-09-05T05:08:50.000Z" color="#9595AA"><one:Section name="synthetic" ID="{0752E828-55F1-00F6-295E-8BE7FCED0A48}{1}{B0}" path="C:\one-tests\runs\cold-05-06-attachment\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:50.000Z" color="#8AA8E4"><one:Page ID="{2B1B1BAE-DC3A-43E7-AE39-237600D51657}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:50.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{1CACE481-7FCD-4CC7-94D8-709BDB9E58FF}{1}{B0}" path="C:\one-tests\runs\cold-05-06-attachment\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:50.000Z" color="#9BBBD2"/></one:Notebook> |
corpus/native/cold-05-06-attachment/read/page-000.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2B1B1BAE-DC3A-43E7-AE39-237600D51657}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{4CD7B312-974F-4051-A1CB-AFADFF49F336}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{4CD7B312-974F-4051-A1CB-AFADFF49F336}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{1A676F07-241A-4A0C-BB7D-2D255B45177F}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{1A676F07-241A-4A0C-BB7D-2D255B45177F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{274E0788-C280-43A2-8D0D-86D1B7285FF1}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{274E0788-C280-43A2-8D0D-86D1B7285FF1}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{A2541FE8-04F8-4064-A8A0-E12F83F990C2}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{A2541FE8-04F8-4064-A8A0-E12F83F990C2}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/cold-05-07-table/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-07-table/notebook/Open Notebook.one differ |
corpus/native/cold-05-07-table/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-07-table/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-07-table/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-07-table/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{F3E6869F-EB8F-455C-9FAA-ABD927F7F4D8}{1}{B0}" path="C:\one-tests\runs\cold-05-07-table\notebook" lastModifiedTime="2026-09-05T05:08:51.000Z" color="#9595AA"><one:Section name="synthetic" ID="{AFA3D10F-A7C4-00AE-2264-E599B67CFD57}{1}{B0}" path="C:\one-tests\runs\cold-05-07-table\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:51.000Z" color="#8AA8E4"><one:Page ID="{83EA2289-2E0F-43BF-A503-4D084A44E148}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:51.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{7C73D128-3DE4-4987-9D26-342CBA9B8D83}{1}{B0}" path="C:\one-tests\runs\cold-05-07-table\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:51.000Z" color="#AB9CB7"/></one:Notebook> |
corpus/native/cold-05-07-table/read/page-000.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{83EA2289-2E0F-43BF-A503-4D084A44E148}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:51.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{E4268A35-657A-4009-AAF1-C1D3B5D80429}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{E4268A35-657A-4009-AAF1-C1D3B5D80429}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{B2965620-D62F-4A54-B047-435B11D4E060}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{B2965620-D62F-4A54-B047-435B11D4E060}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{8FBF3EAF-30B5-43FA-8637-E8AFFDB9A8EE}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{8FBF3EAF-30B5-43FA-8637-E8AFFDB9A8EE}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{0AA526CF-F6CD-403C-A39A-8F51C96867DD}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{0AA526CF-F6CD-403C-A39A-8F51C96867DD}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{247A5F9F-975D-4BBC-BC92-6D04E13B9C9B}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/native/cold-05-08-onepkg/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/native/cold-05-08-onepkg/notebook/Open Notebook.one differ |
corpus/native/cold-05-08-onepkg/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/native/cold-05-08-onepkg/notebook/Open Notebook.onetoc2 differ |
corpus/native/cold-05-08-onepkg/notebook/synthetic.one created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | ../../20260905-05/notebook/synthetic.one | |
| \ No newline at end of file |
corpus/native/cold-05-08-onepkg/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{50B1369D-3DF6-4D89-B7F5-E32D0895410D}{1}{B0}" path="C:\one-tests\runs\cold-05-08-onepkg\notebook" lastModifiedTime="2026-09-05T05:08:53.000Z" color="#9595AA"><one:Section name="synthetic" ID="{99D7A614-CC94-0600-0C90-EB1DC7DBBFF4}{1}{B0}" path="C:\one-tests\runs\cold-05-08-onepkg\notebook\synthetic.one" lastModifiedTime="2026-09-05T05:08:53.000Z" color="#8AA8E4"><one:Page ID="{B59E5592-455F-4511-8BF7-438C3BE3A3EB}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:53.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{DC2B4462-464E-493A-A4C4-F8F727F584EB}{1}{B0}" path="C:\one-tests\runs\cold-05-08-onepkg\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T05:08:52.000Z" color="#E8D199"/></one:Notebook> |
corpus/native/cold-05-08-onepkg/read/page-000.xml created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B59E5592-455F-4511-8BF7-438C3BE3A3EB}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:08:53.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D252FD2E-0E2A-46A7-8405-CF57C47F468A}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="14.30000114440918"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{D252FD2E-0E2A-46A7-8405-CF57C47F468A}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{84E2213B-BD7F-4CFA-9EB3-4DDF6073A2C3}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{84E2213B-BD7F-4CFA-9EB3-4DDF6073A2C3}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B9CB49B4-5BE5-4554-A8C3-E62B8C1EEA4D}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{B9CB49B4-5BE5-4554-A8C3-E62B8C1EEA4D}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 8 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3CD151D4-9D9D-4692-8D6E-81D5B8CF257E}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{3CD151D4-9D9D-4692-8D6E-81D5B8CF257E}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{120E2884-FC0D-4D12-9266-6380909CDE38}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/writer/cold-complex-01/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/writer/cold-complex-01/notebook/Open Notebook.one differ |
corpus/writer/cold-complex-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/writer/cold-complex-01/notebook/Open Notebook.onetoc2 differ |
corpus/writer/cold-complex-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/writer/cold-complex-01/notebook/synthetic.one differ |
corpus/writer/cold-complex-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment created+1| ... | ... | @@ -0,0 +1 @@ |
| 1 | Fictitious attachment for native corpus. | |
| \ No newline at end of file |
corpus/writer/cold-complex-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{19BA217F-D340-426B-A04A-57259E027C9E}{1}{B0}" path="C:\one-tests\runs\writer-complex-01\notebook" lastModifiedTime="2026-09-05T06:41:37.000Z" color="#9595AA"><one:Section name="synthetic" ID="{7EC1C89B-4FCD-0C87-1CCB-F4F0266263F1}{1}{B0}" path="C:\one-tests\runs\writer-complex-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T06:41:37.000Z" color="#8AA8E4"><one:Page ID="{52883B1D-C606-4F96-9BAC-5C61DA5A7FEE}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{93CFB686-72F1-41C5-BB8F-F9A2A4E45D8F}{1}{B0}" path="C:\one-tests\runs\writer-complex-01\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T06:41:37.000Z" color="#ADE792"/></one:Notebook> |
corpus/writer/cold-complex-01/read/page-000.xml created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{52883B1D-C606-4F96-9BAC-5C61DA5A7FEE}{1}{B0}" name="Fictitious: café, 東京, مرحبا" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T05:11:41.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{354493A1-8D73-4C20-945E-D0BA25C69A8F}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="26.58905601501465"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{354493A1-8D73-4C20-945E-D0BA25C69A8F}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span | |
| 3 | style='font-weight:bold;font-family:Calibri' lang=en-US>Compatible: café, </span><span | |
| 4 | style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span | |
| 5 | style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span | |
| 6 | style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed' | |
| 7 | lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:InkDrawing lastModifiedTime="2026-09-05T05:11:40.000Z" objectID="{17A9BF33-D59B-4293-89C6-7232E546F75B}{15}{B0}"><one:Position x="421.5118103027344" y="84.75590515136718" z="5"/><one:Size width="60.00945281982422" height="60.00944519042969"/><one:Data>AK4FHQSiAaIBAWAqABofi0JwRYR1gL7QRdkE+oeVMvLsF0G4wBa/8yv0et67E4vlXrNInJuhJVq3 | |
| 8 | URK/7HHMzCKxQYkOuxMs7nqhWM9UiuaXxU+PBvi60uGbIsRmbacNslhJmh1OQDQGbBADBkgQRSNG | |
| 9 | IwUIC2VPZmdoZGkZFDIIAIAeAiHi4kEzCADwEAKLxeJBZAMVRgBACpUE/QGH81d3mq7mkzgM0mcB | |
| 10 | mk1gEBgEBgEBgE1mUAgMzmUAmsygE1mUzmkBmc0gMzmk1mUAmsyTOaTWZQCazKZgALSmiazKATWZ | |
| 11 | QCAwCAwBAZpM4DAJlNYBMprAJlNZpM4DNJmmU1mkzgM0mcBmkzmU1gEyAAFpTSAzOaQGZzRAYBAY | |
| 12 | BAYBMprAIDNJnAZpM0yms0mcBmkzgM0mcymsAmU1gEyms0maZAACZTSawCZTWATKawCAoBAYBAZn | |
| 13 | NIDAJrMoBNZlAJrMpnMoBNZlAJrMpnNIDM5pAZnNJrMkzmk1AACH8C7XgWnmkzgM0msAmU1gEBgE | |
| 14 | BgEBTOaQGATWZQCazKATWZTOaTWZTNNJrMpmmUzTSaplM00mqZTOaTVMpmmk1TKATKazSawCAzSZ | |
| 15 | wGAQFAIDAJrMoBAZnNIDM5pAZnMpnNJrMpmmk1mUzTSaplM00mqZTNNJrMpmmk1TKZplhuAzKATW | |
| 16 | ZQCazKAIDAIDAIDNJnAYBMprAJlM4DNJnMprNJnMk1mkzmSazRM5kms0TOZJnMprNEzmSazQtKaQ | |
| 17 | GZzRNZlAIDAIDAIDAJlNYAmU1gEymsAmU1mkzmU1miZzKazRM5kmcyTWaJnMk1mkzmSazRM5kAUU | |
| 18 | RgBAAAAJBAUURgAAAAASABEgXhT+65lz/EiPi+8SFvjqCAk+gEcDAa/89Qd0AxVGAEAKABEg2R87 | |
| 19 | QQrSFUA=</one:Data></one:InkDrawing><one:InkDrawing lastModifiedTime="2026-09-05T05:11:41.000Z" objectID="{17A9BF33-D59B-4293-89C6-7232E546F75B}{23}{B0}"><one:Position x="504.0" y="92.23936462402343" z="7"/><one:Size width="30.01890563964844" height="45.04251861572266"/><one:Data>AOECHQJSegFgKgAaH4tCcEWEdYC+0EXZBPqHlTLy7BdBuMAWv/Mr9HreuxOL5V6zSJyboSVat1ES | |
| 20 | v+xxzMwisUGJDrsTLO56oVjPVIrml8VPjwb4utLhmyLEZm2nDbJYSZodTkA0BmwQAwZIEEUjRiMF | |
| 21 | CAtlT2ZnaGRpGRQyCACAHgIh4uJBMwgA8BACi8XiQWQDFUYAQArKAUuH88s3nkzmkzgM0mcBmkzg | |
| 22 | KAQGAQGATWZQCAzOaQGZzKATWZTOaQGZzSAzOaTWZQCazJM5pNZlAJrMpmAAAACH8D9XgeBJlM0z | |
| 23 | mRNZpNZpM4DAJlNYBAUAgMAgMzmkBgE1mUAmsyTOaTWZTOaTVMpnNJqmUzTSaplM00mqZTOZTNNJ | |
| 24 | qmUzTSagBRRGAIAAAAkEBRRGAAAAABIAESDPTQ4xwIZyTqQ8FVDbHxeKCj9AI5rARvPPUDugAxVG | |
| 25 | AEAKABEgLMlfQdkfI0A=</one:Data></one:InkDrawing><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{63F44FB4-3E26-467D-8EE8-523281CA7EC6}{10}{B0}"><one:Position x="144.0" y="96.0" z="1"/><one:Size width="167.0449523925781" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:57.000Z" lastModifiedTime="2026-09-05T05:06:57.000Z" objectID="{63F44FB4-3E26-467D-8EE8-523281CA7EC6}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{5EDD273B-D8BC-4FD3-B898-F9C66DA73648}{10}{B0}"><one:Position x="144.0" y="192.0" z="2"/><one:Size width="72.0" height="0.750005722045898"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:58.000Z" lastModifiedTime="2026-09-05T05:06:58.000Z" objectID="{5EDD273B-D8BC-4FD3-B898-F9C66DA73648}{11}{B0}" alignment="left"><one:Image format="png" originalPageNumber="0"><one:Data>iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoA | |
| 26 | AAAASUVORK5CYII=</one:Data></one:Image></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{DBC73F5B-1EC4-4C15-9D35-9E385976F97B}{10}{B0}"><one:Position x="264.0" y="192.0" z="3"/><one:Size width="72.00001525878906" height="63.0"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:59.000Z" lastModifiedTime="2026-09-05T05:06:59.000Z" objectID="{DBC73F5B-1EC4-4C15-9D35-9E385976F97B}{11}{B0}" alignment="left"><one:InsertedFile pathCache="C:\Users\chloe caruso\AppData\Local\Microsoft\OneNote\14.0\OneNoteOfflineCache_Files\458001d8-0f1e-451f-81cb-621828fc0b39.txt" pathSource="C:\one-tests\runs\20260905-05\assets\fictitious-attachment.txt" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{10}{B0}"><one:Position x="144.0" y="312.0" z="4"/><one:Size width="92.42181396484374" height="21.94773101806641"/><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{11}{B0}" alignment="left"><one:Table bordersVisible="true" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{12}{B0}"><one:Columns><one:Column index="0" width="39.14614105224609"/><one:Column index="1" width="45.14567184448242"/></one:Columns><one:Row objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{13}{B0}" lastModifiedTime="2026-09-05T05:07:00.000Z"><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{14}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{17}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{22}{B0}" lastModifiedByInitials="S"><one:OEChildren><one:OE creationTime="2026-09-05T05:07:00.000Z" lastModifiedTime="2026-09-05T05:07:00.000Z" objectID="{F518460B-7F54-4795-823D-7C6D7125023D}{25}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/writer/cold-edit-01/notebook/Open Notebook.one created| Binary files /dev/null and b/corpus/writer/cold-edit-01/notebook/Open Notebook.one differ |
corpus/writer/cold-edit-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/writer/cold-edit-01/notebook/Open Notebook.onetoc2 differ |
corpus/writer/cold-edit-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/writer/cold-edit-01/notebook/synthetic.one differ |
corpus/writer/cold-edit-01/read/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{61BA959D-88AF-4320-8472-E3898F03DD3A}{1}{B0}" path="C:\one-tests\runs\writer-edit-01\notebook" lastModifiedTime="2026-09-05T06:31:52.000Z" color="#9595AA"><one:Section name="synthetic" ID="{7E1732B0-F77F-077D-1C81-9C4933CDAFB7}{1}{B0}" path="C:\one-tests\runs\writer-edit-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T06:31:52.000Z" color="#8AA8E4"><one:Page ID="{525EC136-7EB4-446C-9BE6-34D8CFF5B3A8}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:31:52.000Z" pageLevel="1"/></one:Section><one:Section name="Open Notebook" ID="{5FFA7C57-DD93-4158-8693-CD159EEBB2EF}{1}{B0}" path="C:\one-tests\runs\writer-edit-01\notebook\Open Notebook.one" lastModifiedTime="2026-09-05T06:31:52.000Z" color="#E8D199"/></one:Notebook> |
corpus/writer/cold-edit-01/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{525EC136-7EB4-446C-9BE6-34D8CFF5B3A8}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:31:52.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{3592698A-35C1-47DA-9414-B803306956C9}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="130.5859832763672" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:55.000Z" objectID="{3592698A-35C1-47DA-9414-B803306956C9}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Portable plain text...]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/writer/cold-edit-02/read/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BE471E31-3247-4A62-ABC7-96BD8EC2867E}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:34:43.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" lastModifiedTime="2026-09-05T06:34:18.000Z" objectID="{D98BB68D-7932-49D4-A435-1A66715E631F}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="130.5859832763672" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-05T06:34:18.000Z" lastModifiedTime="2026-09-05T06:34:18.000Z" objectID="{D98BB68D-7932-49D4-A435-1A66715E631F}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Portable plain text...]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/writer/complex-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/writer/complex-01/notebook/synthetic.one differ |
corpus/writer/create-05/native-saved.one created| Binary files /dev/null and b/corpus/writer/create-05/native-saved.one differ |
corpus/writer/create-05/notebook/synthetic.one created| Binary files /dev/null and b/corpus/writer/create-05/notebook/synthetic.one differ |
corpus/writer/create-05/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1823A7C2-3786-0059-2B3E-FD50A43BA077}{1}{B0}" name="Created in Rust: café 東京 🦀" dateTime="2026-09-05T07:07:07.000Z" lastModifiedTime="2026-09-05T07:07:18.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:07:07.000Z" objectID="{7CA1D9F2-809A-0648-0A9A-21D51313FC16}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="181.0255889892578" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:07:07.000Z" lastModifiedTime="2026-09-05T07:07:07.000Z" objectID="{7CA1D9F2-809A-0648-0A9A-21D51313FC16}{24}{B0}" alignment="left"><one:T><![CDATA[Created in Rust: café 東京 &#129408;]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/writer/create-05/returned-page.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4BF6C977-7878-08D5-06CB-E568EC302C00}{1}{B0}" name="Native edited the created page." dateTime="2026-09-05T07:07:07.000Z" lastModifiedTime="2026-09-05T07:13:06.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:09:31.000Z" objectID="{2F74B747-CF64-0EC4-276F-39ED5B187061}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="181.0255889892578" height="26.85543441772461"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:09:31.000Z" lastModifiedTime="2026-09-05T07:09:31.000Z" objectID="{2F74B747-CF64-0EC4-276F-39ED5B187061}{24}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Rust edited it again, with a longer paragraph.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/writer/create-05/rust-after-native.one created| Binary files /dev/null and b/corpus/writer/create-05/rust-after-native.one differ |
corpus/writer/create-notebook-01/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{DE1B406F-6423-404D-80F4-C69ACC898BBA}{1}{B0}" path="C:\one-tests\runs\writer-create-notebook-01\notebook" lastModifiedTime="2026-09-05T07:11:36.000Z" color="#D5A4BB"><one:Section name="synthetic" ID="{21EB0D1B-D373-0282-3C3B-DB3D4A5AC600}{1}{B0}" path="C:\one-tests\runs\writer-create-notebook-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T07:11:36.000Z" color="#8AA8E4"><one:Page ID="{4E651029-D16E-0172-1866-FB77B4D48F89}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:36.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/writer/create-notebook-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/writer/create-notebook-01/notebook/Open Notebook.onetoc2 differ |
corpus/writer/create-notebook-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/writer/create-notebook-01/notebook/synthetic.one differ |
corpus/writer/create-notebook-01/page-000.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4E651029-D16E-0172-1866-FB77B4D48F89}{1}{B0}" name="A notebook created in Rust." dateTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:36.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Fixture Author" lastModifiedBy="Fixture Author" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{21EB0D1B-D373-0282-3C3B-DB3D4A5AC600}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="191.1661224365234" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-05T07:11:28.000Z" lastModifiedTime="2026-09-05T07:11:28.000Z" objectID="{21EB0D1B-D373-0282-3C3B-DB3D4A5AC600}{24}{B0}" alignment="left"><one:T><![CDATA[A notebook created in Rust.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page> |
corpus/writer/edit-01/notebook/synthetic.one created| Binary files /dev/null and b/corpus/writer/edit-01/notebook/synthetic.one differ |
corpus/writer/edit-02/notebook/synthetic.one created| Binary files /dev/null and b/corpus/writer/edit-02/notebook/synthetic.one differ |
corpus/writer/manifest.json created+157| ... | ... | @@ -0,0 +1,157 @@ |
| 1 | { | |
| 2 | "captured_utc": "2026-09-05T06:38:24.554376+00:00", | |
| 3 | "native_build": "14.0.7015.1000", | |
| 4 | "source_fixture": "../native/20260905-05/snapshots/02-text/notebook/synthetic.one", | |
| 5 | "operations": [ | |
| 6 | "Rust write_demo: equal-length plain-text replacement to edit-01", | |
| 7 | "read-current.ps1 fresh-cache writer-edit-01: one page with Portable plain text...", | |
| 8 | "edit-existing.ps1 fresh-cache writer-native-edit-02: replace Portable plain text... with Fictitious plain text.; sync and close", | |
| 9 | "Rust inventory of native-edit-02: Fictitious plain text.", | |
| 10 | "Rust write_demo: replace again in edit-02", | |
| 11 | "read-current.ps1 fresh-cache writer-edit-02: one page with Portable plain text...", | |
| 12 | "Rust edit_property on native ink fixture: replace Fictitious with Compatible in the Unicode rich-text property", | |
| 13 | "read-current.ps1 fresh-cache writer-complex-01: four text objects and two ink strokes; only edited outline height reflows", | |
| 14 | "Rust edit_property on native TOC: change notebook color from 9595aa00 to 33669900; fresh-cache writer-toc-01 reports #336699 and one page", | |
| 15 | "Rust create_section without a template: Unicode paragraph Created in Rust: café 東京 🦀; fresh-cache writer-create-05 returns exact text and Fixture Author", | |
| 16 | "Fresh-cache edit-existing.ps1 on writer-created-native-edit replaces that paragraph with Native edited the created page.; Rust inventory confirms native save", | |
| 17 | "Rust edit_property changes native-saved text to Rust edited it again, with a longer paragraph.; fresh-cache writer-created-return confirms exact text", | |
| 18 | "Rust create_notebook creates both synthetic.one and Open Notebook.onetoc2; fresh-cache writer-create-notebook-01 returns A notebook created in Rust." | |
| 19 | ], | |
| 20 | "files": [ | |
| 21 | { | |
| 22 | "path": "cold-complex-01/notebook/Open Notebook.one", | |
| 23 | "bytes": 4016, | |
| 24 | "sha256": "cd7ef0daf82bf88f106b4b7f23f48f57df6d42c2b8c889f0b8ed6af730e562db" | |
| 25 | }, | |
| 26 | { | |
| 27 | "path": "cold-complex-01/notebook/Open Notebook.onetoc2", | |
| 28 | "bytes": 4944, | |
| 29 | "sha256": "f02e260a1cd50a7963199fb76a31d58f8dbfa5a67fce59149a793691efd15ecd" | |
| 30 | }, | |
| 31 | { | |
| 32 | "path": "cold-complex-01/notebook/synthetic.one", | |
| 33 | "bytes": 30448, | |
| 34 | "sha256": "d2c373dca4927d0072e867842544126337e6ad09897ec552013d7f82031f0ac4" | |
| 35 | }, | |
| 36 | { | |
| 37 | "path": "cold-complex-01/read/af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7.attachment", | |
| 38 | "bytes": 43, | |
| 39 | "sha256": "af1af4b8987109ce1e335e538910fb3860b7c57eb3b6110a06aa2114e06d69a7" | |
| 40 | }, | |
| 41 | { | |
| 42 | "path": "cold-complex-01/read/hierarchy.xml", | |
| 43 | "bytes": 963, | |
| 44 | "sha256": "f41d6342ac112724b03ce0e11b2d51913ceb371816ac681033fc69a87e9d1c7f" | |
| 45 | }, | |
| 46 | { | |
| 47 | "path": "cold-complex-01/read/page-000.xml", | |
| 48 | "bytes": 7402, | |
| 49 | "sha256": "a28a5f923c8e10208ac7ded1bec283f596b068d0ca5bb3a067b92f683b2b702d" | |
| 50 | }, | |
| 51 | { | |
| 52 | "path": "cold-edit-01/notebook/Open Notebook.one", | |
| 53 | "bytes": 4016, | |
| 54 | "sha256": "d95a9e04a906cb786d73d61934204bc094ffeb3c586ddcc7d11f487b2d153190" | |
| 55 | }, | |
| 56 | { | |
| 57 | "path": "cold-edit-01/notebook/Open Notebook.onetoc2", | |
| 58 | "bytes": 4944, | |
| 59 | "sha256": "fff8991ccd803718a1ff12335bb7f636574882d455ff4299bbe01c9b249b0322" | |
| 60 | }, | |
| 61 | { | |
| 62 | "path": "cold-edit-01/notebook/synthetic.one", | |
| 63 | "bytes": 13368, | |
| 64 | "sha256": "44a9ca3131e0a1baa05a2b64968c32ce59ac97a59bfa9e1329cc7a6096b6fc3f" | |
| 65 | }, | |
| 66 | { | |
| 67 | "path": "cold-edit-01/read/hierarchy.xml", | |
| 68 | "bytes": 939, | |
| 69 | "sha256": "cbe277489b094e22de6624f6c02212b73ba440514b6346c965930d7470bc432c" | |
| 70 | }, | |
| 71 | { | |
| 72 | "path": "cold-edit-01/read/page-000.xml", | |
| 73 | "bytes": 1209, | |
| 74 | "sha256": "7141b2236e1f8f1aecfd77914b2ec7564ef4056bd4b4aa1f05f0e3a25871f631" | |
| 75 | }, | |
| 76 | { | |
| 77 | "path": "cold-edit-02/read/page-000.xml", | |
| 78 | "bytes": 1209, | |
| 79 | "sha256": "2067abd992a1403ecda3127f12c683bf3804569db44e5b88dcd6c71a2808f04c" | |
| 80 | }, | |
| 81 | { | |
| 82 | "path": "complex-01/notebook/synthetic.one", | |
| 83 | "bytes": 30448, | |
| 84 | "sha256": "d2c373dca4927d0072e867842544126337e6ad09897ec552013d7f82031f0ac4" | |
| 85 | }, | |
| 86 | { | |
| 87 | "path": "create-05/native-saved.one", | |
| 88 | "bytes": 10268, | |
| 89 | "sha256": "28767fb84b110804aa0c1c1c5b211e649539ca077414e47f678081de8d16ee0d" | |
| 90 | }, | |
| 91 | { | |
| 92 | "path": "create-05/notebook/synthetic.one", | |
| 93 | "bytes": 3348, | |
| 94 | "sha256": "a8c44edfcad463ec0a05686febd3da6cd58efd6c529ca77bef031f0528838935" | |
| 95 | }, | |
| 96 | { | |
| 97 | "path": "create-05/page-000.xml", | |
| 98 | "bytes": 1132, | |
| 99 | "sha256": "e2a5c2eda8e7949a100b9816031283d87ec4561d9eaf59202a114c028ca4dd97" | |
| 100 | }, | |
| 101 | { | |
| 102 | "path": "create-05/returned-page.xml", | |
| 103 | "bytes": 1266, | |
| 104 | "sha256": "b82fb6f47f8b153c6f3067a02a09747ab11956a1dcfc03d9fcb9d5c4b3de93b2" | |
| 105 | }, | |
| 106 | { | |
| 107 | "path": "create-05/rust-after-native.one", | |
| 108 | "bytes": 11456, | |
| 109 | "sha256": "3de701a3d2199c3021b46e692a07d9ca7e2374825c4adb5613986b4d5499f356" | |
| 110 | }, | |
| 111 | { | |
| 112 | "path": "create-notebook-01/hierarchy.xml", | |
| 113 | "bytes": 753, | |
| 114 | "sha256": "f4f805113ebba8dfd21cbbf30770d4bdbbd8ece06953c5fac2921ef5a56773e1" | |
| 115 | }, | |
| 116 | { | |
| 117 | "path": "create-notebook-01/notebook/Open Notebook.onetoc2", | |
| 118 | "bytes": 1612, | |
| 119 | "sha256": "fafa5dcb3cd827c7edd30c8ea2fbc957a59fb4d2a8b28b667a3c551c8261ab86" | |
| 120 | }, | |
| 121 | { | |
| 122 | "path": "create-notebook-01/notebook/synthetic.one", | |
| 123 | "bytes": 3348, | |
| 124 | "sha256": "b0662387c3fdc256d8dbe809e3b8f73b3586559696467fb1fff8f589095fa797" | |
| 125 | }, | |
| 126 | { | |
| 127 | "path": "create-notebook-01/page-000.xml", | |
| 128 | "bytes": 1113, | |
| 129 | "sha256": "9086775b199f14ea7d1daf29292c4e055bbfd4e9a92f3c3abc9d29983a1ea065" | |
| 130 | }, | |
| 131 | { | |
| 132 | "path": "edit-01/notebook/synthetic.one", | |
| 133 | "bytes": 13368, | |
| 134 | "sha256": "44a9ca3131e0a1baa05a2b64968c32ce59ac97a59bfa9e1329cc7a6096b6fc3f" | |
| 135 | }, | |
| 136 | { | |
| 137 | "path": "edit-02/notebook/synthetic.one", | |
| 138 | "bytes": 18288, | |
| 139 | "sha256": "692c353ee7bcc9b00afe210edfc4ae06e77d836124920b045515657f6ddce331" | |
| 140 | }, | |
| 141 | { | |
| 142 | "path": "native-edit-02/notebook/synthetic.one", | |
| 143 | "bytes": 16384, | |
| 144 | "sha256": "94cf8ffdb70403df072c9d562b5fa54c47910e44133cc0ec5186bec277888796" | |
| 145 | }, | |
| 146 | { | |
| 147 | "path": "toc-01/hierarchy.xml", | |
| 148 | "bytes": 724, | |
| 149 | "sha256": "7f62ba95f82c53153afeeb7122ab7476370278198a8521b295439e0f97a0a752" | |
| 150 | }, | |
| 151 | { | |
| 152 | "path": "toc-01/notebook/Open Notebook.onetoc2", | |
| 153 | "bytes": 5904, | |
| 154 | "sha256": "a7ec443d7534f5aeef5eb7fce09d133f5acfad4f1ac494417691297f5179e6fa" | |
| 155 | } | |
| 156 | ] | |
| 157 | } |
corpus/writer/native-edit-02/notebook/synthetic.one created| Binary files /dev/null and b/corpus/writer/native-edit-02/notebook/synthetic.one differ |
corpus/writer/toc-01/hierarchy.xml created+2| ... | ... | @@ -0,0 +1,2 @@ |
| 1 | <?xml version="1.0"?> | |
| 2 | <one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{67C3A525-E9E8-4CF3-9186-00A193E0A27E}{1}{B0}" path="C:\one-tests\runs\writer-toc-01\notebook" lastModifiedTime="2026-09-05T06:52:34.000Z" color="#336699"><one:Section name="synthetic" ID="{D4A4613C-BE86-08DB-1635-B7278997FDA9}{1}{B0}" path="C:\one-tests\runs\writer-toc-01\notebook\synthetic.one" lastModifiedTime="2026-09-05T06:52:34.000Z" color="#8AA8E4"><one:Page ID="{F8ED92BA-374D-4BCA-9152-1FB675AFE1B6}{1}{B0}" name="Fictitious plain text." dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-05T06:52:34.000Z" pageLevel="1"/></one:Section></one:Notebook> |
corpus/writer/toc-01/notebook/Open Notebook.onetoc2 created| Binary files /dev/null and b/corpus/writer/toc-01/notebook/Open Notebook.onetoc2 differ |
crates/onestore/Cargo.toml created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | [package] | |
| 2 | name = "onestore" | |
| 3 | version = "0.1.0" | |
| 4 | edition = "2024" | |
| 5 | publish = false | |
| 6 | ||
| 7 | [dependencies] | |
| 8 | md5 = "0.8.1" | |
| 9 | getrandom = "0.4.3" | |
| 10 | serde = { version = "1.0.229", features = ["derive"] } | |
| 11 | ||
| 12 | [target.'cfg(target_os = "macos")'.dependencies] | |
| 13 | nix = { version = "0.31.3", default-features = false, features = ["fs"] } | |
| 14 | ||
| 15 | [dev-dependencies] | |
| 16 | serde_json = "1.0.151" |
crates/onestore/examples/concurrent_client.rs created+211| ... | ... | @@ -0,0 +1,211 @@ |
| 1 | #[path = "../src/flush.rs"] | |
| 2 | mod flush; | |
| 3 | ||
| 4 | use onestore::{ | |
| 5 | CommitState, ExGuid, RevisionIndex, Store, | |
| 6 | document::{Document, Kind}, | |
| 7 | }; | |
| 8 | use serde_json::json; | |
| 9 | use std::{ | |
| 10 | env, fs, | |
| 11 | io::{self, Write}, | |
| 12 | path::Path, | |
| 13 | thread, | |
| 14 | time::{Duration, Instant, SystemTime, UNIX_EPOCH}, | |
| 15 | }; | |
| 16 | ||
| 17 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 18 | let args: Vec<_> = env::args().skip(1).collect(); | |
| 19 | if args.len() == 2 && args[0] == "init" { | |
| 20 | let bytes = | |
| 21 | onestore::create_section("synthetic.one", "Concurrent edits:", "Concurrency test")?; | |
| 22 | let mut file = fs::OpenOptions::new() | |
| 23 | .write(true) | |
| 24 | .create_new(true) | |
| 25 | .open(&args[1])?; | |
| 26 | file.write_all(&bytes)?; | |
| 27 | flush::flush(&file)?; | |
| 28 | return Ok(()); | |
| 29 | } | |
| 30 | if args.len() != 7 || !["read", "write", "edit"].contains(&args[0].as_str()) { | |
| 31 | return Err("Usage: concurrent_client init FILE | read|write|edit FILE ACTOR OPERATIONS START_FILE STOP_FILE SEED".into()); | |
| 32 | } | |
| 33 | let mut random: u64 = args[6].parse()?; | |
| 34 | let operations: usize = args[3].parse()?; | |
| 35 | if operations == 0 { | |
| 36 | return Err("Choose at least one operation.".into()); | |
| 37 | } | |
| 38 | let deadline = Instant::now() + Duration::from_secs(600); | |
| 39 | let mut output = io::stdout().lock(); | |
| 40 | let mut log = |event: serde_json::Value| -> io::Result<()> { | |
| 41 | writeln!(output, "{event}")?; | |
| 42 | output.flush() | |
| 43 | }; | |
| 44 | log(json!({"event": "ready", "pid": std::process::id(), "actor": args[2]}))?; | |
| 45 | while !Path::new(&args[4]).exists() { | |
| 46 | if Instant::now() > deadline { | |
| 47 | return Err("Start barrier timed out.".into()); | |
| 48 | } | |
| 49 | thread::sleep(Duration::from_millis(5)); | |
| 50 | } | |
| 51 | let mut completed = 0; | |
| 52 | let mut attempts = 0; | |
| 53 | while completed < operations || (args[0] == "read" && !Path::new(&args[5]).exists()) { | |
| 54 | if Instant::now() > deadline { | |
| 55 | return Err("Concurrent client timed out.".into()); | |
| 56 | } | |
| 57 | attempts += 1; | |
| 58 | random = random | |
| 59 | .wrapping_mul(6364136223846793005) | |
| 60 | .wrapping_add(1442695040888963407); | |
| 61 | thread::sleep(Duration::from_millis((random >> 32) % 7)); | |
| 62 | let started = SystemTime::now().duration_since(UNIX_EPOCH)?.as_micros(); | |
| 63 | let source = match onestore::read_file(&args[1]) { | |
| 64 | Ok(source) => source, | |
| 65 | Err(error) | |
| 66 | if [ | |
| 67 | io::ErrorKind::WouldBlock, | |
| 68 | io::ErrorKind::PermissionDenied, | |
| 69 | io::ErrorKind::NotFound, | |
| 70 | ] | |
| 71 | .contains(&error.kind()) => | |
| 72 | { | |
| 73 | log( | |
| 74 | json!({"event": "read_busy", "attempt": attempts, "kind": format!("{:?}", error.kind())}), | |
| 75 | )?; | |
| 76 | thread::sleep(Duration::from_millis(100)); | |
| 77 | continue; | |
| 78 | } | |
| 79 | Err(error) => { | |
| 80 | log( | |
| 81 | json!({"event": "read_error", "attempt": attempts, "kind": format!("{:?}", error.kind())}), | |
| 82 | )?; | |
| 83 | return Err(error.into()); | |
| 84 | } | |
| 85 | }; | |
| 86 | let preserve = |error: onestore::Error| { | |
| 87 | let path = Path::new(&args[4]) | |
| 88 | .parent() | |
| 89 | .unwrap() | |
| 90 | .join(format!("invalid-{}-{attempts}.one", std::process::id())); | |
| 91 | if let Err(failure) = fs::write(&path, &source) { | |
| 92 | eprintln!( | |
| 93 | "Could not save invalid snapshot {}: {failure}", | |
| 94 | path.display() | |
| 95 | ); | |
| 96 | } | |
| 97 | error | |
| 98 | }; | |
| 99 | let store = Store::parse(&source).map_err(preserve)?; | |
| 100 | if !store.checksum_mismatches.is_empty() { | |
| 101 | return Err(preserve(onestore::Error { | |
| 102 | offset: store.checksum_mismatches[0], | |
| 103 | message: "A reader observed transaction checksum damage.", | |
| 104 | }) | |
| 105 | .into()); | |
| 106 | } | |
| 107 | let index = RevisionIndex::parse(&store).map_err(preserve)?; | |
| 108 | index.validate_current().map_err(preserve)?; | |
| 109 | let document = Document::parse(&index).map_err(preserve)?; | |
| 110 | let mut targets = Vec::new(); | |
| 111 | for (sid, page) in document.pages().map_err(preserve)? { | |
| 112 | let space = &document.spaces[&sid]; | |
| 113 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 114 | let mut pending = vec![page]; | |
| 115 | let mut seen = std::collections::BTreeSet::new(); | |
| 116 | while let Some(oid) = pending.pop() { | |
| 117 | if !seen.insert(oid) { | |
| 118 | continue; | |
| 119 | } | |
| 120 | let node = &revision.nodes[&oid]; | |
| 121 | pending.extend( | |
| 122 | node.children | |
| 123 | .iter() | |
| 124 | .chain(&node.content) | |
| 125 | .chain(&node.structure) | |
| 126 | .copied(), | |
| 127 | ); | |
| 128 | if let Kind::RichText { text, .. } = &node.kind | |
| 129 | && text.starts_with("Concurrent edits:") | |
| 130 | { | |
| 131 | revision.text_runs(oid).map_err(preserve)?; | |
| 132 | targets.push((sid, oid, text)); | |
| 133 | } | |
| 134 | } | |
| 135 | } | |
| 136 | let [(sid, oid, text)] = targets.as_slice() else { | |
| 137 | return Err(preserve(onestore::Error { | |
| 138 | offset: 0, | |
| 139 | message: "Expected one concurrent-edit paragraph.", | |
| 140 | }) | |
| 141 | .into()); | |
| 142 | }; | |
| 143 | let read_finished = SystemTime::now().duration_since(UNIX_EPOCH)?.as_micros(); | |
| 144 | log( | |
| 145 | json!({"event": "read", "attempt": attempts, "started_us": started, "finished_us": read_finished, | |
| 146 | "transaction": store.header.transaction_count, "text": text}), | |
| 147 | )?; | |
| 148 | if args[0] == "read" { | |
| 149 | completed += 1; | |
| 150 | continue; | |
| 151 | } | |
| 152 | let token = format!(" [{}:{}]", args[2], completed); | |
| 153 | let offset = u32::try_from(text.encode_utf16().count())?; | |
| 154 | let mut range = offset..offset; | |
| 155 | let mut replacement = token.clone(); | |
| 156 | if args[0] == "edit" { | |
| 157 | let prefix = "Concurrent edits:"; | |
| 158 | let mut boundaries = vec![u32::try_from(prefix.encode_utf16().count())?]; | |
| 159 | for character in text[prefix.len()..].chars() { | |
| 160 | boundaries.push(boundaries.last().unwrap() + character.len_utf16() as u32); | |
| 161 | } | |
| 162 | let first = ((random >> 16) % boundaries.len() as u64) as usize; | |
| 163 | let second = ((random >> 40) % boundaries.len() as u64) as usize; | |
| 164 | range = boundaries[first.min(second)]..boundaries[first.max(second)]; | |
| 165 | replacement = format!(" café 🦀{token}"); | |
| 166 | } | |
| 167 | log( | |
| 168 | json!({"event": "intent", "attempt": attempts, "operation": completed, | |
| 169 | "source_transaction": store.header.transaction_count, "before": text, | |
| 170 | "range": [range.start, range.end], "replacement": replacement, "token": token}), | |
| 171 | )?; | |
| 172 | thread::sleep(Duration::from_millis((random >> 48) % 13)); | |
| 173 | let commit_started = SystemTime::now().duration_since(UNIX_EPOCH)?.as_micros(); | |
| 174 | let result = onestore::commit_file_text(&args[1], &source, *sid, *oid, range, &replacement); | |
| 175 | let finished = SystemTime::now().duration_since(UNIX_EPOCH)?.as_micros(); | |
| 176 | match result { | |
| 177 | Ok(()) => { | |
| 178 | log( | |
| 179 | json!({"event": "commit", "attempt": attempts, "operation": completed, "token": token, | |
| 180 | "started_us": commit_started, "finished_us": finished, "source_transaction": store.header.transaction_count}), | |
| 181 | )?; | |
| 182 | completed += 1; | |
| 183 | } | |
| 184 | Err(error) | |
| 185 | if error.state == CommitState::NotCommitted | |
| 186 | && [ | |
| 187 | io::ErrorKind::WouldBlock, | |
| 188 | io::ErrorKind::ResourceBusy, | |
| 189 | io::ErrorKind::PermissionDenied, | |
| 190 | io::ErrorKind::NotFound, | |
| 191 | ] | |
| 192 | .contains(&error.error.kind()) => | |
| 193 | { | |
| 194 | log( | |
| 195 | json!({"event": "retry", "attempt": attempts, "started_us": commit_started, | |
| 196 | "finished_us": finished, "kind": format!("{:?}", error.error.kind())}), | |
| 197 | )?; | |
| 198 | } | |
| 199 | Err(error) => { | |
| 200 | log( | |
| 201 | json!({"event": "commit_error", "attempt": attempts, "operation": completed, | |
| 202 | "token": token, "state": format!("{:?}", error.state), "kind": format!("{:?}", error.error.kind()), | |
| 203 | "started_us": commit_started, "finished_us": finished}), | |
| 204 | )?; | |
| 205 | return Err(error.into()); | |
| 206 | } | |
| 207 | } | |
| 208 | } | |
| 209 | log(json!({"event": "done", "completed": completed, "attempts": attempts}))?; | |
| 210 | Ok(()) | |
| 211 | } |
crates/onestore/examples/create_notebook.rs created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | #[path = "../src/flush.rs"] | |
| 2 | mod flush; | |
| 3 | ||
| 4 | use std::{env, fs, io::Write, path::Path}; | |
| 5 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 6 | let args: Vec<_> = env::args().skip(1).collect(); | |
| 7 | if args.len() != 3 { | |
| 8 | return Err("Usage: create_notebook DIRECTORY TEXT AUTHOR".into()); | |
| 9 | } | |
| 10 | let section = onestore::create_section("synthetic.one", &args[1], &args[2])?; | |
| 11 | let identity = onestore::Store::parse(&section)?.header.file_id; | |
| 12 | let toc = onestore::create_table_of_contents( | |
| 13 | "Open Notebook.onetoc2", | |
| 14 | &[("synthetic.one", identity)], | |
| 15 | )?; | |
| 16 | fs::create_dir(&args[0])?; | |
| 17 | for (name, data) in [("synthetic.one", section), ("Open Notebook.onetoc2", toc)] { | |
| 18 | let mut file = fs::OpenOptions::new() | |
| 19 | .create_new(true) | |
| 20 | .write(true) | |
| 21 | .open(Path::new(&args[0]).join(name))?; | |
| 22 | file.write_all(&data)?; | |
| 23 | flush::flush(&file)?; | |
| 24 | } | |
| 25 | Ok(()) | |
| 26 | } |
crates/onestore/examples/create_section.rs created+22| ... | ... | @@ -0,0 +1,22 @@ |
| 1 | #[path = "../src/flush.rs"] | |
| 2 | mod flush; | |
| 3 | ||
| 4 | use std::{env, fs::OpenOptions, io::Write, path::Path}; | |
| 5 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 6 | let args: Vec<_> = env::args().skip(1).collect(); | |
| 7 | if args.len() != 3 { | |
| 8 | return Err("Usage: create_section OUTPUT TEXT AUTHOR".into()); | |
| 9 | } | |
| 10 | let name = Path::new(&args[0]) | |
| 11 | .file_name() | |
| 12 | .and_then(|name| name.to_str()) | |
| 13 | .ok_or("Invalid section name")?; | |
| 14 | let bytes = onestore::create_section(name, &args[1], &args[2])?; | |
| 15 | let mut file = OpenOptions::new() | |
| 16 | .create_new(true) | |
| 17 | .write(true) | |
| 18 | .open(&args[0])?; | |
| 19 | file.write_all(&bytes)?; | |
| 20 | flush::flush(&file)?; | |
| 21 | Ok(()) | |
| 22 | } |
crates/onestore/examples/document.rs created+65| ... | ... | @@ -0,0 +1,65 @@ |
| 1 | use onestore::{ | |
| 2 | FileDataReference, RevisionIndex, Store, | |
| 3 | document::{Document, Kind}, | |
| 4 | }; | |
| 5 | use std::{collections::BTreeSet, env, fs, io, path::PathBuf}; | |
| 6 | ||
| 7 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 8 | let mut args = env::args_os().skip(1); | |
| 9 | let path = args.next().ok_or("Provide a .one or .onetoc2 file.")?; | |
| 10 | let destination = args.next().map(PathBuf::from); | |
| 11 | if args.next().is_some() { | |
| 12 | return Err("Provide a source file and an optional new export directory.".into()); | |
| 13 | } | |
| 14 | let bytes = onestore::read_file(path)?; | |
| 15 | let store = Store::parse(&bytes)?; | |
| 16 | let index = RevisionIndex::parse(&store)?; | |
| 17 | let document = Document::parse(&index)?; | |
| 18 | if let Some(destination) = destination { | |
| 19 | fs::create_dir(&destination)?; | |
| 20 | fs::create_dir(destination.join("assets"))?; | |
| 21 | let mut assets = Vec::new(); | |
| 22 | let mut seen = BTreeSet::new(); | |
| 23 | for node in document | |
| 24 | .spaces | |
| 25 | .values() | |
| 26 | .flat_map(|s| s.revisions.values()) | |
| 27 | .flat_map(|r| r.nodes.values()) | |
| 28 | { | |
| 29 | if let Kind::File { | |
| 30 | reference: FileDataReference::Internal(guid), | |
| 31 | payload: Some(data), | |
| 32 | .. | |
| 33 | } = &node.kind | |
| 34 | && seen.insert(guid) | |
| 35 | { | |
| 36 | let path = format!("assets/{}.bin", assets.len()); | |
| 37 | fs::write(destination.join(&path), data)?; | |
| 38 | assets.push(serde_json::json!({"reference": FileDataReference::Internal(*guid), "path": path})); | |
| 39 | } | |
| 40 | } | |
| 41 | serde_json::to_writer(fs::File::create(destination.join("assets.json"))?, &assets)?; | |
| 42 | let mut text = std::collections::BTreeMap::new(); | |
| 43 | for (sid, space) in &document.spaces { | |
| 44 | let mut revisions = std::collections::BTreeMap::new(); | |
| 45 | for (rid, revision) in &space.revisions { | |
| 46 | let mut objects = std::collections::BTreeMap::new(); | |
| 47 | for (oid, node) in &revision.nodes { | |
| 48 | if matches!(node.kind, Kind::RichText { .. }) { | |
| 49 | objects.insert(*oid, revision.text_runs(*oid)?); | |
| 50 | } | |
| 51 | } | |
| 52 | revisions.insert(*rid, objects); | |
| 53 | } | |
| 54 | text.insert(*sid, revisions); | |
| 55 | } | |
| 56 | serde_json::to_writer(fs::File::create(destination.join("text.json"))?, &text)?; | |
| 57 | serde_json::to_writer( | |
| 58 | fs::File::create(destination.join("document.json"))?, | |
| 59 | &document, | |
| 60 | )?; | |
| 61 | } else { | |
| 62 | serde_json::to_writer(io::stdout().lock(), &document)?; | |
| 63 | } | |
| 64 | Ok(()) | |
| 65 | } |
crates/onestore/examples/edit_property.rs created+74| ... | ... | @@ -0,0 +1,74 @@ |
| 1 | #[path = "../src/flush.rs"] | |
| 2 | mod flush; | |
| 3 | ||
| 4 | use onestore::{ | |
| 5 | ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, commit_file_property, | |
| 6 | replace_property_bytes, | |
| 7 | }; | |
| 8 | use std::{env, fs, io::Write}; | |
| 9 | ||
| 10 | fn hex(text: &str) -> Result<Vec<u8>, Box<dyn std::error::Error>> { | |
| 11 | if !text.is_ascii() || !text.len().is_multiple_of(2) { | |
| 12 | return Err("Expected an even number of hexadecimal digits".into()); | |
| 13 | } | |
| 14 | text.as_bytes() | |
| 15 | .chunks_exact(2) | |
| 16 | .map(|pair| Ok(u8::from_str_radix(std::str::from_utf8(pair)?, 16)?)) | |
| 17 | .collect() | |
| 18 | } | |
| 19 | ||
| 20 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 21 | let args: Vec<_> = env::args().skip(1).collect(); | |
| 22 | if args.len() != 6 && args.len() != 8 { | |
| 23 | return Err( | |
| 24 | "Usage: edit_property INPUT OUTPUT|--in-place JCID PROPERTY EXPECTED_HEX VALUE_HEX [SPACE OBJECT]" | |
| 25 | .into(), | |
| 26 | ); | |
| 27 | } | |
| 28 | let jcid = u32::from_str_radix(&args[2], 16)?; | |
| 29 | let id = u32::from_str_radix(&args[3], 16)?; | |
| 30 | let expected = hex(&args[4])?; | |
| 31 | let value = hex(&args[5])?; | |
| 32 | let bytes = onestore::read_file(&args[0])?; | |
| 33 | let store = Store::parse(&bytes)?; | |
| 34 | let index = RevisionIndex::parse(&store)?; | |
| 35 | index.validate_current()?; | |
| 36 | let mut selected = None; | |
| 37 | for (osid, space) in &index.spaces { | |
| 38 | let Some(&rid) = space.labels.get(&(ExGuid::default(), 1)) else { | |
| 39 | continue; | |
| 40 | }; | |
| 41 | let revision = index.resolve(*osid, rid)?; | |
| 42 | for oid in revision.reachable()? { | |
| 43 | if args.len() == 8 && (args[6] != osid.to_string() || args[7] != oid.to_string()) { | |
| 44 | continue; | |
| 45 | } | |
| 46 | let object = &revision.objects[&oid]; | |
| 47 | if object.jcid == jcid | |
| 48 | && let ObjectData::Properties(data) = object.data | |
| 49 | { | |
| 50 | for property in &PropertySets::parse(data)?.sets[0] { | |
| 51 | if property.id == id | |
| 52 | && property.value == Value::Bytes(&expected) | |
| 53 | && selected.replace((*osid, oid)).is_some() | |
| 54 | { | |
| 55 | return Err("Multiple matching objects".into()); | |
| 56 | } | |
| 57 | } | |
| 58 | } | |
| 59 | } | |
| 60 | } | |
| 61 | let (space, object) = selected.ok_or("No matching object")?; | |
| 62 | if args[1] == "--in-place" { | |
| 63 | commit_file_property(&args[0], &bytes, space, object, id, &value)?; | |
| 64 | return Ok(()); | |
| 65 | } | |
| 66 | let written = replace_property_bytes(&bytes, space, object, id, &value)?; | |
| 67 | let mut output = fs::OpenOptions::new() | |
| 68 | .write(true) | |
| 69 | .create_new(true) | |
| 70 | .open(&args[1])?; | |
| 71 | output.write_all(&written)?; | |
| 72 | flush::flush(&output)?; | |
| 73 | Ok(()) | |
| 74 | } |
crates/onestore/examples/header_faults.rs created+40| ... | ... | @@ -0,0 +1,40 @@ |
| 1 | use onestore::*; | |
| 2 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 3 | let source = | |
| 4 | std::fs::read("corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one")?; | |
| 5 | let store = Store::parse(&source)?; | |
| 6 | let index = RevisionIndex::parse(&store)?; | |
| 7 | let mut target = None; | |
| 8 | for (osid, space) in &index.spaces { | |
| 9 | let revision = index.resolve(*osid, space.labels[&(ExGuid::default(), 1)])?; | |
| 10 | for (oid, object) in revision.objects { | |
| 11 | if let ObjectData::Properties(data) = object.data { | |
| 12 | for p in &PropertySets::parse(data)?.sets[0] { | |
| 13 | if p.value == Value::Bytes(b"Fictitious plain text.") { | |
| 14 | target = Some((*osid, oid, p.id)); | |
| 15 | } | |
| 16 | } | |
| 17 | } | |
| 18 | } | |
| 19 | } | |
| 20 | let (osid, oid, property) = target.unwrap(); | |
| 21 | let output = replace_property_bytes(&source, osid, oid, property, b"A durable edit.")?; | |
| 22 | let mut invalid = Vec::new(); | |
| 23 | for prefix in 0..=1024 { | |
| 24 | let mut torn = output.clone(); | |
| 25 | torn[prefix..1024].copy_from_slice(&source[prefix..1024]); | |
| 26 | let result = Store::parse(&torn).and_then(|store| { | |
| 27 | let index = RevisionIndex::parse(&store)?; | |
| 28 | index.validate_current() | |
| 29 | }); | |
| 30 | if result.is_err() { | |
| 31 | invalid.push(prefix); | |
| 32 | } | |
| 33 | } | |
| 34 | println!( | |
| 35 | "Header prefix tears: {} invalid out of 1025; offsets {:?}", | |
| 36 | invalid.len(), | |
| 37 | invalid | |
| 38 | ); | |
| 39 | Ok(()) | |
| 40 | } |
crates/onestore/examples/inspect.rs created+19| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | use onestore::Store; | |
| 2 | use std::{env, fs}; | |
| 3 | ||
| 4 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 5 | for path in env::args_os().skip(1) { | |
| 6 | let bytes = fs::read(&path)?; | |
| 7 | let store = Store::parse(&bytes)?; | |
| 8 | let nodes: usize = store.lists.values().map(|list| list.nodes.len()).sum(); | |
| 9 | println!( | |
| 10 | "{:?}: {:?}, {} transactions, {} lists, {nodes} nodes, {} checksum mismatches", | |
| 11 | path, | |
| 12 | store.header.file_type, | |
| 13 | store.header.transaction_count, | |
| 14 | store.lists.len(), | |
| 15 | store.checksum_mismatches.len() | |
| 16 | ); | |
| 17 | } | |
| 18 | Ok(()) | |
| 19 | } |
crates/onestore/examples/inventory.rs created+78| ... | ... | @@ -0,0 +1,78 @@ |
| 1 | use onestore::{ExGuid, FileDataReference, ObjectData, PropertySets, RevisionIndex, Store, Value}; | |
| 2 | use std::{ | |
| 3 | collections::BTreeSet, | |
| 4 | env, | |
| 5 | io::{self, Write}, | |
| 6 | }; | |
| 7 | ||
| 8 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 9 | let mut output = io::BufWriter::new(io::stdout().lock()); | |
| 10 | for path in env::args_os().skip(1) { | |
| 11 | let bytes = onestore::read_file(path)?; | |
| 12 | let store = Store::parse(&bytes)?; | |
| 13 | let index = RevisionIndex::parse(&store)?; | |
| 14 | index.validate_current()?; | |
| 15 | let mut seen = BTreeSet::new(); | |
| 16 | let mut pending = vec![index.root]; | |
| 17 | while let Some(osid) = pending.pop() { | |
| 18 | if !seen.insert(osid) { | |
| 19 | continue; | |
| 20 | } | |
| 21 | let rid = index.spaces[&osid].labels[&(ExGuid::default(), 1)]; | |
| 22 | let revision = index.resolve(osid, rid)?; | |
| 23 | for oid in revision.reachable()? { | |
| 24 | let object = &revision.objects[&oid]; | |
| 25 | pending.extend(object.references()?.object_spaces); | |
| 26 | if object.jcid == 0x6000b { | |
| 27 | let metadata = revision | |
| 28 | .roots | |
| 29 | .get(&2) | |
| 30 | .map(|oid| revision.objects[oid].jcid) | |
| 31 | .unwrap_or(0); | |
| 32 | writeln!(output, "page\t{osid}\t{metadata:x}")?; | |
| 33 | } | |
| 34 | let mut record = None; | |
| 35 | if object.jcid == 0x6000e | |
| 36 | && let ObjectData::Properties(data) = object.data | |
| 37 | { | |
| 38 | let properties = PropertySets::parse(data)?; | |
| 39 | let boiler = properties.sets[0] | |
| 40 | .iter() | |
| 41 | .any(|p| matches!(p.id, 0x88001c87 | 0x88001c88 | 0x88001cb5)); | |
| 42 | record = Some(("ascii", &[][..])); | |
| 43 | let property = properties.sets[0] | |
| 44 | .iter() | |
| 45 | .find(|property| property.id == 0x1c001c22) | |
| 46 | .or_else(|| { | |
| 47 | properties.sets[0] | |
| 48 | .iter() | |
| 49 | .find(|property| property.id == 0x1c003498) | |
| 50 | }); | |
| 51 | if let Some(property) = property | |
| 52 | && let Value::Bytes(data) = property.value | |
| 53 | { | |
| 54 | record = Some(( | |
| 55 | if property.id == 0x1c001c22 { | |
| 56 | if boiler { "boiler-unicode" } else { "unicode" } | |
| 57 | } else { | |
| 58 | if boiler { "boiler-ascii" } else { "ascii" } | |
| 59 | }, | |
| 60 | data, | |
| 61 | )); | |
| 62 | } | |
| 63 | } | |
| 64 | if let Some(FileDataReference::Internal(guid)) = object.file_reference()? { | |
| 65 | record = Some(("file", store.file_data(guid)?)); | |
| 66 | } | |
| 67 | if let Some((kind, data)) = record { | |
| 68 | write!(output, "{kind}\t{osid}\t")?; | |
| 69 | for byte in data { | |
| 70 | write!(output, "{byte:02x}")?; | |
| 71 | } | |
| 72 | writeln!(output)?; | |
| 73 | } | |
| 74 | } | |
| 75 | } | |
| 76 | } | |
| 77 | Ok(()) | |
| 78 | } |
crates/onestore/examples/large_notebook.rs created+54| ... | ... | @@ -0,0 +1,54 @@ |
| 1 | use onestore::{Store, create_section, create_table_of_contents}; | |
| 2 | use std::{env, fs, path::PathBuf}; | |
| 3 | ||
| 4 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 5 | let mut args = env::args().skip(1); | |
| 6 | let destination = PathBuf::from(args.next().ok_or("Provide a new destination directory.")?); | |
| 7 | let count: usize = args.next().ok_or("Provide a section count.")?.parse()?; | |
| 8 | let length: usize = args | |
| 9 | .next() | |
| 10 | .ok_or("Provide a text length in Unicode scalars.")? | |
| 11 | .parse()?; | |
| 12 | if args.next().is_some() || !(1..=1024).contains(&count) || !(1..=1_000_000).contains(&length) { | |
| 13 | return Err("Use 1–1024 sections and 1–1000000 Unicode scalars per page.".into()); | |
| 14 | } | |
| 15 | fs::create_dir(&destination)?; | |
| 16 | let notebook = destination.join("notebook"); | |
| 17 | fs::create_dir(&notebook)?; | |
| 18 | let alphabet: Vec<_> = "Repeated text · café 東京 مرحبا 😀 e\u{301} <>&\" " | |
| 19 | .chars() | |
| 20 | .collect(); | |
| 21 | let mut sections = Vec::new(); | |
| 22 | let mut expected = Vec::new(); | |
| 23 | for index in 0..count { | |
| 24 | let name = format!("Section {index:03}.one"); | |
| 25 | let text: String = (0..length) | |
| 26 | .map(|offset| { | |
| 27 | if offset % 250 == 249 { | |
| 28 | '\r' | |
| 29 | } else { | |
| 30 | alphabet[(offset + index) % alphabet.len()] | |
| 31 | } | |
| 32 | }) | |
| 33 | .collect(); | |
| 34 | let bytes = create_section(&name, &text, "Fictitious scale fixture")?; | |
| 35 | let identity = Store::parse(&bytes)?.header.file_id; | |
| 36 | fs::write(notebook.join(&name), bytes)?; | |
| 37 | expected.push(serde_json::json!({"section": name, "text": text})); | |
| 38 | sections.push((name, identity)); | |
| 39 | } | |
| 40 | let entries: Vec<_> = sections | |
| 41 | .iter() | |
| 42 | .rev() | |
| 43 | .map(|(name, id)| (name.as_str(), *id)) | |
| 44 | .collect(); | |
| 45 | fs::write( | |
| 46 | notebook.join("Open Notebook.onetoc2"), | |
| 47 | create_table_of_contents("Open Notebook.onetoc2", &entries)?, | |
| 48 | )?; | |
| 49 | serde_json::to_writer( | |
| 50 | fs::File::create(destination.join("expected.json"))?, | |
| 51 | &expected, | |
| 52 | )?; | |
| 53 | Ok(()) | |
| 54 | } |
crates/onestore/examples/power_loss.rs created+335| ... | ... | @@ -0,0 +1,335 @@ |
| 1 | #[path = "../tests/support/checkpoint.rs"] | |
| 2 | mod checkpoint; | |
| 3 | ||
| 4 | use onestore::{ | |
| 5 | CommitIo, ExGuid, RevisionIndex, Store, | |
| 6 | document::{Document, Kind}, | |
| 7 | }; | |
| 8 | use std::{collections::BTreeMap, fs, io, path::PathBuf}; | |
| 9 | ||
| 10 | enum Event { | |
| 11 | Write(usize, Vec<u8>), | |
| 12 | Flush, | |
| 13 | } | |
| 14 | ||
| 15 | struct Trace { | |
| 16 | bytes: Vec<u8>, | |
| 17 | events: Vec<Event>, | |
| 18 | } | |
| 19 | ||
| 20 | impl CommitIo for Trace { | |
| 21 | fn read_at(&mut self, offset: u64, output: &mut [u8]) -> io::Result<usize> { | |
| 22 | let offset = offset as usize; | |
| 23 | let count = output.len().min(self.bytes.len().saturating_sub(offset)); | |
| 24 | output[..count].copy_from_slice(&self.bytes[offset..offset + count]); | |
| 25 | Ok(count) | |
| 26 | } | |
| 27 | fn write_at(&mut self, offset: u64, bytes: &[u8]) -> io::Result<usize> { | |
| 28 | let offset = offset as usize; | |
| 29 | let count = bytes.len().min(4096); | |
| 30 | self.bytes.resize(self.bytes.len().max(offset + count), 0); | |
| 31 | self.bytes[offset..offset + count].copy_from_slice(&bytes[..count]); | |
| 32 | self.events | |
| 33 | .push(Event::Write(offset, bytes[..count].to_vec())); | |
| 34 | Ok(count) | |
| 35 | } | |
| 36 | fn flush(&mut self) -> io::Result<()> { | |
| 37 | self.events.push(Event::Flush); | |
| 38 | Ok(()) | |
| 39 | } | |
| 40 | } | |
| 41 | ||
| 42 | fn current(bytes: &[u8]) -> BTreeMap<ExGuid, String> { | |
| 43 | let store = Store::parse(bytes).unwrap(); | |
| 44 | assert!(store.checksum_mismatches.is_empty()); | |
| 45 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 46 | index.validate_current().unwrap(); | |
| 47 | Document::parse(&index).unwrap(); | |
| 48 | index | |
| 49 | .spaces | |
| 50 | .iter() | |
| 51 | .map(|(sid, space)| { | |
| 52 | let rid = space.labels[&(ExGuid::default(), 1)]; | |
| 53 | let revision = index.resolve(*sid, rid).unwrap(); | |
| 54 | for object in revision.objects.values() { | |
| 55 | if let Some(onestore::FileDataReference::Internal(guid)) = | |
| 56 | object.file_reference().unwrap() | |
| 57 | { | |
| 58 | store.file_data(guid).unwrap(); | |
| 59 | } | |
| 60 | } | |
| 61 | (*sid, format!("{revision:?}")) | |
| 62 | }) | |
| 63 | .collect() | |
| 64 | } | |
| 65 | ||
| 66 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 67 | let destination = PathBuf::from( | |
| 68 | std::env::args_os() | |
| 69 | .nth(1) | |
| 70 | .ok_or("Provide a new evidence directory")?, | |
| 71 | ); | |
| 72 | fs::create_dir(&destination)?; | |
| 73 | let fixtures = [ | |
| 74 | ( | |
| 75 | "unicode", | |
| 76 | "corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one", | |
| 77 | ), | |
| 78 | ( | |
| 79 | "rollover-256", | |
| 80 | "corpus/append/round-01/tx-255/notebook/synthetic.one", | |
| 81 | ), | |
| 82 | ( | |
| 83 | "rollover-65536", | |
| 84 | "corpus/append/round-01/tx-65535/notebook/synthetic.one", | |
| 85 | ), | |
| 86 | ( | |
| 87 | "attachment", | |
| 88 | "corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one", | |
| 89 | ), | |
| 90 | ( | |
| 91 | "checkpoint", | |
| 92 | "corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one", | |
| 93 | ), | |
| 94 | ( | |
| 95 | "toc", | |
| 96 | "corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2", | |
| 97 | ), | |
| 98 | ( | |
| 99 | "toc-rollover", | |
| 100 | "corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2", | |
| 101 | ), | |
| 102 | ( | |
| 103 | "toc-checkpoint", | |
| 104 | "corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2", | |
| 105 | ), | |
| 106 | ]; | |
| 107 | let mut records = Vec::new(); | |
| 108 | let mut saved = BTreeMap::new(); | |
| 109 | for (name, path) in fixtures { | |
| 110 | if std::env::args().nth(2).as_deref() == Some("--toc") && !name.starts_with("toc") { | |
| 111 | continue; | |
| 112 | } | |
| 113 | println!("Checking {name}"); | |
| 114 | let mut source = fs::read(path)?; | |
| 115 | let store = Store::parse(&source)?; | |
| 116 | let index = RevisionIndex::parse(&store)?; | |
| 117 | let document = Document::parse(&index)?; | |
| 118 | let toc = store.header.file_type == onestore::FileType::TableOfContents; | |
| 119 | let (sid, oid) = if toc { | |
| 120 | let root = &document.spaces[&document.root]; | |
| 121 | ( | |
| 122 | document.root, | |
| 123 | root.revisions[&root.contexts[&ExGuid::default()]].roots[&1], | |
| 124 | ) | |
| 125 | } else { | |
| 126 | document | |
| 127 | .spaces | |
| 128 | .iter() | |
| 129 | .find_map(|(sid, space)| { | |
| 130 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 131 | revision | |
| 132 | .nodes | |
| 133 | .iter() | |
| 134 | .find_map(|(oid, node)| match &node.kind { | |
| 135 | Kind::RichText { text, .. } | |
| 136 | if text.starts_with("Fictitious") || text == "Transaction 255" => | |
| 137 | { | |
| 138 | Some((*sid, *oid)) | |
| 139 | } | |
| 140 | _ => None, | |
| 141 | }) | |
| 142 | }) | |
| 143 | .ok_or("Missing native fixture text")? | |
| 144 | }; | |
| 145 | if name.ends_with("checkpoint") { | |
| 146 | source = | |
| 147 | checkpoint::pending(&source, sid, oid, if toc { 0x14001cbe } else { 0x14001d7a }); | |
| 148 | } | |
| 149 | if name == "toc-rollover" { | |
| 150 | loop { | |
| 151 | let count = Store::parse(&source)?.header.transaction_count; | |
| 152 | if count == 255 { | |
| 153 | break; | |
| 154 | } | |
| 155 | assert!(count < 255); | |
| 156 | source = onestore::replace_property_bytes( | |
| 157 | &source, | |
| 158 | sid, | |
| 159 | oid, | |
| 160 | 0x14001cbe, | |
| 161 | &count.to_le_bytes(), | |
| 162 | )?; | |
| 163 | } | |
| 164 | } | |
| 165 | let apply = |io: &mut Trace, | |
| 166 | bytes: &[u8], | |
| 167 | recovering: bool| | |
| 168 | -> Result<(), Box<dyn std::error::Error>> { | |
| 169 | if toc { | |
| 170 | let value = if recovering { | |
| 171 | [0x44, 0x55, 0x66, 0] | |
| 172 | } else { | |
| 173 | [0x33, 0x66, 0x99, 0] | |
| 174 | }; | |
| 175 | onestore::commit_property_bytes(io, bytes, sid, oid, 0x14001cbe, &value)?; | |
| 176 | } else { | |
| 177 | let store = Store::parse(bytes)?; | |
| 178 | let index = RevisionIndex::parse(&store)?; | |
| 179 | let doc = Document::parse(&index)?; | |
| 180 | let space = &doc.spaces[&sid]; | |
| 181 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 182 | let Kind::RichText { text, .. } = &revision.nodes[&oid].kind else { | |
| 183 | unreachable!() | |
| 184 | }; | |
| 185 | let end = u32::try_from(text.encode_utf16().count())?; | |
| 186 | onestore::commit_text( | |
| 187 | io, | |
| 188 | bytes, | |
| 189 | sid, | |
| 190 | oid, | |
| 191 | end..end, | |
| 192 | if recovering { | |
| 193 | " [recovered]" | |
| 194 | } else { | |
| 195 | " [durable café 🦀]" | |
| 196 | }, | |
| 197 | )?; | |
| 198 | } | |
| 199 | Ok(()) | |
| 200 | }; | |
| 201 | fs::write(destination.join(format!("{name}-source.bin")), &source)?; | |
| 202 | let before = current(&source); | |
| 203 | let mut trace = Trace { | |
| 204 | bytes: source.clone(), | |
| 205 | events: Vec::new(), | |
| 206 | }; | |
| 207 | apply(&mut trace, &source, false)?; | |
| 208 | let after = current(&trace.bytes); | |
| 209 | assert_ne!(before, after); | |
| 210 | let mut durable = source.clone(); | |
| 211 | let mut pending = Vec::new(); | |
| 212 | let mut flushes = 0; | |
| 213 | for (step, event) in trace.events.iter().enumerate() { | |
| 214 | if let Event::Write(offset, data) = event { | |
| 215 | pending.push((*offset, data)); | |
| 216 | } | |
| 217 | for policy in 0..6 { | |
| 218 | let mut image = durable.clone(); | |
| 219 | // Unflushed writes may reach storage out of order and only in part. | |
| 220 | for (offset, data) in pending.iter().rev() { | |
| 221 | for (i, byte) in data.iter().enumerate() { | |
| 222 | let persist = match policy { | |
| 223 | 0 => false, | |
| 224 | 1 => true, | |
| 225 | 2 => i < data.len() / 2, | |
| 226 | 3 => i >= data.len() / 2, | |
| 227 | 4 => ((offset + i) / 512) % 2 == 0, | |
| 228 | _ => (offset + i).wrapping_mul(0x9e3779b9).count_ones() % 2 == 0, | |
| 229 | }; | |
| 230 | if persist { | |
| 231 | image.resize(image.len().max(offset + i + 1), 0); | |
| 232 | image[offset + i] = *byte; | |
| 233 | } | |
| 234 | } | |
| 235 | } | |
| 236 | let checked = | |
| 237 | std::panic::catch_unwind(|| -> Result<bool, Box<dyn std::error::Error>> { | |
| 238 | let observed = current(&image); | |
| 239 | assert!( | |
| 240 | observed == before || observed == after, | |
| 241 | "{name} step {step} policy {policy}" | |
| 242 | ); | |
| 243 | if flushes >= 3 { | |
| 244 | assert_eq!(observed, after, "Acknowledged publication was lost"); | |
| 245 | } | |
| 246 | let committed = observed == after; | |
| 247 | let mut recovered = Trace { | |
| 248 | bytes: image.clone(), | |
| 249 | events: Vec::new(), | |
| 250 | }; | |
| 251 | apply(&mut recovered, &image, true)?; | |
| 252 | let recovered_store = Store::parse(&recovered.bytes)?; | |
| 253 | let recovered_index = RevisionIndex::parse(&recovered_store)?; | |
| 254 | let recovered_doc = Document::parse(&recovered_index)?; | |
| 255 | let space = &recovered_doc.spaces[&sid]; | |
| 256 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 257 | match &revision.nodes[&oid].kind { | |
| 258 | Kind::RichText { text, .. } => assert!(text.ends_with(" [recovered]")), | |
| 259 | Kind::Toc { color, .. } => assert_eq!(*color, Some(0x665544)), | |
| 260 | _ => unreachable!(), | |
| 261 | } | |
| 262 | Ok(committed) | |
| 263 | }); | |
| 264 | let committed = match checked { | |
| 265 | Ok(Ok(committed)) => committed, | |
| 266 | failure => { | |
| 267 | fs::write(destination.join("failure.one"), &image)?; | |
| 268 | fs::write( | |
| 269 | destination.join("failure.json"), | |
| 270 | serde_json::to_vec_pretty( | |
| 271 | &serde_json::json!({"case": name, "step": step, "policy": policy, "completed_flushes": flushes}), | |
| 272 | )?, | |
| 273 | )?; | |
| 274 | match failure { | |
| 275 | Ok(Err(error)) => return Err(error), | |
| 276 | Err(panic) => std::panic::resume_unwind(panic), | |
| 277 | _ => unreachable!(), | |
| 278 | } | |
| 279 | } | |
| 280 | }; | |
| 281 | let digest = format!("{:x}", md5::compute(&image)); | |
| 282 | if matches!(event, Event::Flush) | |
| 283 | && (policy == 0 || policy == 1) | |
| 284 | && !saved.contains_key(&digest) | |
| 285 | { | |
| 286 | let directory = format!("{name}-{step}-{policy}"); | |
| 287 | let notebook = destination.join(&directory).join("notebook"); | |
| 288 | fs::create_dir_all(&notebook)?; | |
| 289 | if toc { | |
| 290 | fs::write(notebook.join("Open Notebook.onetoc2"), &image)?; | |
| 291 | fs::copy( | |
| 292 | PathBuf::from(path).parent().unwrap().join("synthetic.one"), | |
| 293 | notebook.join("synthetic.one"), | |
| 294 | )?; | |
| 295 | } else { | |
| 296 | fs::write(notebook.join("synthetic.one"), &image)?; | |
| 297 | let identity = Store::parse(&image)?.header.file_id; | |
| 298 | fs::write( | |
| 299 | notebook.join("Open Notebook.onetoc2"), | |
| 300 | onestore::create_table_of_contents( | |
| 301 | "Open Notebook.onetoc2", | |
| 302 | &[("synthetic.one", identity)], | |
| 303 | )?, | |
| 304 | )?; | |
| 305 | } | |
| 306 | saved.insert(digest.clone(), directory); | |
| 307 | } | |
| 308 | records.push(serde_json::json!({"case":name,"step":step,"completed_flushes":flushes,"policy":policy,"committed":committed,"md5":digest})); | |
| 309 | } | |
| 310 | if matches!(event, Event::Flush) { | |
| 311 | for (offset, data) in pending.drain(..) { | |
| 312 | durable.resize(durable.len().max(offset + data.len()), 0); | |
| 313 | durable[offset..offset + data.len()].copy_from_slice(data); | |
| 314 | } | |
| 315 | flushes += 1; | |
| 316 | current(&durable); | |
| 317 | } | |
| 318 | } | |
| 319 | assert_eq!(current(&durable), after); | |
| 320 | } | |
| 321 | fs::write( | |
| 322 | destination.join("matrix.json"), | |
| 323 | serde_json::to_vec_pretty(&records)?, | |
| 324 | )?; | |
| 325 | fs::write( | |
| 326 | destination.join("native-cases.json"), | |
| 327 | serde_json::to_vec_pretty(&saved)?, | |
| 328 | )?; | |
| 329 | println!( | |
| 330 | "Passed {} persisted images and subsequent edits; {} native cases retained", | |
| 331 | records.len(), | |
| 332 | saved.len() | |
| 333 | ); | |
| 334 | Ok(()) | |
| 335 | } |
crates/onestore/examples/properties.rs created+41| ... | ... | @@ -0,0 +1,41 @@ |
| 1 | use onestore::{PropertySets, Reference, Store}; | |
| 2 | use std::{env, fs}; | |
| 3 | ||
| 4 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 5 | for path in env::args_os().skip(1) { | |
| 6 | let bytes = fs::read(&path)?; | |
| 7 | let store = Store::parse(&bytes)?; | |
| 8 | let mut count = 0; | |
| 9 | for list in store.lists.values() { | |
| 10 | for node in &list.nodes { | |
| 11 | if node.id == 0x7c { | |
| 12 | return Err("Encrypted object space requires revision-aware inspection".into()); | |
| 13 | } | |
| 14 | if matches!( | |
| 15 | node.id, | |
| 16 | 0xa4 | 0xa5 | 0xc4 | 0xc5 | 0x2d | 0x2e | 0x41 | 0x42 | |
| 17 | ) && let Some(Reference::Data(chunk)) = node.reference | |
| 18 | { | |
| 19 | let start = usize::try_from(chunk.offset)?; | |
| 20 | let end = start | |
| 21 | .checked_add(usize::try_from(chunk.length)?) | |
| 22 | .ok_or("Property range exceeds address space")?; | |
| 23 | let properties = PropertySets::parse( | |
| 24 | bytes | |
| 25 | .get(start..end) | |
| 26 | .ok_or("Property range extends outside the file")?, | |
| 27 | ) | |
| 28 | .map_err(|error| { | |
| 29 | format!( | |
| 30 | "{:?}, node {:#x}, data {start:#x}: {error}", | |
| 31 | path, node.offset | |
| 32 | ) | |
| 33 | })?; | |
| 34 | count += properties.sets.iter().map(Vec::len).sum::<usize>(); | |
| 35 | } | |
| 36 | } | |
| 37 | } | |
| 38 | println!("{:?}: {count} properties", path); | |
| 39 | } | |
| 40 | Ok(()) | |
| 41 | } |
crates/onestore/examples/random_edit.rs created+171| ... | ... | @@ -0,0 +1,171 @@ |
| 1 | #[path = "../src/flush.rs"] | |
| 2 | mod flush; | |
| 3 | ||
| 4 | use onestore::{ | |
| 5 | ExGuid, RevisionIndex, Store, | |
| 6 | document::{Document, Kind}, | |
| 7 | }; | |
| 8 | use std::{ | |
| 9 | collections::BTreeSet, | |
| 10 | env, fs, | |
| 11 | io::Write, | |
| 12 | time::{SystemTime, UNIX_EPOCH}, | |
| 13 | }; | |
| 14 | ||
| 15 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 16 | let args: Vec<_> = env::args().skip(1).collect(); | |
| 17 | if !(3..=4).contains(&args.len()) { | |
| 18 | return Err("Usage: random_edit FILE OUTPUT|--in-place SEED [PAGE_ID]".into()); | |
| 19 | } | |
| 20 | let started = SystemTime::now().duration_since(UNIX_EPOCH)?.as_millis(); | |
| 21 | let seed: u64 = args[2].parse()?; | |
| 22 | let mut state = seed; | |
| 23 | let mut next = || { | |
| 24 | state = state.wrapping_add(0x9e3779b97f4a7c15); | |
| 25 | let mut value = state; | |
| 26 | value = (value ^ (value >> 30)).wrapping_mul(0xbf58476d1ce4e5b9); | |
| 27 | value = (value ^ (value >> 27)).wrapping_mul(0x94d049bb133111eb); | |
| 28 | value ^ (value >> 31) | |
| 29 | }; | |
| 30 | let source = onestore::read_file(&args[0])?; | |
| 31 | let store = Store::parse(&source)?; | |
| 32 | let index = RevisionIndex::parse(&store)?; | |
| 33 | index.validate_current()?; | |
| 34 | let document = Document::parse(&index)?; | |
| 35 | let mut candidates = Vec::new(); | |
| 36 | for (sid, page) in document.pages()? { | |
| 37 | if args.get(3).is_some_and(|id| *id != page.to_string()) { | |
| 38 | continue; | |
| 39 | } | |
| 40 | let space = &document.spaces[&sid]; | |
| 41 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 42 | let mut pending = vec![page]; | |
| 43 | let mut seen = BTreeSet::new(); | |
| 44 | while let Some(oid) = pending.pop() { | |
| 45 | if !seen.insert(oid) { | |
| 46 | continue; | |
| 47 | } | |
| 48 | let node = &revision.nodes[&oid]; | |
| 49 | pending.extend( | |
| 50 | node.children | |
| 51 | .iter() | |
| 52 | .chain(&node.content) | |
| 53 | .chain(&node.structure) | |
| 54 | .copied(), | |
| 55 | ); | |
| 56 | if let Kind::RichText { | |
| 57 | runs, | |
| 58 | boilerplate: false, | |
| 59 | .. | |
| 60 | } = &node.kind | |
| 61 | { | |
| 62 | for (run, resolved) in runs.iter().zip(revision.text_runs(oid)?) { | |
| 63 | if [ | |
| 64 | resolved.format.hidden, | |
| 65 | resolved.format.hyperlink, | |
| 66 | resolved.format.math, | |
| 67 | resolved.format.embedded_object, | |
| 68 | ] | |
| 69 | .contains(&Some(true)) | |
| 70 | { | |
| 71 | continue; | |
| 72 | } | |
| 73 | candidates.push((sid, page, oid, run.start, resolved.text)); | |
| 74 | } | |
| 75 | } | |
| 76 | } | |
| 77 | } | |
| 78 | for i in (1..candidates.len()).rev() { | |
| 79 | candidates.swap(i, (next() % (i as u64 + 1)) as usize); | |
| 80 | } | |
| 81 | let mut rejected = Vec::new(); | |
| 82 | for (sid, page, oid, offset, text) in candidates { | |
| 83 | let mut boundaries = vec![0]; | |
| 84 | for character in text.chars() { | |
| 85 | boundaries.push(boundaries.last().unwrap() + character.len_utf16() as u32); | |
| 86 | } | |
| 87 | let first = (next() % boundaries.len() as u64) as usize; | |
| 88 | let second = (next() % boundaries.len() as u64) as usize; | |
| 89 | let mode = next() % 3; | |
| 90 | let start = if mode == 0 { first } else { first.min(second) }; | |
| 91 | let end = if mode == 0 { first } else { first.max(second) }; | |
| 92 | let insertion = match next() % 4 { | |
| 93 | 0 => " revised ", | |
| 94 | 1 => " café ", | |
| 95 | 2 => " 東京 🦀 ", | |
| 96 | _ => " e\u{301} ", | |
| 97 | }; | |
| 98 | let replacement = if mode == 1 && start != end { | |
| 99 | "" | |
| 100 | } else { | |
| 101 | insertion | |
| 102 | }; | |
| 103 | let end = if text | |
| 104 | .chars() | |
| 105 | .skip(start) | |
| 106 | .take(end - start) | |
| 107 | .eq(replacement.chars()) | |
| 108 | { | |
| 109 | start | |
| 110 | } else { | |
| 111 | end | |
| 112 | }; | |
| 113 | let range = offset + boundaries[start]..offset + boundaries[end]; | |
| 114 | let written = match onestore::replace_text(&source, sid, oid, range.clone(), replacement) { | |
| 115 | Ok(written) => written, | |
| 116 | Err(error) => { | |
| 117 | rejected.push(error.to_string()); | |
| 118 | continue; | |
| 119 | } | |
| 120 | }; | |
| 121 | let space = &document.spaces[&sid]; | |
| 122 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 123 | let Kind::RichText { runs, .. } = &revision.nodes[&oid].kind else { | |
| 124 | unreachable!() | |
| 125 | }; | |
| 126 | let selected = runs | |
| 127 | .iter() | |
| 128 | .rposition(|run| run.start <= range.start && range.end <= run.end) | |
| 129 | .unwrap(); | |
| 130 | let actual = revision.text_runs(oid)?; | |
| 131 | let mut record = serde_json::json!({"seed": seed, "source": args[0], "page": page, "space": sid, | |
| 132 | "object": oid, "range": [range.start, range.end], "replacement": replacement, | |
| 133 | "run_before": actual[selected].text, "run_start": runs[selected].start, "source_md5": format!("{:x}", md5::compute(&source)), | |
| 134 | "started_ms": started, "rejected_candidates": rejected}); | |
| 135 | let failed = if args[1] == "--in-place" { | |
| 136 | match onestore::commit_file_text(&args[0], &source, sid, oid, range, replacement) { | |
| 137 | Ok(()) => { | |
| 138 | record["state"] = "Committed".into(); | |
| 139 | false | |
| 140 | } | |
| 141 | Err(error) => { | |
| 142 | record["state"] = format!("{:?}", error.state).into(); | |
| 143 | record["error"] = error.error.to_string().into(); | |
| 144 | true | |
| 145 | } | |
| 146 | } | |
| 147 | } else { | |
| 148 | let mut file = fs::OpenOptions::new() | |
| 149 | .write(true) | |
| 150 | .create_new(true) | |
| 151 | .open(&args[1])?; | |
| 152 | file.write_all(&written)?; | |
| 153 | flush::flush(&file)?; | |
| 154 | record["state"] = "Created".into(); | |
| 155 | record["output"] = args[1].clone().into(); | |
| 156 | false | |
| 157 | }; | |
| 158 | record["finished_ms"] = | |
| 159 | u64::try_from(SystemTime::now().duration_since(UNIX_EPOCH)?.as_millis())?.into(); | |
| 160 | println!("{}", serde_json::to_string(&record)?); | |
| 161 | if failed { | |
| 162 | std::process::exit(2); | |
| 163 | } | |
| 164 | return Ok(()); | |
| 165 | } | |
| 166 | Err(format!( | |
| 167 | "No supported text edit on the selected page: {}", | |
| 168 | rejected.join("; ") | |
| 169 | ) | |
| 170 | .into()) | |
| 171 | } |
crates/onestore/examples/revisions.rs created+44| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | use onestore::{RevisionIndex, Store}; | |
| 2 | use std::{env, fs}; | |
| 3 | ||
| 4 | fn main() -> Result<(), Box<dyn std::error::Error>> { | |
| 5 | for path in env::args_os().skip(1) { | |
| 6 | let bytes = fs::read(&path)?; | |
| 7 | let store = Store::parse(&bytes)?; | |
| 8 | let index = RevisionIndex::parse(&store)?; | |
| 9 | index | |
| 10 | .validate_current() | |
| 11 | .map_err(|error| format!("{path:?}: {error}"))?; | |
| 12 | for (id, space) in &index.spaces { | |
| 13 | for rid in space.revisions.keys() { | |
| 14 | let resolved = index | |
| 15 | .resolve(*id, *rid) | |
| 16 | .map_err(|error| format!("{path:?}: {id} / {rid}: {error}"))?; | |
| 17 | resolved | |
| 18 | .reachable() | |
| 19 | .map_err(|error| format!("{path:?}: {id} / {rid}: {error}"))?; | |
| 20 | for object in resolved.objects.values() { | |
| 21 | if let Some(onestore::FileDataReference::Internal(guid)) = | |
| 22 | object.file_reference()? | |
| 23 | { | |
| 24 | store.file_data(guid)?; | |
| 25 | } | |
| 26 | if let onestore::ObjectData::Properties(bytes) = object.data { | |
| 27 | onestore::PropertySets::parse(bytes)?; | |
| 28 | } | |
| 29 | } | |
| 30 | } | |
| 31 | } | |
| 32 | let revisions: usize = index | |
| 33 | .spaces | |
| 34 | .values() | |
| 35 | .map(|space| space.revisions.len()) | |
| 36 | .sum(); | |
| 37 | println!( | |
| 38 | "{:?}: {} object spaces, {revisions} revisions", | |
| 39 | path, | |
| 40 | index.spaces.len() | |
| 41 | ); | |
| 42 | } | |
| 43 | Ok(()) | |
| 44 | } |
crates/onestore/src/bytes.rs created+28| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | use crate::Error; | |
| 2 | ||
| 3 | type Result<T> = std::result::Result<T, Error>; | |
| 4 | ||
| 5 | pub(crate) struct Cursor<'a> { | |
| 6 | pub(crate) bytes: &'a [u8], | |
| 7 | pub(crate) offset: usize, | |
| 8 | } | |
| 9 | ||
| 10 | impl<'a> Cursor<'a> { | |
| 11 | pub(crate) fn take(&mut self, len: usize) -> Result<&'a [u8]> { | |
| 12 | let Some((head, tail)) = self.bytes.split_at_checked(len) else { | |
| 13 | return Err(Error { | |
| 14 | offset: self.offset, | |
| 15 | message: "Truncated structure", | |
| 16 | }); | |
| 17 | }; | |
| 18 | self.bytes = tail; | |
| 19 | self.offset += len; | |
| 20 | Ok(head) | |
| 21 | } | |
| 22 | ||
| 23 | pub(crate) fn read<const N: usize>(&mut self) -> Result<[u8; N]> { | |
| 24 | let mut value = [0; N]; | |
| 25 | value.copy_from_slice(self.take(N)?); | |
| 26 | Ok(value) | |
| 27 | } | |
| 28 | } |
crates/onestore/src/commit.rs created+308| ... | ... | @@ -0,0 +1,308 @@ |
| 1 | use crate::{ExGuid, replace_property_bytes}; | |
| 2 | use std::io::{self, ErrorKind}; | |
| 3 | ||
| 4 | #[cfg(any(unix, windows))] | |
| 5 | use std::{ | |
| 6 | fs::File, | |
| 7 | io::Read, | |
| 8 | path::Path, | |
| 9 | sync::{Mutex, MutexGuard}, | |
| 10 | }; | |
| 11 | ||
| 12 | #[cfg(unix)] | |
| 13 | use std::os::unix::fs::FileExt; | |
| 14 | #[cfg(windows)] | |
| 15 | use std::os::windows::fs::FileExt; | |
| 16 | ||
| 17 | #[cfg(any(unix, windows))] | |
| 18 | struct FileIo { | |
| 19 | file: File, | |
| 20 | _process: MutexGuard<'static, ()>, | |
| 21 | unlock_on_drop: bool, | |
| 22 | } | |
| 23 | ||
| 24 | #[cfg(any(unix, windows))] | |
| 25 | impl FileIo { | |
| 26 | fn open(path: impl AsRef<Path>, write: bool) -> io::Result<Self> { | |
| 27 | static PROCESS: Mutex<()> = Mutex::new(()); | |
| 28 | let process = PROCESS | |
| 29 | .lock() | |
| 30 | .map_err(|_| io::Error::other("A file operation panicked in this process"))?; | |
| 31 | let mut options = File::options(); | |
| 32 | options.read(true).write(write); | |
| 33 | #[cfg(target_os = "macos")] | |
| 34 | { | |
| 35 | use std::os::unix::fs::OpenOptionsExt; | |
| 36 | // SMB can lose exclusion when separate opens race with flock. | |
| 37 | options.custom_flags(nix::libc::O_EXLOCK | nix::libc::O_NONBLOCK); | |
| 38 | } | |
| 39 | let file = options.open(path)?; | |
| 40 | #[cfg(not(target_os = "macos"))] | |
| 41 | file.try_lock()?; | |
| 42 | Ok(Self { | |
| 43 | file, | |
| 44 | _process: process, | |
| 45 | unlock_on_drop: true, | |
| 46 | }) | |
| 47 | } | |
| 48 | ||
| 49 | fn release(&mut self) -> io::Result<()> { | |
| 50 | // A failed unlock may have reached the server; Drop must not repeat it. | |
| 51 | self.unlock_on_drop = false; | |
| 52 | self.file.unlock() | |
| 53 | } | |
| 54 | ||
| 55 | fn finish(mut self, result: Result<(), CommitError>) -> Result<(), CommitError> { | |
| 56 | let released = self.release(); | |
| 57 | result?; | |
| 58 | released.map_err(|error| CommitError { | |
| 59 | state: CommitState::Committed, | |
| 60 | error, | |
| 61 | }) | |
| 62 | } | |
| 63 | } | |
| 64 | ||
| 65 | #[cfg(any(unix, windows))] | |
| 66 | impl Drop for FileIo { | |
| 67 | fn drop(&mut self) { | |
| 68 | if self.unlock_on_drop { | |
| 69 | let _ = self.file.unlock(); | |
| 70 | } | |
| 71 | } | |
| 72 | } | |
| 73 | ||
| 74 | /// Reads a snapshot under the same whole-file exclusion used for commits. | |
| 75 | /// Native writers can expose incomplete graphs to unlocked filesystem reads. | |
| 76 | #[cfg(any(unix, windows))] | |
| 77 | pub fn read_file(path: impl AsRef<Path>) -> io::Result<Vec<u8>> { | |
| 78 | let mut io = FileIo::open(path, false)?; | |
| 79 | let mut bytes = Vec::new(); | |
| 80 | let result = io.file.read_to_end(&mut bytes); | |
| 81 | let released = io.release(); | |
| 82 | result?; | |
| 83 | released?; | |
| 84 | Ok(bytes) | |
| 85 | } | |
| 86 | ||
| 87 | #[cfg(any(unix, windows))] | |
| 88 | impl CommitIo for FileIo { | |
| 89 | fn read_at(&mut self, offset: u64, bytes: &mut [u8]) -> io::Result<usize> { | |
| 90 | #[cfg(unix)] | |
| 91 | return self.file.read_at(bytes, offset); | |
| 92 | #[cfg(windows)] | |
| 93 | return self.file.seek_read(bytes, offset); | |
| 94 | } | |
| 95 | ||
| 96 | fn write_at(&mut self, offset: u64, bytes: &[u8]) -> io::Result<usize> { | |
| 97 | #[cfg(unix)] | |
| 98 | return self.file.write_at(bytes, offset); | |
| 99 | #[cfg(windows)] | |
| 100 | return self.file.seek_write(bytes, offset); | |
| 101 | } | |
| 102 | ||
| 103 | fn flush(&mut self) -> io::Result<()> { | |
| 104 | crate::flush::flush(&self.file) | |
| 105 | } | |
| 106 | } | |
| 107 | ||
| 108 | /// Commits under an exclusive whole-file lock; contention returns WouldBlock. | |
| 109 | /// Calls are serialized within this process because macOS SMB locks are reentrant. | |
| 110 | /// Durability relies on the filesystem and server honoring their flush contract. | |
| 111 | /// A changed snapshot returns ResourceBusy without publishing the edit. | |
| 112 | #[cfg(any(unix, windows))] | |
| 113 | pub fn commit_file_property( | |
| 114 | path: impl AsRef<Path>, | |
| 115 | source: &[u8], | |
| 116 | space: ExGuid, | |
| 117 | object: ExGuid, | |
| 118 | property: u32, | |
| 119 | value: &[u8], | |
| 120 | ) -> Result<(), CommitError> { | |
| 121 | let mut io = FileIo::open(path, true).map_err(|error| CommitError { | |
| 122 | state: CommitState::NotCommitted, | |
| 123 | error, | |
| 124 | })?; | |
| 125 | let result = commit_property_bytes(&mut io, source, space, object, property, value); | |
| 126 | io.finish(result) | |
| 127 | } | |
| 128 | ||
| 129 | /// Commits a text edit with the same exclusion and snapshot check as scalar edits. | |
| 130 | #[cfg(any(unix, windows))] | |
| 131 | pub fn commit_file_text( | |
| 132 | path: impl AsRef<Path>, | |
| 133 | source: &[u8], | |
| 134 | space: ExGuid, | |
| 135 | object: ExGuid, | |
| 136 | range: std::ops::Range<u32>, | |
| 137 | replacement: &str, | |
| 138 | ) -> Result<(), CommitError> { | |
| 139 | let mut io = FileIo::open(path, true).map_err(|error| CommitError { | |
| 140 | state: CommitState::NotCommitted, | |
| 141 | error, | |
| 142 | })?; | |
| 143 | let result = commit_text(&mut io, source, space, object, range, replacement); | |
| 144 | io.finish(result) | |
| 145 | } | |
| 146 | ||
| 147 | /// Atomically publishes text and its dependent run boundaries under caller-held exclusion. | |
| 148 | pub fn commit_text( | |
| 149 | io: &mut impl CommitIo, | |
| 150 | source: &[u8], | |
| 151 | space: ExGuid, | |
| 152 | object: ExGuid, | |
| 153 | range: std::ops::Range<u32>, | |
| 154 | replacement: &str, | |
| 155 | ) -> Result<(), CommitError> { | |
| 156 | let written = | |
| 157 | crate::replace_text(source, space, object, range, replacement).map_err(|error| { | |
| 158 | CommitError { | |
| 159 | state: CommitState::NotCommitted, | |
| 160 | error: io::Error::new(ErrorKind::InvalidData, error), | |
| 161 | } | |
| 162 | })?; | |
| 163 | commit_bytes(io, source, &written) | |
| 164 | } | |
| 165 | ||
| 166 | /// The caller must hold OneNote-compatible exclusion for the entire operation. | |
| 167 | /// Flush must make preceding writes durable before subsequent writes can persist. | |
| 168 | pub trait CommitIo { | |
| 169 | fn read_at(&mut self, offset: u64, bytes: &mut [u8]) -> io::Result<usize>; | |
| 170 | fn write_at(&mut self, offset: u64, bytes: &[u8]) -> io::Result<usize>; | |
| 171 | fn flush(&mut self) -> io::Result<()>; | |
| 172 | } | |
| 173 | ||
| 174 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] | |
| 175 | pub enum CommitState { | |
| 176 | /// Publication did not occur; preparation bytes may remain. Reread before retrying. | |
| 177 | NotCommitted, | |
| 178 | /// Publication may have persisted. Reread and reconcile the intent before retrying. | |
| 179 | Unknown, | |
| 180 | /// Publication was durably acknowledged, but cleanup failed. Do not replay the edit. | |
| 181 | Committed, | |
| 182 | } | |
| 183 | ||
| 184 | #[derive(Debug)] | |
| 185 | pub struct CommitError { | |
| 186 | pub state: CommitState, | |
| 187 | pub error: io::Error, | |
| 188 | } | |
| 189 | ||
| 190 | impl std::fmt::Display for CommitError { | |
| 191 | fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | |
| 192 | write!(formatter, "{:?}: {}", self.state, self.error) | |
| 193 | } | |
| 194 | } | |
| 195 | ||
| 196 | impl std::error::Error for CommitError { | |
| 197 | fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { | |
| 198 | Some(&self.error) | |
| 199 | } | |
| 200 | } | |
| 201 | ||
| 202 | fn write_all(io: &mut impl CommitIo, mut offset: usize, mut bytes: &[u8]) -> io::Result<()> { | |
| 203 | while !bytes.is_empty() { | |
| 204 | match io.write_at(offset as u64, bytes) { | |
| 205 | Ok(0) => return Err(io::Error::from(ErrorKind::WriteZero)), | |
| 206 | Ok(count) if count <= bytes.len() => { | |
| 207 | offset += count; | |
| 208 | bytes = &bytes[count..]; | |
| 209 | } | |
| 210 | Ok(_) => { | |
| 211 | return Err(io::Error::new( | |
| 212 | ErrorKind::InvalidData, | |
| 213 | "Storage returned an excessive write count", | |
| 214 | )); | |
| 215 | } | |
| 216 | Err(error) if error.kind() == ErrorKind::Interrupted => {} | |
| 217 | Err(error) => return Err(error), | |
| 218 | } | |
| 219 | } | |
| 220 | Ok(()) | |
| 221 | } | |
| 222 | ||
| 223 | /// Publishes a scalar revision after checking the locked file against its snapshot. | |
| 224 | /// Unknown outcomes require rereading; Committed errors affect counter cleanup or lock release. | |
| 225 | pub fn commit_property_bytes( | |
| 226 | io: &mut impl CommitIo, | |
| 227 | source: &[u8], | |
| 228 | space: ExGuid, | |
| 229 | object: ExGuid, | |
| 230 | property: u32, | |
| 231 | value: &[u8], | |
| 232 | ) -> Result<(), CommitError> { | |
| 233 | let written = | |
| 234 | replace_property_bytes(source, space, object, property, value).map_err(|error| { | |
| 235 | CommitError { | |
| 236 | state: CommitState::NotCommitted, | |
| 237 | error: io::Error::new(ErrorKind::InvalidData, error), | |
| 238 | } | |
| 239 | })?; | |
| 240 | commit_bytes(io, source, &written) | |
| 241 | } | |
| 242 | ||
| 243 | pub(crate) fn commit_bytes( | |
| 244 | io: &mut impl CommitIo, | |
| 245 | source: &[u8], | |
| 246 | written: &[u8], | |
| 247 | ) -> Result<(), CommitError> { | |
| 248 | let mut state = CommitState::NotCommitted; | |
| 249 | let result = (|| -> io::Result<()> { | |
| 250 | let mut buffer = [0; 65536]; | |
| 251 | let mut offset = 0; | |
| 252 | while offset < source.len() { | |
| 253 | let size = buffer.len().min(source.len() - offset); | |
| 254 | let count = match io.read_at(offset as u64, &mut buffer[..size]) { | |
| 255 | Err(error) if error.kind() == ErrorKind::Interrupted => continue, | |
| 256 | result => result?, | |
| 257 | }; | |
| 258 | if count == 0 { | |
| 259 | return Err(io::Error::from(ErrorKind::UnexpectedEof)); | |
| 260 | } | |
| 261 | if count > size || buffer[..count] != source[offset..offset + count] { | |
| 262 | return Err(io::Error::new( | |
| 263 | ErrorKind::ResourceBusy, | |
| 264 | "The locked file differs from the edit snapshot", | |
| 265 | )); | |
| 266 | } | |
| 267 | offset += count; | |
| 268 | } | |
| 269 | if io.read_at(source.len() as u64, &mut buffer[..1])? != 0 { | |
| 270 | return Err(io::Error::new( | |
| 271 | ErrorKind::ResourceBusy, | |
| 272 | "The locked file grew after the edit snapshot", | |
| 273 | )); | |
| 274 | } | |
| 275 | if written == source { | |
| 276 | state = CommitState::Unknown; | |
| 277 | io.flush()?; | |
| 278 | return Ok(()); | |
| 279 | } | |
| 280 | write_all(io, source.len(), &written[source.len()..])?; | |
| 281 | let mut offset = 1024; | |
| 282 | while offset < source.len() { | |
| 283 | if source[offset] == written[offset] { | |
| 284 | offset += 1; | |
| 285 | continue; | |
| 286 | } | |
| 287 | let start = offset; | |
| 288 | while offset < source.len() && source[offset] != written[offset] { | |
| 289 | offset += 1; | |
| 290 | } | |
| 291 | write_all(io, start, &written[start..offset])?; | |
| 292 | } | |
| 293 | io.flush()?; | |
| 294 | write_all(io, 100, &written[100..1024])?; | |
| 295 | io.flush()?; | |
| 296 | let highest = (96..100).rfind(|at| source[*at] != written[*at]).unwrap(); | |
| 297 | state = CommitState::Unknown; | |
| 298 | write_all(io, highest, &written[highest..highest + 1])?; | |
| 299 | io.flush()?; | |
| 300 | state = CommitState::Committed; | |
| 301 | if highest > 96 { | |
| 302 | write_all(io, 96, &written[96..highest])?; | |
| 303 | io.flush()?; | |
| 304 | } | |
| 305 | Ok(()) | |
| 306 | })(); | |
| 307 | result.map_err(|error| CommitError { state, error }) | |
| 308 | } |
crates/onestore/src/create.rs created+554| ... | ... | @@ -0,0 +1,554 @@ |
| 1 | use crate::{ | |
| 2 | Chunk, Error, ExGuid, FileType, PropertySets, Reference, RevisionIndex, Store, | |
| 3 | store::crc, | |
| 4 | write::{append, append_list, fresh_guid, node}, | |
| 5 | }; | |
| 6 | use std::collections::BTreeMap; | |
| 7 | use std::time::{SystemTime, UNIX_EPOCH}; | |
| 8 | ||
| 9 | type Result<T> = std::result::Result<T, Error>; | |
| 10 | ||
| 11 | fn string(value: &str) -> Vec<u8> { | |
| 12 | value | |
| 13 | .encode_utf16() | |
| 14 | .chain([0]) | |
| 15 | .flat_map(u16::to_le_bytes) | |
| 16 | .collect() | |
| 17 | } | |
| 18 | ||
| 19 | fn properties(values: &[(u32, Vec<u8>)]) -> Result<Vec<u8>> { | |
| 20 | let mut streams: [Vec<u8>; 3] = std::array::from_fn(|_| Vec::new()); | |
| 21 | let mut fields = Vec::new(); | |
| 22 | for (id, value) in values { | |
| 23 | let kind = (id >> 26) & 0x1f; | |
| 24 | match kind { | |
| 25 | 1 | 2 => assert!(value.is_empty()), | |
| 26 | 3..=6 => { | |
| 27 | assert_eq!(value.len(), 1 << (kind - 3)); | |
| 28 | fields.extend(value); | |
| 29 | } | |
| 30 | 7 => { | |
| 31 | if value.len() >= 0x40000000 { | |
| 32 | return Err(Error { | |
| 33 | offset: 0, | |
| 34 | message: "Property data exceeds the format length limit", | |
| 35 | }); | |
| 36 | } | |
| 37 | fields.extend_from_slice(&(value.len() as u32).to_le_bytes()); | |
| 38 | fields.extend(value); | |
| 39 | } | |
| 40 | 8..=13 => { | |
| 41 | assert!(value.len().is_multiple_of(4)); | |
| 42 | if kind & 1 == 0 { | |
| 43 | assert_eq!(value.len(), 4); | |
| 44 | } else { | |
| 45 | fields | |
| 46 | .extend_from_slice(&u32::try_from(value.len() / 4).unwrap().to_le_bytes()); | |
| 47 | } | |
| 48 | streams[((kind - 8) / 2) as usize].extend(value); | |
| 49 | } | |
| 50 | _ => unreachable!(), | |
| 51 | } | |
| 52 | } | |
| 53 | let mut data = Vec::new(); | |
| 54 | let extended = !streams[2].is_empty(); | |
| 55 | let last = if extended { | |
| 56 | 2 | |
| 57 | } else if !streams[1].is_empty() { | |
| 58 | 1 | |
| 59 | } else { | |
| 60 | 0 | |
| 61 | }; | |
| 62 | for (index, stream) in streams.iter().enumerate().take(last + 1) { | |
| 63 | let mut header = u32::try_from(stream.len() / 4).unwrap(); | |
| 64 | assert!(header <= 0xffffff); | |
| 65 | if index == 0 && last == 0 { | |
| 66 | header |= 0x80000000; | |
| 67 | } | |
| 68 | if index < 2 && extended { | |
| 69 | header |= 0x40000000; | |
| 70 | } | |
| 71 | data.extend_from_slice(&header.to_le_bytes()); | |
| 72 | data.extend(stream); | |
| 73 | } | |
| 74 | data.extend_from_slice(&u16::try_from(values.len()).unwrap().to_le_bytes()); | |
| 75 | for (id, _) in values { | |
| 76 | data.extend_from_slice(&id.to_le_bytes()); | |
| 77 | } | |
| 78 | data.extend(fields); | |
| 79 | data.resize(data.len().next_multiple_of(8), 0); | |
| 80 | PropertySets::parse(&data)?; | |
| 81 | Ok(data) | |
| 82 | } | |
| 83 | ||
| 84 | struct NewObject { | |
| 85 | id: u32, | |
| 86 | jcid: u32, | |
| 87 | properties: Vec<(u32, Vec<u8>)>, | |
| 88 | } | |
| 89 | ||
| 90 | struct NewSpace { | |
| 91 | id: u32, | |
| 92 | roots: Vec<(u32, u32)>, | |
| 93 | objects: Vec<NewObject>, | |
| 94 | } | |
| 95 | ||
| 96 | pub(crate) fn current_timestamps() -> Result<(u32, u64)> { | |
| 97 | let now = SystemTime::now() | |
| 98 | .duration_since(UNIX_EPOCH) | |
| 99 | .map_err(|_| Error { | |
| 100 | offset: 0, | |
| 101 | message: "System time precedes the Unix epoch", | |
| 102 | })? | |
| 103 | .as_secs(); | |
| 104 | let modified = now | |
| 105 | .checked_sub(315532800) | |
| 106 | .and_then(|time| u32::try_from(time).ok()) | |
| 107 | .ok_or(Error { | |
| 108 | offset: 0, | |
| 109 | message: "System time exceeds the OneNote Time32 range", | |
| 110 | })?; | |
| 111 | Ok((modified, (now + 11644473600) * 10000000)) | |
| 112 | } | |
| 113 | ||
| 114 | /// Creates a section with one page and one plain-text paragraph, without a template. | |
| 115 | /// Text must not contain NUL or line-feed characters. | |
| 116 | pub fn create_section(file_name: &str, text: &str, author: &str) -> Result<Vec<u8>> { | |
| 117 | if file_name.contains(['/', '\\', '\0']) | |
| 118 | || !file_name.to_ascii_lowercase().ends_with(".one") | |
| 119 | || text.contains(['\0', '\n']) | |
| 120 | || author.contains('\0') | |
| 121 | { | |
| 122 | return Err(Error { | |
| 123 | offset: 0, | |
| 124 | message: "Invalid section name, paragraph text, or author", | |
| 125 | }); | |
| 126 | } | |
| 127 | let (modified, timestamp) = current_timestamps()?; | |
| 128 | let timestamp = timestamp.to_le_bytes().to_vec(); | |
| 129 | let page_guid = fresh_guid()?; | |
| 130 | let metadata = vec![ | |
| 131 | (0x1c001c30, page_guid.to_vec()), | |
| 132 | (0x1c001cf3, string(crate::edit::automatic_title(text))), | |
| 133 | (0x14001d82, 40_u32.to_le_bytes().to_vec()), | |
| 134 | (0x1400348b, 40_u32.to_le_bytes().to_vec()), | |
| 135 | (0x14001dff, 1_u32.to_le_bytes().to_vec()), | |
| 136 | (0x18001c65, timestamp.clone()), | |
| 137 | ]; | |
| 138 | let id = |value: u32| value.to_le_bytes().to_vec(); | |
| 139 | let last_modified = || (0x14001d7a, modified.to_le_bytes().to_vec()); | |
| 140 | let spaces = vec![ | |
| 141 | NewSpace { | |
| 142 | id: 1, | |
| 143 | roots: vec![(1, 10), (2, 11)], | |
| 144 | objects: vec![ | |
| 145 | NewObject { | |
| 146 | id: 10, | |
| 147 | jcid: 0x60007, | |
| 148 | properties: vec![ | |
| 149 | (0x1c001c30, fresh_guid()?.to_vec()), | |
| 150 | (0x18001c65, timestamp.clone()), | |
| 151 | (0x24001c20, id(12)), | |
| 152 | ], | |
| 153 | }, | |
| 154 | NewObject { | |
| 155 | id: 11, | |
| 156 | jcid: 0x20031, | |
| 157 | properties: vec![ | |
| 158 | (0x14001d82, id(40)), | |
| 159 | (0x1400348b, id(40)), | |
| 160 | (0x14001cbe, vec![0x8a, 0xa8, 0xe4, 0]), | |
| 161 | ], | |
| 162 | }, | |
| 163 | NewObject { | |
| 164 | id: 12, | |
| 165 | jcid: 0x60008, | |
| 166 | properties: vec![ | |
| 167 | (0x1c001c30, fresh_guid()?.to_vec()), | |
| 168 | (0x18001c65, timestamp), | |
| 169 | (0x2c001d63, id(257)), | |
| 170 | ], | |
| 171 | }, | |
| 172 | ], | |
| 173 | }, | |
| 174 | NewSpace { | |
| 175 | id: 257, | |
| 176 | roots: vec![(1, 20), (2, 21)], | |
| 177 | objects: vec![ | |
| 178 | NewObject { | |
| 179 | id: 20, | |
| 180 | jcid: 0x60037, | |
| 181 | properties: vec![(0x24001c1f, id(22))], | |
| 182 | }, | |
| 183 | NewObject { | |
| 184 | id: 21, | |
| 185 | jcid: 0x20030, | |
| 186 | properties: metadata, | |
| 187 | }, | |
| 188 | NewObject { | |
| 189 | id: 22, | |
| 190 | jcid: 0x6000b, | |
| 191 | properties: vec![ | |
| 192 | last_modified(), | |
| 193 | (0x24001c20, id(23)), | |
| 194 | (0x1c001d75, string(author)), | |
| 195 | (0x1c001d3c, string(crate::edit::automatic_title(text))), | |
| 196 | ], | |
| 197 | }, | |
| 198 | NewObject { | |
| 199 | id: 23, | |
| 200 | jcid: 0x6000c, | |
| 201 | properties: vec![ | |
| 202 | last_modified(), | |
| 203 | (0x24001c20, id(24)), | |
| 204 | (0x0c001c03, vec![1]), | |
| 205 | (0x1c001c12, vec![1, 0, 0, 0, 0, 0, 0, 0]), | |
| 206 | (0x14001c14, 1_f32.to_le_bytes().to_vec()), | |
| 207 | (0x14001c15, 1_f32.to_le_bytes().to_vec()), | |
| 208 | (0x14001c1b, 13_f32.to_le_bytes().to_vec()), | |
| 209 | (0x14001c1c, 0.6_f32.to_le_bytes().to_vec()), | |
| 210 | ], | |
| 211 | }, | |
| 212 | NewObject { | |
| 213 | id: 24, | |
| 214 | jcid: 0x6000d, | |
| 215 | properties: vec![ | |
| 216 | last_modified(), | |
| 217 | (0x24001c1f, id(25)), | |
| 218 | (0x0c001c03, vec![1]), | |
| 219 | (0x20001d78, id(26)), | |
| 220 | (0x20001d79, id(26)), | |
| 221 | (0x14001d09, modified.to_le_bytes().to_vec()), | |
| 222 | ], | |
| 223 | }, | |
| 224 | NewObject { | |
| 225 | id: 25, | |
| 226 | jcid: 0x6000e, | |
| 227 | properties: vec![ | |
| 228 | last_modified(), | |
| 229 | (0x1c001c22, string(text)), | |
| 230 | (0x24001e13, id(27)), | |
| 231 | (0x10001cfe, 0x409_u16.to_le_bytes().to_vec()), | |
| 232 | ], | |
| 233 | }, | |
| 234 | NewObject { | |
| 235 | id: 26, | |
| 236 | jcid: 0x120001, | |
| 237 | properties: vec![(0x1c001d75, string(author))], | |
| 238 | }, | |
| 239 | NewObject { | |
| 240 | id: 27, | |
| 241 | jcid: 0x12004d, | |
| 242 | properties: vec![ | |
| 243 | (0x14001c3b, id(0x409)), | |
| 244 | (0x1c001c0a, string("Calibri")), | |
| 245 | (0x10001c0b, 22_u16.to_le_bytes().to_vec()), | |
| 246 | ], | |
| 247 | }, | |
| 248 | ], | |
| 249 | }, | |
| 250 | ]; | |
| 251 | create(file_name, FileType::Section, spaces) | |
| 252 | } | |
| 253 | ||
| 254 | /// Creates a notebook table of contents from section filenames and file identities. | |
| 255 | pub fn create_table_of_contents(file_name: &str, sections: &[(&str, [u8; 16])]) -> Result<Vec<u8>> { | |
| 256 | if file_name.contains(['/', '\\', '\0']) | |
| 257 | || !file_name.to_ascii_lowercase().ends_with(".onetoc2") | |
| 258 | || sections.len() > 0xfffffe | |
| 259 | { | |
| 260 | return Err(Error { | |
| 261 | offset: 0, | |
| 262 | message: "Invalid table-of-contents filename or section count", | |
| 263 | }); | |
| 264 | } | |
| 265 | let mut objects = Vec::new(); | |
| 266 | let mut children = Vec::new(); | |
| 267 | let mut names = std::collections::BTreeSet::new(); | |
| 268 | let mut identities = std::collections::BTreeSet::new(); | |
| 269 | for (index, (name, identity)) in sections.iter().enumerate() { | |
| 270 | if name.contains(['/', '\\', '\0']) | |
| 271 | || !name.to_ascii_lowercase().ends_with(".one") | |
| 272 | || !names.insert(name.to_lowercase()) | |
| 273 | || *identity == [0; 16] | |
| 274 | || !identities.insert(*identity) | |
| 275 | { | |
| 276 | return Err(Error { | |
| 277 | offset: 0, | |
| 278 | message: "Invalid or duplicate section filename or identity", | |
| 279 | }); | |
| 280 | } | |
| 281 | let id = (((index + 1) as u32) << 8) | 10; | |
| 282 | children.extend_from_slice(&id.to_le_bytes()); | |
| 283 | objects.push(NewObject { | |
| 284 | id, | |
| 285 | jcid: 0x20001, | |
| 286 | properties: vec![ | |
| 287 | (0x1c001d94, identity.to_vec()), | |
| 288 | (0x14001cb9, ((index + 1) as u32).to_le_bytes().to_vec()), | |
| 289 | (0x1c001d6b, string(name)), | |
| 290 | (0x14001cbe, vec![0xff; 4]), | |
| 291 | ], | |
| 292 | }); | |
| 293 | } | |
| 294 | objects.push(NewObject { | |
| 295 | id: 10, | |
| 296 | jcid: 0x20001, | |
| 297 | properties: vec![(0x24001cf6, children)], | |
| 298 | }); | |
| 299 | create( | |
| 300 | file_name, | |
| 301 | FileType::TableOfContents, | |
| 302 | vec![NewSpace { | |
| 303 | id: 1, | |
| 304 | roots: vec![(1, 10)], | |
| 305 | objects, | |
| 306 | }], | |
| 307 | ) | |
| 308 | } | |
| 309 | ||
| 310 | fn create(file_name: &str, file_type: FileType, spaces: Vec<NewSpace>) -> Result<Vec<u8>> { | |
| 311 | let is_section = file_type == FileType::Section; | |
| 312 | let maximum = spaces | |
| 313 | .iter() | |
| 314 | .flat_map(|space| { | |
| 315 | std::iter::once(space.id).chain(space.objects.iter().map(|object| object.id)) | |
| 316 | }) | |
| 317 | .max() | |
| 318 | .unwrap(); | |
| 319 | let guids = (0..=(maximum >> 8)) | |
| 320 | .map(|_| fresh_guid()) | |
| 321 | .collect::<Result<Vec<_>>>()?; | |
| 322 | let exguid = |compact: u32| ExGuid { | |
| 323 | guid: guids[(compact >> 8) as usize], | |
| 324 | n: compact & 255, | |
| 325 | }; | |
| 326 | let mut output = vec![0; 1024]; | |
| 327 | let mut root_payload = Vec::new(); | |
| 328 | exguid(spaces[0].id).encode(&mut root_payload); | |
| 329 | let mut root = Vec::new(); | |
| 330 | let mut log = Vec::new(); | |
| 331 | let mut list_id = 16_u32; | |
| 332 | let mut hashed = Vec::new(); | |
| 333 | for space in spaces { | |
| 334 | let mut counts = BTreeMap::<u32, u32>::new(); | |
| 335 | for (_, id) in &space.roots { | |
| 336 | *counts.entry(*id).or_default() += 1; | |
| 337 | } | |
| 338 | for object in &space.objects { | |
| 339 | for (property, value) in &object.properties { | |
| 340 | if matches!((property >> 26) & 0x1f, 8 | 9) { | |
| 341 | for id in value.chunks_exact(4) { | |
| 342 | *counts | |
| 343 | .entry(u32::from_le_bytes(id.try_into().unwrap())) | |
| 344 | .or_default() += 1; | |
| 345 | } | |
| 346 | } | |
| 347 | } | |
| 348 | } | |
| 349 | let group_id = ExGuid { | |
| 350 | guid: fresh_guid()?, | |
| 351 | n: 1, | |
| 352 | }; | |
| 353 | let mut group_payload = Vec::new(); | |
| 354 | group_id.encode(&mut group_payload); | |
| 355 | let mut group = if is_section { | |
| 356 | vec![node(0xb4, None, &group_payload)?, node(0x22, None, &[])?] | |
| 357 | } else { | |
| 358 | vec![node(0x21, None, &[0])?] | |
| 359 | }; | |
| 360 | for (index, guid) in guids.iter().enumerate() { | |
| 361 | let mut entry = (index as u32).to_le_bytes().to_vec(); | |
| 362 | entry.extend_from_slice(guid); | |
| 363 | group.push(node(0x24, None, &entry)?); | |
| 364 | } | |
| 365 | group.push(node(0x28, None, &[])?); | |
| 366 | let mut override_crc = if is_section { u32::MAX } else { 0 }; | |
| 367 | for object in space.objects { | |
| 368 | let data = properties(&object.properties)?; | |
| 369 | let chunk = append(&mut output, &data)?; | |
| 370 | let mut payload = object.id.to_le_bytes().to_vec(); | |
| 371 | let mut flags = 0; | |
| 372 | for (property, value) in object.properties { | |
| 373 | if !value.is_empty() { | |
| 374 | match (property >> 26) & 0x1f { | |
| 375 | 8 | 9 => flags |= 1, | |
| 376 | 10..=13 => flags |= 2, | |
| 377 | _ => {} | |
| 378 | } | |
| 379 | } | |
| 380 | } | |
| 381 | if is_section { | |
| 382 | payload.extend_from_slice(&object.jcid.to_le_bytes()); | |
| 383 | payload.push(flags); | |
| 384 | } else { | |
| 385 | let body = 1_u64 | (u64::from(flags & 1) << 16); | |
| 386 | payload.extend_from_slice(&body.to_le_bytes()[..6]); | |
| 387 | } | |
| 388 | let count = counts.get(&object.id).copied().unwrap_or(0).to_le_bytes(); | |
| 389 | payload.extend_from_slice(&count); | |
| 390 | override_crc = crc(override_crc, &count, file_type); | |
| 391 | let readonly = object.jcid & 0x100000 != 0; | |
| 392 | if readonly { | |
| 393 | let hash = md5::compute(&data).0; | |
| 394 | payload.extend_from_slice(&hash); | |
| 395 | hashed.push(node(0xc2, Some(Reference::Data(chunk)), &hash)?); | |
| 396 | } | |
| 397 | group.push(node( | |
| 398 | if !is_section { | |
| 399 | 0x2e | |
| 400 | } else if readonly { | |
| 401 | 0xc5 | |
| 402 | } else { | |
| 403 | 0xa5 | |
| 404 | }, | |
| 405 | Some(Reference::Data(chunk)), | |
| 406 | &payload, | |
| 407 | )?); | |
| 408 | } | |
| 409 | let group_chunk = if is_section { | |
| 410 | group.push(node(0xb8, None, &[])?); | |
| 411 | Some(append_list(&mut output, list_id, &group)?) | |
| 412 | } else { | |
| 413 | None | |
| 414 | }; | |
| 415 | let group_count = group.len(); | |
| 416 | let mut start = Vec::new(); | |
| 417 | exguid(space.id).encode(&mut start); | |
| 418 | start.extend_from_slice(&0_u32.to_le_bytes()); | |
| 419 | let mut revision = Vec::new(); | |
| 420 | ExGuid { | |
| 421 | guid: fresh_guid()?, | |
| 422 | n: 1, | |
| 423 | } | |
| 424 | .encode(&mut revision); | |
| 425 | ExGuid::default().encode(&mut revision); | |
| 426 | if !is_section { | |
| 427 | revision.extend_from_slice(&0_u64.to_le_bytes()); | |
| 428 | } | |
| 429 | revision.extend_from_slice(&1_u32.to_le_bytes()); | |
| 430 | revision.extend_from_slice(&0_u16.to_le_bytes()); | |
| 431 | let mut manifest = vec![ | |
| 432 | node(0x14, None, &start)?, | |
| 433 | node(if is_section { 0x1e } else { 0x1b }, None, &revision)?, | |
| 434 | ]; | |
| 435 | if let Some(chunk) = group_chunk { | |
| 436 | manifest.push(node( | |
| 437 | 0xb0, | |
| 438 | Some(Reference::NodeList(chunk)), | |
| 439 | &group_payload, | |
| 440 | )?); | |
| 441 | let mut overrides = vec![0; 8]; | |
| 442 | overrides.extend_from_slice(&(!override_crc).to_le_bytes()); | |
| 443 | manifest.push(node( | |
| 444 | 0x84, | |
| 445 | Some(Reference::Data(Chunk { | |
| 446 | offset: u64::MAX, | |
| 447 | length: 0, | |
| 448 | })), | |
| 449 | &overrides, | |
| 450 | )?); | |
| 451 | } else { | |
| 452 | manifest.extend(group); | |
| 453 | } | |
| 454 | for (role, oid) in space.roots { | |
| 455 | let mut payload = Vec::new(); | |
| 456 | if is_section { | |
| 457 | exguid(oid).encode(&mut payload); | |
| 458 | } else { | |
| 459 | payload.extend_from_slice(&oid.to_le_bytes()); | |
| 460 | } | |
| 461 | payload.extend_from_slice(&role.to_le_bytes()); | |
| 462 | manifest.push(node(if is_section { 0x5a } else { 0x59 }, None, &payload)?); | |
| 463 | } | |
| 464 | manifest.push(node(0x1c, None, &[])?); | |
| 465 | let manifest_chunk = append_list(&mut output, list_id + 1, &manifest)?; | |
| 466 | let mut space_payload = Vec::new(); | |
| 467 | exguid(space.id).encode(&mut space_payload); | |
| 468 | let space_nodes = vec![ | |
| 469 | node(0xc, None, &space_payload)?, | |
| 470 | node(0x10, Some(Reference::NodeList(manifest_chunk)), &[])?, | |
| 471 | ]; | |
| 472 | let space_chunk = append_list(&mut output, list_id + 2, &space_nodes)?; | |
| 473 | root.push(node( | |
| 474 | 8, | |
| 475 | Some(Reference::NodeList(space_chunk)), | |
| 476 | &space_payload, | |
| 477 | )?); | |
| 478 | for (id, count) in [ | |
| 479 | (list_id, group_count), | |
| 480 | (list_id + 1, manifest.len()), | |
| 481 | (list_id + 2, space_nodes.len()), | |
| 482 | ] { | |
| 483 | if id == list_id && !is_section { | |
| 484 | continue; | |
| 485 | } | |
| 486 | log.extend_from_slice(&id.to_le_bytes()); | |
| 487 | log.extend_from_slice(&u32::try_from(count).unwrap().to_le_bytes()); | |
| 488 | } | |
| 489 | list_id += 3; | |
| 490 | } | |
| 491 | root.push(node(4, None, &root_payload)?); | |
| 492 | let root_chunk = append_list(&mut output, list_id, &root)?; | |
| 493 | log.extend_from_slice(&list_id.to_le_bytes()); | |
| 494 | log.extend_from_slice(&u32::try_from(root.len()).unwrap().to_le_bytes()); | |
| 495 | let hashed_chunk = if !hashed.is_empty() { | |
| 496 | let chunk = append_list(&mut output, list_id + 1, &hashed)?; | |
| 497 | log.extend_from_slice(&(list_id + 1).to_le_bytes()); | |
| 498 | log.extend_from_slice(&u32::try_from(hashed.len()).unwrap().to_le_bytes()); | |
| 499 | Some(chunk) | |
| 500 | } else { | |
| 501 | None | |
| 502 | }; | |
| 503 | let checksum = if is_section { | |
| 504 | !crc(u32::MAX, &log, file_type) | |
| 505 | } else { | |
| 506 | crc(0, &log, file_type) | |
| 507 | }; | |
| 508 | log.extend_from_slice(&1_u32.to_le_bytes()); | |
| 509 | log.extend_from_slice(&checksum.to_le_bytes()); | |
| 510 | log.extend_from_slice(&u64::MAX.to_le_bytes()); | |
| 511 | log.extend_from_slice(&0_u32.to_le_bytes()); | |
| 512 | let log_chunk = append(&mut output, &log)?; | |
| 513 | output[..16].copy_from_slice(&[ | |
| 514 | 0xe4, 0x52, 0x5c, 0x7b, 0x8c, 0xd8, 0xa7, 0x4d, 0xae, 0xb1, 0x53, 0x78, 0xd0, 0x29, 0x96, | |
| 515 | 0xd3, | |
| 516 | ]); | |
| 517 | if !is_section { | |
| 518 | output[..16].copy_from_slice(&[ | |
| 519 | 0xa1, 0x2f, 0xff, 0x43, 0xd9, 0xef, 0x76, 0x4c, 0x9e, 0xe2, 0x10, 0xea, 0x57, 0x22, | |
| 520 | 0x76, 0x5f, | |
| 521 | ]); | |
| 522 | } | |
| 523 | output[16..32].copy_from_slice(&fresh_guid()?); | |
| 524 | output[48..64].copy_from_slice(&[ | |
| 525 | 0x3f, 0xdd, 0x9a, 0x10, 0x1b, 0x91, 0xf5, 0x49, 0xa5, 0xd0, 0x17, 0x91, 0xed, 0xc8, 0xae, | |
| 526 | 0xd8, | |
| 527 | ]); | |
| 528 | for at in [64, 68, 72, 76] { | |
| 529 | output[at..at + 4] | |
| 530 | .copy_from_slice(&(if is_section { 42_u32 } else { 27_u32 }).to_le_bytes()); | |
| 531 | } | |
| 532 | for at in [88, 112] { | |
| 533 | output[at..at + 4].copy_from_slice(&u32::MAX.to_le_bytes()); | |
| 534 | } | |
| 535 | output[96..100].copy_from_slice(&1_u32.to_le_bytes()); | |
| 536 | output[144..148] | |
| 537 | .copy_from_slice(&(!crc(u32::MAX, &string(file_name), FileType::Section)).to_le_bytes()); | |
| 538 | for (at, chunk) in hashed_chunk | |
| 539 | .map(|chunk| (148, chunk)) | |
| 540 | .into_iter() | |
| 541 | .chain([(160, log_chunk), (172, root_chunk)]) | |
| 542 | { | |
| 543 | output[at..at + 8].copy_from_slice(&chunk.offset.to_le_bytes()); | |
| 544 | output[at + 8..at + 12].copy_from_slice(&(chunk.length as u32).to_le_bytes()); | |
| 545 | } | |
| 546 | let length = output.len() as u64; | |
| 547 | output[196..204].copy_from_slice(&length.to_le_bytes()); | |
| 548 | output[212..228].copy_from_slice(&fresh_guid()?); | |
| 549 | output[228..236].copy_from_slice(&1_u64.to_le_bytes()); | |
| 550 | output[236..252].copy_from_slice(&fresh_guid()?); | |
| 551 | let store = Store::parse(&output)?; | |
| 552 | RevisionIndex::parse(&store)?.validate_current()?; | |
| 553 | Ok(output) | |
| 554 | } |
crates/onestore/src/document.rs created+1126| ... | ... | @@ -0,0 +1,1126 @@ |
| 1 | //! Referenced MS-ONE document revisions. Coordinates are points; text offsets are UTF-16 units. | |
| 2 | //! | |
| 3 | //! These are inspection views of one section or table-of-contents file. Mutating | |
| 4 | //! their public fields does not edit the notebook; use the crate's commit functions. | |
| 5 | ||
| 6 | use crate::{ | |
| 7 | Error, ExGuid, FileDataReference, IdStream, Object, ObjectData, Property, PropertySets, | |
| 8 | RevisionIndex, Store, Value, bytes::Cursor, | |
| 9 | }; | |
| 10 | use serde::Serialize; | |
| 11 | use std::collections::{BTreeMap, BTreeSet}; | |
| 12 | ||
| 13 | type Result<T> = std::result::Result<T, Error>; | |
| 14 | ||
| 15 | fn invalid(message: &'static str) -> Error { | |
| 16 | Error { offset: 0, message } | |
| 17 | } | |
| 18 | ||
| 19 | #[derive(Debug, Serialize)] | |
| 20 | /// Borrows source payloads; retain the input snapshot and store while using this view. | |
| 21 | pub struct Document<'a> { | |
| 22 | pub file_id: [u8; 16], | |
| 23 | pub root: ExGuid, | |
| 24 | pub spaces: BTreeMap<ExGuid, Space<'a>>, | |
| 25 | } | |
| 26 | ||
| 27 | #[derive(Debug, Serialize)] | |
| 28 | pub struct Space<'a> { | |
| 29 | pub contexts: BTreeMap<ExGuid, ExGuid>, | |
| 30 | pub revisions: BTreeMap<ExGuid, Revision<'a>>, | |
| 31 | } | |
| 32 | ||
| 33 | #[derive(Debug, Serialize)] | |
| 34 | pub struct Revision<'a> { | |
| 35 | pub roots: BTreeMap<u32, ExGuid>, | |
| 36 | pub nodes: BTreeMap<ExGuid, Element<'a>>, | |
| 37 | } | |
| 38 | ||
| 39 | #[derive(Debug, Serialize)] | |
| 40 | pub struct Element<'a> { | |
| 41 | pub jcid: u32, | |
| 42 | pub children: Vec<ExGuid>, | |
| 43 | pub content: Vec<ExGuid>, | |
| 44 | pub structure: Vec<ExGuid>, | |
| 45 | pub spaces: Vec<ExGuid>, | |
| 46 | /// Relative indentation level of child outline elements. | |
| 47 | pub child_level: Option<u8>, | |
| 48 | pub layout: Layout, | |
| 49 | pub format: Format, | |
| 50 | /// Time32 seconds since 1980-01-01 UTC. | |
| 51 | pub created: Option<u32>, | |
| 52 | /// Time32 seconds since 1980-01-01 UTC. | |
| 53 | pub modified: Option<u32>, | |
| 54 | pub original_author: Option<ExGuid>, | |
| 55 | pub latest_author: Option<ExGuid>, | |
| 56 | pub media_ids: Vec<[u8; 16]>, | |
| 57 | pub media_time_ms: Option<u32>, | |
| 58 | pub tags: Vec<Tag>, | |
| 59 | pub kind: Kind<'a>, | |
| 60 | /// Uninterpreted fields retain their nested-set indices and decoded reference identities. | |
| 61 | pub extra: Vec<Vec<Field<'a>>>, | |
| 62 | } | |
| 63 | ||
| 64 | #[derive(Debug, Default, Serialize)] | |
| 65 | pub struct Layout { | |
| 66 | pub x: Option<f32>, | |
| 67 | pub y: Option<f32>, | |
| 68 | pub max_width: Option<f32>, | |
| 69 | pub max_height: Option<f32>, | |
| 70 | } | |
| 71 | ||
| 72 | macro_rules! format_fields { | |
| 73 | ($($field:ident: $value:ty),* $(,)?) => { | |
| 74 | #[derive(Debug, Default, Serialize)] | |
| 75 | pub struct Format { $(pub $field: Option<$value>),* } | |
| 76 | ||
| 77 | impl Format { | |
| 78 | /// Explicit false values override inherited true values. | |
| 79 | pub fn inherit(&self, parent: &Self) -> Self { | |
| 80 | Self { $($field: self.$field.as_ref().or(parent.$field.as_ref()).cloned()),* } | |
| 81 | } | |
| 82 | } | |
| 83 | }; | |
| 84 | } | |
| 85 | ||
| 86 | format_fields! { | |
| 87 | bold: bool, | |
| 88 | italic: bool, | |
| 89 | underline: bool, | |
| 90 | strike: bool, | |
| 91 | superscript: bool, | |
| 92 | subscript: bool, | |
| 93 | hidden: bool, | |
| 94 | hyperlink: bool, | |
| 95 | hyperlink_label: bool, | |
| 96 | math: bool, | |
| 97 | embedded_object: bool, | |
| 98 | font: String, | |
| 99 | font_size: f32, | |
| 100 | color: u32, | |
| 101 | highlight: u32, | |
| 102 | language: u32, | |
| 103 | alignment: u8, | |
| 104 | rtl: bool, | |
| 105 | space_before: f32, | |
| 106 | space_after: f32, | |
| 107 | line_spacing: f32, | |
| 108 | } | |
| 109 | ||
| 110 | #[derive(Debug, Serialize)] | |
| 111 | pub struct TextRun { | |
| 112 | pub start: u32, | |
| 113 | pub end: u32, | |
| 114 | pub format: Option<ExGuid>, | |
| 115 | /// Index in the text element's extra arena for preserved TextRunData properties. | |
| 116 | pub extra_set: Option<usize>, | |
| 117 | } | |
| 118 | ||
| 119 | #[derive(Debug, Serialize)] | |
| 120 | pub struct ResolvedTextRun<'a> { | |
| 121 | pub text: &'a str, | |
| 122 | pub format: Format, | |
| 123 | pub link: Option<&'a str>, | |
| 124 | } | |
| 125 | ||
| 126 | impl Revision<'_> { | |
| 127 | /// Resolves inherited formatting without discarding hidden fields or their source text. | |
| 128 | pub fn text_runs(&self, id: ExGuid) -> Result<Vec<ResolvedTextRun<'_>>> { | |
| 129 | let node = self | |
| 130 | .nodes | |
| 131 | .get(&id) | |
| 132 | .ok_or_else(|| invalid("Missing text object"))?; | |
| 133 | let Kind::RichText { | |
| 134 | text, | |
| 135 | runs, | |
| 136 | paragraph_style, | |
| 137 | .. | |
| 138 | } = &node.kind | |
| 139 | else { | |
| 140 | return Err(invalid("Expected a rich-text object")); | |
| 141 | }; | |
| 142 | let style = |id: ExGuid| -> Result<&Format> { | |
| 143 | let node = self | |
| 144 | .nodes | |
| 145 | .get(&id) | |
| 146 | .ok_or_else(|| invalid("Missing text style"))?; | |
| 147 | if !matches!(node.kind, Kind::Style { .. }) { | |
| 148 | return Err(invalid("Text formatting does not reference a style")); | |
| 149 | } | |
| 150 | Ok(&node.format) | |
| 151 | }; | |
| 152 | let default = Format::default(); | |
| 153 | let parent = paragraph_style.map(style).transpose()?.unwrap_or(&default); | |
| 154 | let base = node.format.inherit(parent); | |
| 155 | let mut characters = text.char_indices(); | |
| 156 | let (mut units, mut byte) = (0, 0); | |
| 157 | let mut target = None; | |
| 158 | let mut resolved = Vec::with_capacity(runs.len()); | |
| 159 | for run in runs { | |
| 160 | if run.start != units || run.end < units { | |
| 161 | return Err(invalid("Text runs do not partition the text")); | |
| 162 | } | |
| 163 | let start = byte; | |
| 164 | while units < run.end { | |
| 165 | let (offset, character) = characters | |
| 166 | .next() | |
| 167 | .ok_or_else(|| invalid("Text run exceeds text"))?; | |
| 168 | units = units | |
| 169 | .checked_add(character.len_utf16() as u32) | |
| 170 | .ok_or_else(|| invalid("Text exceeds UTF-16 offset range"))?; | |
| 171 | byte = offset + character.len_utf8(); | |
| 172 | } | |
| 173 | if units != run.end { | |
| 174 | return Err(invalid("Text-run boundary splits a surrogate pair")); | |
| 175 | } | |
| 176 | let fragment = &text[start..byte]; | |
| 177 | let format = run | |
| 178 | .format | |
| 179 | .map(style) | |
| 180 | .transpose()? | |
| 181 | .unwrap_or(&default) | |
| 182 | .inherit(&base); | |
| 183 | let mut link = None; | |
| 184 | if format.hyperlink != Some(true) { | |
| 185 | target = None; | |
| 186 | } else if format.hidden == Some(true) { | |
| 187 | // OneNote's native field encoding is retained even when its syntax is unrecognized. | |
| 188 | target = fragment | |
| 189 | .strip_prefix("\u{fddf}HYPERLINK \"") | |
| 190 | .and_then(|s| s.strip_suffix('"')); | |
| 191 | } else if format.hyperlink_label == Some(true) { | |
| 192 | link = target; | |
| 193 | } else { | |
| 194 | link = Some(fragment); | |
| 195 | } | |
| 196 | resolved.push(ResolvedTextRun { | |
| 197 | text: fragment, | |
| 198 | format, | |
| 199 | link, | |
| 200 | }); | |
| 201 | } | |
| 202 | if byte != text.len() { | |
| 203 | return Err(invalid("Text runs do not cover the text")); | |
| 204 | } | |
| 205 | Ok(resolved) | |
| 206 | } | |
| 207 | } | |
| 208 | ||
| 209 | #[derive(Debug, Serialize)] | |
| 210 | /// Tag dates count seconds since 1980-01-01 UTC; status retains the ActionItemStatus bits. | |
| 211 | pub struct Tag { | |
| 212 | pub definition: Option<ExGuid>, | |
| 213 | pub action_type: Option<u16>, | |
| 214 | pub status: u16, | |
| 215 | pub created: Option<u32>, | |
| 216 | pub completed: Option<u32>, | |
| 217 | pub start: Option<u32>, | |
| 218 | pub due: Option<u32>, | |
| 219 | pub task_id: Option<[u8; 16]>, | |
| 220 | /// Index in the element's extra-property arena for uninterpreted tag fields. | |
| 221 | pub extra_set: usize, | |
| 222 | } | |
| 223 | ||
| 224 | #[derive(Debug, Serialize)] | |
| 225 | #[serde(tag = "type")] | |
| 226 | pub enum Kind<'a> { | |
| 227 | Section { | |
| 228 | default_template: Option<ExGuid>, | |
| 229 | }, | |
| 230 | PageSeries, | |
| 231 | Manifest { | |
| 232 | history: Option<ExGuid>, | |
| 233 | }, | |
| 234 | VersionHistory, | |
| 235 | VersionProxy { | |
| 236 | context: ExGuid, | |
| 237 | modified_filetime: Option<u64>, | |
| 238 | }, | |
| 239 | VersionHistoryMetadata, | |
| 240 | /// Native default-page template metadata, outside the published MS-ONE object list. | |
| 241 | TemplateMetadata { | |
| 242 | name: Option<String>, | |
| 243 | }, | |
| 244 | Page { | |
| 245 | alternate_title: Option<String>, | |
| 246 | level: Option<u32>, | |
| 247 | width: Option<f32>, | |
| 248 | height: Option<f32>, | |
| 249 | margin_origin_x: Option<f32>, | |
| 250 | margin_origin_y: Option<f32>, | |
| 251 | rtl: Option<bool>, | |
| 252 | }, | |
| 253 | Metadata { | |
| 254 | title: Option<String>, | |
| 255 | level: Option<u32>, | |
| 256 | }, | |
| 257 | ConflictMetadata { | |
| 258 | title: Option<String>, | |
| 259 | level: Option<u32>, | |
| 260 | author: Option<String>, | |
| 261 | }, | |
| 262 | RevisionMetadata { | |
| 263 | modified_filetime: Option<u64>, | |
| 264 | }, | |
| 265 | SectionMetadata { | |
| 266 | name: Option<String>, | |
| 267 | color: Option<u32>, | |
| 268 | }, | |
| 269 | Title, | |
| 270 | Outline { | |
| 271 | indents: Vec<f32>, | |
| 272 | }, | |
| 273 | Paragraph { | |
| 274 | lists: Vec<ExGuid>, | |
| 275 | paragraph_style: Option<ExGuid>, | |
| 276 | /// Native saved defaults: 0 expanded, 1 collapsed; other values remain uninterpreted. | |
| 277 | collapse_state: Option<u8>, | |
| 278 | }, | |
| 279 | OutlineGroup, | |
| 280 | /// Native ink properties remain uninterpreted in the element's extra arena. | |
| 281 | Ink, | |
| 282 | RichText { | |
| 283 | text: String, | |
| 284 | runs: Vec<TextRun>, | |
| 285 | paragraph_style: Option<ExGuid>, | |
| 286 | boilerplate: bool, | |
| 287 | }, | |
| 288 | Style { | |
| 289 | name: Option<String>, | |
| 290 | }, | |
| 291 | List { | |
| 292 | font: Option<String>, | |
| 293 | format: Option<String>, | |
| 294 | restart: Option<u32>, | |
| 295 | bullet: Option<u16>, | |
| 296 | }, | |
| 297 | /// Column arrays and row children use visual left-to-right order, including on RTL pages. | |
| 298 | Table { | |
| 299 | rows: Option<u32>, | |
| 300 | columns: Option<u32>, | |
| 301 | widths: Vec<f32>, | |
| 302 | locked: Vec<bool>, | |
| 303 | borders: Option<bool>, | |
| 304 | }, | |
| 305 | Row, | |
| 306 | Cell { | |
| 307 | shading: Option<u32>, | |
| 308 | }, | |
| 309 | Image { | |
| 310 | container: Option<ExGuid>, | |
| 311 | filename: Option<String>, | |
| 312 | alt: Option<String>, | |
| 313 | picture_width: Option<f32>, | |
| 314 | picture_height: Option<f32>, | |
| 315 | background: Option<bool>, | |
| 316 | printout: Option<bool>, | |
| 317 | link: Option<String>, | |
| 318 | }, | |
| 319 | Attachment { | |
| 320 | container: Option<ExGuid>, | |
| 321 | preview: Option<ExGuid>, | |
| 322 | filename: Option<String>, | |
| 323 | source_path: Option<String>, | |
| 324 | recording_id: Option<[u8; 16]>, | |
| 325 | recording_type: Option<u32>, | |
| 326 | }, | |
| 327 | File { | |
| 328 | reference: FileDataReference, | |
| 329 | extension: String, | |
| 330 | #[serde(skip)] | |
| 331 | payload: Option<&'a [u8]>, | |
| 332 | }, | |
| 333 | Author { | |
| 334 | name: Option<String>, | |
| 335 | }, | |
| 336 | TagDefinition { | |
| 337 | label: Option<String>, | |
| 338 | action_type: Option<u16>, | |
| 339 | shape: Option<u16>, | |
| 340 | color: Option<u32>, | |
| 341 | highlight: Option<u32>, | |
| 342 | }, | |
| 343 | Toc { | |
| 344 | entries: Vec<ExGuid>, | |
| 345 | filename: Option<String>, | |
| 346 | identity: Option<[u8; 16]>, | |
| 347 | order: Option<u32>, | |
| 348 | color: Option<u32>, | |
| 349 | }, | |
| 350 | Encrypted { | |
| 351 | #[serde(serialize_with = "hex")] | |
| 352 | ciphertext: &'a [u8], | |
| 353 | }, | |
| 354 | Unknown, | |
| 355 | } | |
| 356 | ||
| 357 | #[derive(Debug, Serialize)] | |
| 358 | pub struct Field<'a> { | |
| 359 | pub id: u32, | |
| 360 | pub value: FieldValue<'a>, | |
| 361 | } | |
| 362 | ||
| 363 | #[derive(Debug, Serialize)] | |
| 364 | pub enum FieldValue<'a> { | |
| 365 | NoData, | |
| 366 | Bytes(#[serde(serialize_with = "hex")] &'a [u8]), | |
| 367 | Objects(Vec<ExGuid>), | |
| 368 | Spaces(Vec<ExGuid>), | |
| 369 | Contexts(Vec<ExGuid>), | |
| 370 | Sets(std::ops::Range<usize>), | |
| 371 | } | |
| 372 | ||
| 373 | fn hex<S: serde::Serializer>(bytes: &&[u8], serializer: S) -> std::result::Result<S::Ok, S::Error> { | |
| 374 | use std::fmt::Write; | |
| 375 | let mut text = String::with_capacity(bytes.len() * 2); | |
| 376 | for byte in *bytes { | |
| 377 | write!(text, "{byte:02x}").unwrap(); | |
| 378 | } | |
| 379 | serializer.serialize_str(&text) | |
| 380 | } | |
| 381 | ||
| 382 | fn unicode(bytes: &[u8]) -> Result<String> { | |
| 383 | if !bytes.len().is_multiple_of(2) { | |
| 384 | return Err(invalid("Odd UTF-16 document string length")); | |
| 385 | } | |
| 386 | let units: Vec<_> = bytes | |
| 387 | .chunks_exact(2) | |
| 388 | .map(|x| u16::from_le_bytes(x.try_into().unwrap())) | |
| 389 | .collect(); | |
| 390 | String::from_utf16(units.strip_suffix(&[0]).unwrap_or(&units)) | |
| 391 | .map_err(|_| invalid("Invalid UTF-16 document string")) | |
| 392 | } | |
| 393 | ||
| 394 | struct Fields<'a, 'o> { | |
| 395 | sets: Vec<Vec<Property<'a>>>, | |
| 396 | ids: &'o BTreeMap<u32, [u8; 16]>, | |
| 397 | } | |
| 398 | ||
| 399 | impl<'a, 'o> Fields<'a, 'o> { | |
| 400 | fn new(object: &'o Object<'a>) -> Result<Self> { | |
| 401 | let ObjectData::Properties(bytes) = object.data else { | |
| 402 | return Err(invalid("Expected document properties")); | |
| 403 | }; | |
| 404 | let sets = PropertySets::parse(bytes)?.sets; | |
| 405 | for set in &sets { | |
| 406 | let mut seen = BTreeSet::new(); | |
| 407 | if set.iter().any(|p| !seen.insert(p.id & 0x7fffffff)) { | |
| 408 | return Err(invalid("Repeated document property")); | |
| 409 | } | |
| 410 | } | |
| 411 | Ok(Self { | |
| 412 | sets, | |
| 413 | ids: &object.global_ids, | |
| 414 | }) | |
| 415 | } | |
| 416 | ||
| 417 | fn take(&mut self, id: u32) -> Option<Property<'a>> { | |
| 418 | let index = self.sets[0].iter().position(|p| p.id & 0x7fffffff == id)?; | |
| 419 | Some(self.sets[0].remove(index)) | |
| 420 | } | |
| 421 | ||
| 422 | fn bytes(&mut self, id: u32) -> Result<Option<&'a [u8]>> { | |
| 423 | self.take(id) | |
| 424 | .map(|p| match p.value { | |
| 425 | Value::Bytes(bytes) => Ok(bytes), | |
| 426 | _ => Err(invalid("Document property requires bytes")), | |
| 427 | }) | |
| 428 | .transpose() | |
| 429 | } | |
| 430 | ||
| 431 | fn fixed<const N: usize>(&mut self, id: u32) -> Result<Option<[u8; N]>> { | |
| 432 | self.bytes(id)? | |
| 433 | .map(|b| { | |
| 434 | b.try_into() | |
| 435 | .map_err(|_| invalid("Document scalar has an invalid length")) | |
| 436 | }) | |
| 437 | .transpose() | |
| 438 | } | |
| 439 | ||
| 440 | fn u32(&mut self, id: u32) -> Result<Option<u32>> { | |
| 441 | Ok(self.fixed(id)?.map(u32::from_le_bytes)) | |
| 442 | } | |
| 443 | fn u16(&mut self, id: u32) -> Result<Option<u16>> { | |
| 444 | Ok(self.fixed(id)?.map(u16::from_le_bytes)) | |
| 445 | } | |
| 446 | fn u8(&mut self, id: u32) -> Result<Option<u8>> { | |
| 447 | Ok(self.fixed::<1>(id)?.map(|b| b[0])) | |
| 448 | } | |
| 449 | fn float(&mut self, id: u32, scale: f32) -> Result<Option<f32>> { | |
| 450 | self.fixed(id)? | |
| 451 | .map(|b| finite(f32::from_le_bytes(b) * scale)) | |
| 452 | .transpose() | |
| 453 | } | |
| 454 | fn text(&mut self, id: u32) -> Result<Option<String>> { | |
| 455 | self.bytes(id)?.map(unicode).transpose() | |
| 456 | } | |
| 457 | fn boolean(&mut self, id: u32) -> Result<Option<bool>> { | |
| 458 | self.take(id) | |
| 459 | .map(|p| match p.value { | |
| 460 | Value::NoData => Ok(p.id & 0x80000000 != 0), | |
| 461 | _ => Err(invalid("Document flag requires a Boolean")), | |
| 462 | }) | |
| 463 | .transpose() | |
| 464 | } | |
| 465 | fn refs(&mut self, id: u32, expected: IdStream) -> Result<Vec<ExGuid>> { | |
| 466 | self.take(id) | |
| 467 | .map(|p| match p.value { | |
| 468 | Value::References { | |
| 469 | stream, | |
| 470 | compact_ids, | |
| 471 | } if stream == expected => references(compact_ids, self.ids), | |
| 472 | _ => Err(invalid("Document reference uses the wrong stream")), | |
| 473 | }) | |
| 474 | .transpose() | |
| 475 | .map(Option::unwrap_or_default) | |
| 476 | } | |
| 477 | fn one(&mut self, id: u32) -> Result<Option<ExGuid>> { | |
| 478 | let refs = self.refs(id, IdStream::Objects)?; | |
| 479 | if refs.len() > 1 { | |
| 480 | return Err(invalid("Document scalar has multiple references")); | |
| 481 | } | |
| 482 | Ok(refs.first().copied()) | |
| 483 | } | |
| 484 | fn remainder(self) -> Result<Vec<Vec<Field<'a>>>> { | |
| 485 | self.sets | |
| 486 | .into_iter() | |
| 487 | .map(|set| { | |
| 488 | set.into_iter() | |
| 489 | .map(|p| { | |
| 490 | let value = match p.value { | |
| 491 | Value::NoData => FieldValue::NoData, | |
| 492 | Value::Bytes(b) => FieldValue::Bytes(b), | |
| 493 | Value::Sets(r) => FieldValue::Sets(r), | |
| 494 | Value::References { | |
| 495 | stream, | |
| 496 | compact_ids, | |
| 497 | } => { | |
| 498 | let refs = references(compact_ids, self.ids)?; | |
| 499 | match stream { | |
| 500 | IdStream::Objects => FieldValue::Objects(refs), | |
| 501 | IdStream::ObjectSpaces => FieldValue::Spaces(refs), | |
| 502 | IdStream::Contexts => FieldValue::Contexts(refs), | |
| 503 | } | |
| 504 | } | |
| 505 | }; | |
| 506 | Ok(Field { id: p.id, value }) | |
| 507 | }) | |
| 508 | .collect() | |
| 509 | }) | |
| 510 | .collect() | |
| 511 | } | |
| 512 | } | |
| 513 | ||
| 514 | fn references(bytes: &[u8], ids: &BTreeMap<u32, [u8; 16]>) -> Result<Vec<ExGuid>> { | |
| 515 | let mut cursor = Cursor { bytes, offset: 0 }; | |
| 516 | let mut result = Vec::new(); | |
| 517 | while !cursor.bytes.is_empty() { | |
| 518 | result.push(cursor.compact(ids)?); | |
| 519 | } | |
| 520 | Ok(result) | |
| 521 | } | |
| 522 | ||
| 523 | fn finite(value: f32) -> Result<f32> { | |
| 524 | if value.is_finite() { | |
| 525 | Ok(value) | |
| 526 | } else { | |
| 527 | Err(invalid("Non-finite document measurement")) | |
| 528 | } | |
| 529 | } | |
| 530 | ||
| 531 | fn measurements(bytes: Option<&[u8]>, header: usize) -> Result<Vec<f32>> { | |
| 532 | let Some(bytes) = bytes else { | |
| 533 | return Ok(Vec::new()); | |
| 534 | }; | |
| 535 | if bytes.len() < header || bytes.len() != header + usize::from(bytes[0]) * 4 { | |
| 536 | return Err(invalid("Document measurement array has an invalid length")); | |
| 537 | } | |
| 538 | bytes[header..] | |
| 539 | .chunks_exact(4) | |
| 540 | .map(|b| finite(f32::from_le_bytes(b.try_into().unwrap()) * 36.0)) | |
| 541 | .collect() | |
| 542 | } | |
| 543 | ||
| 544 | impl<'a> Document<'a> { | |
| 545 | /// Active (object space, page) identities in section order, excluding history and conflicts. | |
| 546 | /// Encrypted sections return no visible pages; table-of-contents files return an error. | |
| 547 | pub fn pages(&self) -> Result<Vec<(ExGuid, ExGuid)>> { | |
| 548 | let active = |sid| { | |
| 549 | self.spaces | |
| 550 | .get(&sid) | |
| 551 | .and_then(|s| { | |
| 552 | s.contexts | |
| 553 | .get(&ExGuid::default()) | |
| 554 | .and_then(|rid| s.revisions.get(rid)) | |
| 555 | }) | |
| 556 | .ok_or_else(|| invalid("Section page has no active revision")) | |
| 557 | }; | |
| 558 | let root = active(self.root)?; | |
| 559 | let section = root | |
| 560 | .roots | |
| 561 | .get(&1) | |
| 562 | .and_then(|id| root.nodes.get(id)) | |
| 563 | .ok_or_else(|| invalid("Section root is unavailable"))?; | |
| 564 | if matches!(section.kind, Kind::Encrypted { .. }) { | |
| 565 | return Ok(Vec::new()); | |
| 566 | } | |
| 567 | if !matches!(section.kind, Kind::Section { .. }) { | |
| 568 | return Err(invalid("Expected a section document")); | |
| 569 | } | |
| 570 | let mut pages = Vec::new(); | |
| 571 | let mut seen = BTreeSet::new(); | |
| 572 | for id in &section.children { | |
| 573 | let series = root | |
| 574 | .nodes | |
| 575 | .get(id) | |
| 576 | .ok_or_else(|| invalid("Page series is unavailable"))?; | |
| 577 | if !matches!(series.kind, Kind::PageSeries) { | |
| 578 | return Err(invalid("Section child is not a page series")); | |
| 579 | } | |
| 580 | for sid in &series.spaces { | |
| 581 | let revision = active(*sid)?; | |
| 582 | let manifest = revision | |
| 583 | .roots | |
| 584 | .get(&1) | |
| 585 | .and_then(|id| revision.nodes.get(id)) | |
| 586 | .ok_or_else(|| invalid("Page manifest is unavailable"))?; | |
| 587 | if !matches!(manifest.kind, Kind::Manifest { .. }) { | |
| 588 | return Err(invalid("Page space has no manifest")); | |
| 589 | } | |
| 590 | for page in &manifest.content { | |
| 591 | if !matches!( | |
| 592 | revision.nodes.get(page).map(|n| &n.kind), | |
| 593 | Some(Kind::Page { .. }) | |
| 594 | ) || !seen.insert((*sid, *page)) | |
| 595 | { | |
| 596 | return Err(invalid( | |
| 597 | "Section page is missing, duplicated or has the wrong type", | |
| 598 | )); | |
| 599 | } | |
| 600 | pages.push((*sid, *page)); | |
| 601 | } | |
| 602 | } | |
| 603 | } | |
| 604 | Ok(pages) | |
| 605 | } | |
| 606 | ||
| 607 | /// Rejects checksum damage and follows referenced contexts, retaining encrypted payloads opaquely. | |
| 608 | pub fn parse(index: &RevisionIndex<'a>) -> Result<Self> { | |
| 609 | if !index.store.checksum_mismatches.is_empty() { | |
| 610 | return Err(invalid("Document transaction checksum mismatch")); | |
| 611 | } | |
| 612 | let mut spaces: BTreeMap<ExGuid, Space<'a>> = BTreeMap::new(); | |
| 613 | let mut pending = vec![(index.root, ExGuid::default())]; | |
| 614 | while let Some((id, context)) = pending.pop() { | |
| 615 | let space = spaces.entry(id).or_insert_with(|| Space { | |
| 616 | contexts: BTreeMap::new(), | |
| 617 | revisions: BTreeMap::new(), | |
| 618 | }); | |
| 619 | if space.contexts.contains_key(&context) { | |
| 620 | continue; | |
| 621 | } | |
| 622 | let rid = *index | |
| 623 | .spaces | |
| 624 | .get(&id) | |
| 625 | .and_then(|s| s.labels.get(&(context, 1))) | |
| 626 | .ok_or_else(|| invalid("Document context has no revision"))?; | |
| 627 | space.contexts.insert(context, rid); | |
| 628 | if space.revisions.contains_key(&rid) { | |
| 629 | continue; | |
| 630 | } | |
| 631 | let revision = index.resolve(id, rid)?; | |
| 632 | let mut reachable = BTreeSet::new(); | |
| 633 | let mut objects: Vec<_> = revision.roots.values().copied().collect(); | |
| 634 | let mut encrypted = false; | |
| 635 | while let Some(oid) = objects.pop() { | |
| 636 | if !reachable.insert(oid) { | |
| 637 | continue; | |
| 638 | } | |
| 639 | let object = revision | |
| 640 | .objects | |
| 641 | .get(&oid) | |
| 642 | .ok_or_else(|| invalid("Document object has no declaration"))?; | |
| 643 | if matches!(object.data, ObjectData::Encrypted(_)) { | |
| 644 | encrypted = true; | |
| 645 | } else { | |
| 646 | objects.extend(object.references()?.objects); | |
| 647 | } | |
| 648 | } | |
| 649 | if !encrypted { | |
| 650 | revision.reachable()?; | |
| 651 | } | |
| 652 | let mut nodes = BTreeMap::new(); | |
| 653 | for oid in reachable { | |
| 654 | let object = &revision.objects[&oid]; | |
| 655 | if !matches!(object.data, ObjectData::Encrypted(_)) { | |
| 656 | let refs = object.references()?; | |
| 657 | pending.extend( | |
| 658 | refs.object_spaces | |
| 659 | .into_iter() | |
| 660 | .map(|sid| (sid, ExGuid::default())), | |
| 661 | ); | |
| 662 | pending.extend(refs.contexts.into_iter().map(|context| (id, context))); | |
| 663 | } | |
| 664 | nodes.insert(oid, Element::parse(object, index.store)?); | |
| 665 | } | |
| 666 | for node in nodes.values() { | |
| 667 | if let Kind::RichText { | |
| 668 | runs, | |
| 669 | paragraph_style, | |
| 670 | .. | |
| 671 | } = &node.kind | |
| 672 | { | |
| 673 | for target in paragraph_style | |
| 674 | .iter() | |
| 675 | .chain(runs.iter().filter_map(|r| r.format.as_ref())) | |
| 676 | { | |
| 677 | if !matches!(nodes.get(target).map(|n| &n.kind), Some(Kind::Style { .. })) { | |
| 678 | return Err(invalid("Text formatting does not reference a style")); | |
| 679 | } | |
| 680 | } | |
| 681 | } | |
| 682 | let mut tag_types = BTreeSet::new(); | |
| 683 | for tag in &node.tags { | |
| 684 | let action_type = if tag.status & 4 != 0 { | |
| 685 | tag.action_type | |
| 686 | } else { | |
| 687 | match tag | |
| 688 | .definition | |
| 689 | .and_then(|id| nodes.get(&id)) | |
| 690 | .map(|n| &n.kind) | |
| 691 | { | |
| 692 | Some(Kind::TagDefinition { action_type, .. }) => *action_type, | |
| 693 | _ => { | |
| 694 | return Err(invalid( | |
| 695 | "Note tag does not reference a tag definition", | |
| 696 | )); | |
| 697 | } | |
| 698 | } | |
| 699 | } | |
| 700 | .ok_or_else(|| invalid("Note tag has no action type"))?; | |
| 701 | if !tag_types.insert(action_type) { | |
| 702 | return Err(invalid("Repeated note tag action type")); | |
| 703 | } | |
| 704 | } | |
| 705 | } | |
| 706 | space.revisions.insert( | |
| 707 | rid, | |
| 708 | Revision { | |
| 709 | roots: revision.roots, | |
| 710 | nodes, | |
| 711 | }, | |
| 712 | ); | |
| 713 | } | |
| 714 | for space in spaces.values() { | |
| 715 | for node in space.revisions.values().flat_map(|r| r.nodes.values()) { | |
| 716 | let (context, history) = match &node.kind { | |
| 717 | Kind::Manifest { | |
| 718 | history: Some(context), | |
| 719 | } => (*context, true), | |
| 720 | Kind::VersionProxy { context, .. } => (*context, false), | |
| 721 | _ => continue, | |
| 722 | }; | |
| 723 | let rid = space.contexts[&context]; | |
| 724 | let revision = &space.revisions[&rid]; | |
| 725 | let root = revision.roots.get(&1).and_then(|id| revision.nodes.get(id)); | |
| 726 | if history { | |
| 727 | if !matches!(root.map(|n| &n.kind), Some(Kind::VersionHistory)) { | |
| 728 | return Err(invalid( | |
| 729 | "History context does not resolve to version history", | |
| 730 | )); | |
| 731 | } | |
| 732 | } else if !matches!(root.map(|n| &n.kind), Some(Kind::Manifest { .. })) | |
| 733 | || space.contexts.get(&ExGuid::default()) == Some(&rid) | |
| 734 | { | |
| 735 | return Err(invalid( | |
| 736 | "Version context does not resolve to a historical page", | |
| 737 | )); | |
| 738 | } | |
| 739 | } | |
| 740 | } | |
| 741 | Ok(Self { | |
| 742 | file_id: index.store.header.file_id, | |
| 743 | root: index.root, | |
| 744 | spaces, | |
| 745 | }) | |
| 746 | } | |
| 747 | } | |
| 748 | ||
| 749 | impl<'a> Element<'a> { | |
| 750 | fn parse(object: &Object<'a>, store: &Store<'a>) -> Result<Self> { | |
| 751 | let empty = |kind| Self { | |
| 752 | jcid: object.jcid, | |
| 753 | children: vec![], | |
| 754 | content: vec![], | |
| 755 | structure: vec![], | |
| 756 | spaces: vec![], | |
| 757 | child_level: None, | |
| 758 | layout: Layout::default(), | |
| 759 | format: Format::default(), | |
| 760 | created: None, | |
| 761 | modified: None, | |
| 762 | original_author: None, | |
| 763 | latest_author: None, | |
| 764 | media_ids: vec![], | |
| 765 | media_time_ms: None, | |
| 766 | tags: vec![], | |
| 767 | kind, | |
| 768 | extra: vec![], | |
| 769 | }; | |
| 770 | if let ObjectData::Encrypted(ciphertext) = object.data { | |
| 771 | return Ok(empty(Kind::Encrypted { ciphertext })); | |
| 772 | } | |
| 773 | if let ObjectData::File { extension, .. } = object.data { | |
| 774 | let reference = object | |
| 775 | .file_reference()? | |
| 776 | .ok_or_else(|| invalid("File object has no reference"))?; | |
| 777 | let payload = if let FileDataReference::Internal(guid) = &reference { | |
| 778 | Some(store.file_data(*guid)?) | |
| 779 | } else { | |
| 780 | None | |
| 781 | }; | |
| 782 | return Ok(empty(Kind::File { | |
| 783 | reference, | |
| 784 | extension: unicode(extension)?, | |
| 785 | payload, | |
| 786 | })); | |
| 787 | } | |
| 788 | let mut f = Fields::new(object)?; | |
| 789 | let children = f.refs(0x24001c20, IdStream::Objects)?; | |
| 790 | let content = f.refs(0x24001c1f, IdStream::Objects)?; | |
| 791 | let structure = f.refs(0x24001d5f, IdStream::Objects)?; | |
| 792 | let spaces = f.refs(0x2c001d63, IdStream::ObjectSpaces)?; | |
| 793 | let child_level = f.u8(0x0c001c03)?; | |
| 794 | if child_level.is_some_and(|level| !(1..=31).contains(&level)) { | |
| 795 | return Err(invalid("Child indentation level is out of range")); | |
| 796 | } | |
| 797 | let layout = Layout { | |
| 798 | x: f.float(0x14001c14, 36.0)?, | |
| 799 | y: f.float(0x14001c15, 36.0)?, | |
| 800 | max_width: f.float(0x14001c1b, 36.0)?, | |
| 801 | max_height: f.float(0x14001c1c, 36.0)?, | |
| 802 | }; | |
| 803 | let format = Format { | |
| 804 | bold: f.boolean(0x08001c04)?, | |
| 805 | italic: f.boolean(0x08001c05)?, | |
| 806 | underline: f.boolean(0x08001c06)?, | |
| 807 | strike: f.boolean(0x08001c07)?, | |
| 808 | superscript: f.boolean(0x08001c08)?, | |
| 809 | subscript: f.boolean(0x08001c09)?, | |
| 810 | hidden: f.boolean(0x08001e16)?, | |
| 811 | hyperlink: f.boolean(0x08001e14)?, | |
| 812 | hyperlink_label: f.boolean(0x08001e19)?, | |
| 813 | math: f.boolean(0x08003401)?, | |
| 814 | embedded_object: f.boolean(0x08001e22)?, | |
| 815 | font: f.text(0x1c001c0a)?, | |
| 816 | font_size: f.u16(0x10001c0b)?.map(|v| f32::from(v) / 2.0), | |
| 817 | color: f.u32(0x14001c0c)?, | |
| 818 | highlight: f.u32(0x14001c0d)?, | |
| 819 | language: f.u32(0x14001c3b)?, | |
| 820 | alignment: f.u8(0x0c003477)?, | |
| 821 | rtl: f.boolean(0x08003476)?, | |
| 822 | space_before: f.float(0x1400342e, 36.0)?, | |
| 823 | space_after: f.float(0x1400342f, 36.0)?, | |
| 824 | line_spacing: f.float(0x14003430, 36.0)?, | |
| 825 | }; | |
| 826 | let mut tags = Vec::new(); | |
| 827 | if let Some(property) = f.take(0x40003489) { | |
| 828 | let Value::Sets(range) = property.value else { | |
| 829 | return Err(invalid("Note tags require property sets")); | |
| 830 | }; | |
| 831 | if range.len() > 9 { | |
| 832 | return Err(invalid("An element has more than nine note tags")); | |
| 833 | } | |
| 834 | for extra_set in range { | |
| 835 | let mut tag = Fields { | |
| 836 | sets: vec![std::mem::take(&mut f.sets[extra_set])], | |
| 837 | ids: f.ids, | |
| 838 | }; | |
| 839 | tags.push(Tag { | |
| 840 | definition: tag.one(0x20003488)?, | |
| 841 | action_type: tag.u16(0x10003463)?, | |
| 842 | status: tag | |
| 843 | .u16(0x10003470)? | |
| 844 | .ok_or_else(|| invalid("Note tag has no status"))?, | |
| 845 | created: tag.u32(0x1400346e)?, | |
| 846 | completed: tag.u32(0x1400346f)?, | |
| 847 | start: tag.u32(0x1400346a)?, | |
| 848 | due: tag.u32(0x1400346b)?, | |
| 849 | task_id: tag.fixed(0x1c003469)?, | |
| 850 | extra_set, | |
| 851 | }); | |
| 852 | f.sets[extra_set] = tag.sets.remove(0); | |
| 853 | } | |
| 854 | } | |
| 855 | let kind = match object.jcid { | |
| 856 | 0x60007 => { | |
| 857 | let templates = f.refs(0x2c001d62, IdStream::ObjectSpaces)?; | |
| 858 | if templates.len() > 1 { | |
| 859 | return Err(invalid("Section has multiple default page templates")); | |
| 860 | } | |
| 861 | Kind::Section { | |
| 862 | default_template: templates.first().copied(), | |
| 863 | } | |
| 864 | } | |
| 865 | 0x60008 => Kind::PageSeries, | |
| 866 | 0x60037 => { | |
| 867 | let contexts = f.refs(0x3400347b, IdStream::Contexts)?; | |
| 868 | if contexts.len() > 1 { | |
| 869 | return Err(invalid("Page manifest has multiple history contexts")); | |
| 870 | } | |
| 871 | Kind::Manifest { | |
| 872 | history: contexts.first().copied(), | |
| 873 | } | |
| 874 | } | |
| 875 | 0x6003c => Kind::VersionHistory, | |
| 876 | 0x6003d => { | |
| 877 | let contexts = f.refs(0x3400347b, IdStream::Contexts)?; | |
| 878 | let [context] = contexts.as_slice() else { | |
| 879 | return Err(invalid("Version proxy requires one context")); | |
| 880 | }; | |
| 881 | Kind::VersionProxy { | |
| 882 | context: *context, | |
| 883 | modified_filetime: f.fixed(0x18001d77)?.map(u64::from_le_bytes), | |
| 884 | } | |
| 885 | } | |
| 886 | 0x20046 => Kind::VersionHistoryMetadata, | |
| 887 | 0x2003e => Kind::TemplateMetadata { | |
| 888 | name: f.text(0x1c001ca5)?, | |
| 889 | }, | |
| 890 | 0x6000b => Kind::Page { | |
| 891 | alternate_title: f.text(0x1c001d3c)?, | |
| 892 | level: f.u32(0x14001dff)?, | |
| 893 | width: f.float(0x14001c01, 36.0)?, | |
| 894 | height: f.float(0x14001c02, 36.0)?, | |
| 895 | margin_origin_x: f.float(0x14001d0f, 36.0)?, | |
| 896 | margin_origin_y: f.float(0x14001d10, 36.0)?, | |
| 897 | rtl: f.boolean(0x08001c92)?, | |
| 898 | }, | |
| 899 | 0x20030 => Kind::Metadata { | |
| 900 | title: f.text(0x1c001cf3)?, | |
| 901 | level: f.u32(0x14001dff)?, | |
| 902 | }, | |
| 903 | 0x20038 => Kind::ConflictMetadata { | |
| 904 | title: f.text(0x1c001cf3)?, | |
| 905 | level: f.u32(0x14001dff)?, | |
| 906 | author: f.text(0x1c001d9e)?, | |
| 907 | }, | |
| 908 | 0x60014 => Kind::Ink, | |
| 909 | 0x20031 => Kind::SectionMetadata { | |
| 910 | name: f.text(0x1c00349b)?, | |
| 911 | color: f.u32(0x14001cbe)?, | |
| 912 | }, | |
| 913 | 0x20044 => Kind::RevisionMetadata { | |
| 914 | modified_filetime: f.fixed(0x18001d77)?.map(u64::from_le_bytes), | |
| 915 | }, | |
| 916 | 0x6002c => Kind::Title, | |
| 917 | 0x6000c => Kind::Outline { | |
| 918 | indents: measurements(f.bytes(0x1c001c12)?, 4)?, | |
| 919 | }, | |
| 920 | 0x6000d => Kind::Paragraph { | |
| 921 | lists: f.refs(0x24001c26, IdStream::Objects)?, | |
| 922 | paragraph_style: f.one(0x2000342c)?, | |
| 923 | collapse_state: f.u8(0x0c001c11)?, | |
| 924 | }, | |
| 925 | 0x60019 => Kind::OutlineGroup, | |
| 926 | 0x6000e => { | |
| 927 | let utf16 = f.bytes(0x1c001c22)?; | |
| 928 | let ascii = f.bytes(0x1c003498)?; | |
| 929 | let text = match utf16 { | |
| 930 | Some(b) => unicode(b)?, | |
| 931 | None => ascii | |
| 932 | .unwrap_or_default() | |
| 933 | .iter() | |
| 934 | .map(|b| char::from(*b)) | |
| 935 | .collect(), | |
| 936 | }; | |
| 937 | let length = u32::try_from(text.encode_utf16().count()) | |
| 938 | .map_err(|_| invalid("Text exceeds UTF-16 offset range"))?; | |
| 939 | let mut bounds = vec![0]; | |
| 940 | if let Some(bytes) = f.bytes(0x1c001e12)? { | |
| 941 | if !bytes.len().is_multiple_of(4) { | |
| 942 | return Err(invalid("Text-run index has an invalid length")); | |
| 943 | } | |
| 944 | bounds.extend( | |
| 945 | bytes | |
| 946 | .chunks_exact(4) | |
| 947 | .map(|b| u32::from_le_bytes(b.try_into().unwrap())), | |
| 948 | ); | |
| 949 | } | |
| 950 | bounds.push(length); | |
| 951 | if bounds.windows(2).any(|b| b[0] > b[1]) { | |
| 952 | return Err(invalid("Text-run indices exceed text or are out of order")); | |
| 953 | } | |
| 954 | let mut boundaries = bounds.iter().copied().peekable(); | |
| 955 | let mut position = 0; | |
| 956 | for character in text.chars() { | |
| 957 | while boundaries.peek() == Some(&position) { | |
| 958 | boundaries.next(); | |
| 959 | } | |
| 960 | position += character.len_utf16() as u32; | |
| 961 | if boundaries.peek().is_some_and(|next| *next < position) { | |
| 962 | return Err(invalid("Text-run boundary splits a surrogate pair")); | |
| 963 | } | |
| 964 | } | |
| 965 | let formats = f.refs(0x24001e13, IdStream::Objects)?; | |
| 966 | if !formats.is_empty() && formats.len() != bounds.len() - 1 { | |
| 967 | return Err(invalid("Text-run indices and formats disagree")); | |
| 968 | } | |
| 969 | let data = f | |
| 970 | .take(0x40003499) | |
| 971 | .map(|property| { | |
| 972 | let Value::Sets(range) = property.value else { | |
| 973 | return Err(invalid("Text-run data requires property sets")); | |
| 974 | }; | |
| 975 | if range.len() != bounds.len() - 1 { | |
| 976 | return Err(invalid("Text-run indices and data disagree")); | |
| 977 | } | |
| 978 | Ok(range) | |
| 979 | }) | |
| 980 | .transpose()?; | |
| 981 | let runs = bounds | |
| 982 | .windows(2) | |
| 983 | .enumerate() | |
| 984 | .map(|(i, b)| TextRun { | |
| 985 | start: b[0], | |
| 986 | end: b[1], | |
| 987 | format: formats.get(i).copied(), | |
| 988 | extra_set: data.as_ref().map(|range| range.start + i), | |
| 989 | }) | |
| 990 | .collect(); | |
| 991 | let boilerplate = f.boolean(0x08001c87)?.unwrap_or(false) | |
| 992 | | f.boolean(0x08001c88)?.unwrap_or(false) | |
| 993 | | f.boolean(0x08001cb5)?.unwrap_or(false); | |
| 994 | Kind::RichText { | |
| 995 | text, | |
| 996 | runs, | |
| 997 | paragraph_style: f.one(0x2000342c)?, | |
| 998 | boilerplate, | |
| 999 | } | |
| 1000 | } | |
| 1001 | 0x12004d => Kind::Style { | |
| 1002 | name: f.text(0x1c00345a)?, | |
| 1003 | }, | |
| 1004 | 0x60012 => { | |
| 1005 | let format = f | |
| 1006 | .bytes(0x1c001c1a)? | |
| 1007 | .map(|bytes| { | |
| 1008 | if bytes.len() < 2 | |
| 1009 | || bytes.len() | |
| 1010 | != 2 + usize::from(u16::from_le_bytes( | |
| 1011 | bytes[..2].try_into().unwrap(), | |
| 1012 | )) * 2 | |
| 1013 | { | |
| 1014 | return Err(invalid("List format has an invalid length")); | |
| 1015 | } | |
| 1016 | let units = bytes[2..] | |
| 1017 | .chunks_exact(2) | |
| 1018 | .map(|b| u16::from_le_bytes(b.try_into().unwrap())) | |
| 1019 | .collect::<Vec<_>>(); | |
| 1020 | String::from_utf16(&units) | |
| 1021 | .map_err(|_| invalid("Invalid UTF-16 list format")) | |
| 1022 | }) | |
| 1023 | .transpose()?; | |
| 1024 | Kind::List { | |
| 1025 | font: f.text(0x1c001c52)?, | |
| 1026 | format, | |
| 1027 | restart: f.u32(0x14001cb7)?, | |
| 1028 | bullet: f.u16(0x10001d0e)?, | |
| 1029 | } | |
| 1030 | } | |
| 1031 | 0x60022 => { | |
| 1032 | let columns = f.u32(0x14001d58)?; | |
| 1033 | let widths = measurements(f.bytes(0x1c001d66)?, 1)?; | |
| 1034 | let mut locked = Vec::new(); | |
| 1035 | if let Some(bytes) = f.bytes(0x1c001d7d)? { | |
| 1036 | let count = usize::from( | |
| 1037 | *bytes | |
| 1038 | .first() | |
| 1039 | .ok_or_else(|| invalid("Empty table column locks"))?, | |
| 1040 | ); | |
| 1041 | if bytes.len() != 1 + count.div_ceil(8) || columns != Some(count as u32) { | |
| 1042 | return Err(invalid("Table column locks disagree with column count")); | |
| 1043 | } | |
| 1044 | locked.extend((0..count).map(|i| bytes[1 + i / 8] & (1 << (i % 8)) != 0)); | |
| 1045 | } | |
| 1046 | if !widths.is_empty() && columns != Some(widths.len() as u32) { | |
| 1047 | return Err(invalid("Table widths disagree with column count")); | |
| 1048 | } | |
| 1049 | Kind::Table { | |
| 1050 | rows: f.u32(0x14001d57)?, | |
| 1051 | columns, | |
| 1052 | widths, | |
| 1053 | locked, | |
| 1054 | borders: f.boolean(0x08001d5e)?, | |
| 1055 | } | |
| 1056 | } | |
| 1057 | 0x60023 => Kind::Row, | |
| 1058 | 0x60024 => Kind::Cell { | |
| 1059 | shading: f.u32(0x14001e26)?, | |
| 1060 | }, | |
| 1061 | 0x60011 => Kind::Image { | |
| 1062 | container: f.one(0x20001c3f)?, | |
| 1063 | filename: f.text(0x1c001dd7)?, | |
| 1064 | alt: f.text(0x1c001e58)?, | |
| 1065 | picture_width: f.float(0x140034cd, 36.0)?, | |
| 1066 | picture_height: f.float(0x140034ce, 36.0)?, | |
| 1067 | background: f.boolean(0x08001d13)?, | |
| 1068 | printout: f.boolean(0x08001d85)?, | |
| 1069 | link: f.text(0x1c001e20)?, | |
| 1070 | }, | |
| 1071 | 0x60035 => Kind::Attachment { | |
| 1072 | container: f.one(0x20001d9b)?, | |
| 1073 | preview: f.one(0x20001c3f)?, | |
| 1074 | filename: f.text(0x1c001d9c)?, | |
| 1075 | source_path: f.text(0x1c001d9d)?, | |
| 1076 | recording_id: f.fixed(0x1c001c97)?, | |
| 1077 | recording_type: f.u32(0x14001d24)?, | |
| 1078 | }, | |
| 1079 | 0x120001 => Kind::Author { | |
| 1080 | name: f.text(0x1c001d75)?, | |
| 1081 | }, | |
| 1082 | 0x120043 => Kind::TagDefinition { | |
| 1083 | label: f.text(0x1c003468)?, | |
| 1084 | action_type: f.u16(0x10003463)?, | |
| 1085 | shape: f.u16(0x10003464)?, | |
| 1086 | color: f.u32(0x14003466)?, | |
| 1087 | highlight: f.u32(0x14003465)?, | |
| 1088 | }, | |
| 1089 | 0x20001 if store.header.file_type == crate::FileType::TableOfContents => Kind::Toc { | |
| 1090 | entries: f.refs(0x24001cf6, IdStream::Objects)?, | |
| 1091 | filename: f.text(0x1c001d6b)?, | |
| 1092 | identity: f.fixed(0x1c001d94)?, | |
| 1093 | order: f.u32(0x14001cb9)?, | |
| 1094 | color: f.u32(0x14001cbe)?, | |
| 1095 | }, | |
| 1096 | _ => Kind::Unknown, | |
| 1097 | }; | |
| 1098 | let media_ids = f.bytes(0x1c001c98)?.unwrap_or_default(); | |
| 1099 | if !media_ids.len().is_multiple_of(16) { | |
| 1100 | return Err(invalid("Media identifiers have an invalid length")); | |
| 1101 | } | |
| 1102 | let media_ids = media_ids | |
| 1103 | .chunks_exact(16) | |
| 1104 | .map(|id| id.try_into().unwrap()) | |
| 1105 | .collect(); | |
| 1106 | Ok(Self { | |
| 1107 | jcid: object.jcid, | |
| 1108 | children, | |
| 1109 | content, | |
| 1110 | structure, | |
| 1111 | spaces, | |
| 1112 | child_level, | |
| 1113 | layout, | |
| 1114 | format, | |
| 1115 | created: f.u32(0x14001d09)?, | |
| 1116 | modified: f.u32(0x14001d7a)?, | |
| 1117 | original_author: f.one(0x20001d78)?, | |
| 1118 | latest_author: f.one(0x20001d79)?, | |
| 1119 | media_ids, | |
| 1120 | media_time_ms: f.u32(0x14001c99)?, | |
| 1121 | tags, | |
| 1122 | kind, | |
| 1123 | extra: f.remainder()?, | |
| 1124 | }) | |
| 1125 | } | |
| 1126 | } |
crates/onestore/src/edit.rs created+373| ... | ... | @@ -0,0 +1,373 @@ |
| 1 | use crate::document::{Document, Kind}; | |
| 2 | use crate::{Error, ExGuid, ObjectData, PropertySets, RevisionIndex, Store}; | |
| 3 | use std::ops::Range; | |
| 4 | ||
| 5 | fn title_line(text: &str) -> &str { | |
| 6 | text.trim_start().split('\r').next().unwrap() | |
| 7 | } | |
| 8 | ||
| 9 | pub(crate) fn automatic_title(text: &str) -> &str { | |
| 10 | let line = title_line(text).trim_end(); | |
| 11 | let mut units = 0; | |
| 12 | for (byte, character) in line.char_indices() { | |
| 13 | if units >= 255 { | |
| 14 | return line[..byte].trim_end(); | |
| 15 | } | |
| 16 | units += character.len_utf16(); | |
| 17 | } | |
| 18 | line | |
| 19 | } | |
| 20 | ||
| 21 | /// Replaces UTF-16 character positions within one ordinary text run. | |
| 22 | /// The inserted text inherits that run's formatting; other runs retain their identities. | |
| 23 | /// Insertion at a run boundary uses the following run, except at the end of text. | |
| 24 | /// Returns a complete file image without I/O; use `commit_file_text` to update an existing file. | |
| 25 | pub fn replace_text( | |
| 26 | source: &[u8], | |
| 27 | space: ExGuid, | |
| 28 | object: ExGuid, | |
| 29 | range: Range<u32>, | |
| 30 | replacement: &str, | |
| 31 | ) -> Result<Vec<u8>, Error> { | |
| 32 | let invalid = |message| Error { offset: 0, message }; | |
| 33 | if range.start > range.end || replacement.contains(['\0', '\n', '\r', '\u{fffc}', '\u{fddf}']) { | |
| 34 | return Err(invalid( | |
| 35 | "Use a valid text range and ordinary paragraph text", | |
| 36 | )); | |
| 37 | } | |
| 38 | let store = Store::parse(source)?; | |
| 39 | let index = RevisionIndex::parse(&store)?; | |
| 40 | index.validate_current()?; | |
| 41 | let rid = *index | |
| 42 | .spaces | |
| 43 | .get(&space) | |
| 44 | .and_then(|s| s.labels.get(&(ExGuid::default(), 1))) | |
| 45 | .ok_or_else(|| invalid("Object space has no active default revision"))?; | |
| 46 | let raw = index.resolve(space, rid)?; | |
| 47 | if !raw.reachable()?.contains(&object) { | |
| 48 | return Err(invalid("Object is not reachable in the active revision")); | |
| 49 | } | |
| 50 | let document = Document::parse(&index)?; | |
| 51 | let revision = document | |
| 52 | .spaces | |
| 53 | .get(&space) | |
| 54 | .and_then(|s| s.revisions.get(&rid)) | |
| 55 | .ok_or_else(|| invalid("The active document revision is unavailable"))?; | |
| 56 | let pages: Vec<_> = document | |
| 57 | .pages()? | |
| 58 | .into_iter() | |
| 59 | .filter_map(|(sid, page)| (sid == space).then_some(page)) | |
| 60 | .collect(); | |
| 61 | let mut pending: Vec<_> = pages.iter().map(|page| (*page, false)).collect(); | |
| 62 | let mut seen = std::collections::BTreeSet::new(); | |
| 63 | let mut parents = std::collections::BTreeMap::<_, Vec<_>>::new(); | |
| 64 | let mut editable = false; | |
| 65 | while let Some((id, read_only)) = pending.pop() { | |
| 66 | if !seen.insert((id, read_only)) { | |
| 67 | continue; | |
| 68 | } | |
| 69 | let element = revision | |
| 70 | .nodes | |
| 71 | .get(&id) | |
| 72 | .ok_or_else(|| invalid("Page content is unavailable"))?; | |
| 73 | let read_only = read_only || element.extra[0].iter().any(|field| field.id == 0x88001cde); | |
| 74 | if id == object { | |
| 75 | if read_only { | |
| 76 | return Err(invalid("This page or its content is read-only")); | |
| 77 | } | |
| 78 | editable = true; | |
| 79 | } | |
| 80 | for child in element | |
| 81 | .children | |
| 82 | .iter() | |
| 83 | .chain(&element.content) | |
| 84 | .chain(&element.structure) | |
| 85 | { | |
| 86 | parents.entry(*child).or_default().push(id); | |
| 87 | pending.push((*child, read_only)); | |
| 88 | } | |
| 89 | } | |
| 90 | if !editable { | |
| 91 | return Err(invalid("Select text on an active editable page")); | |
| 92 | } | |
| 93 | let node = revision | |
| 94 | .nodes | |
| 95 | .get(&object) | |
| 96 | .ok_or_else(|| invalid("The text object is unavailable"))?; | |
| 97 | let Kind::RichText { | |
| 98 | text, | |
| 99 | runs, | |
| 100 | boilerplate, | |
| 101 | .. | |
| 102 | } = &node.kind | |
| 103 | else { | |
| 104 | return Err(invalid("Select a rich-text object")); | |
| 105 | }; | |
| 106 | if *boilerplate { | |
| 107 | return Err(invalid( | |
| 108 | "Generated title fields cannot be edited as ordinary text", | |
| 109 | )); | |
| 110 | } | |
| 111 | let selected = runs | |
| 112 | .iter() | |
| 113 | .rposition(|run| run.start <= range.start && range.end <= run.end) | |
| 114 | .ok_or_else(|| invalid("The edit must stay within one text run"))?; | |
| 115 | let resolved = revision.text_runs(object)?; | |
| 116 | let format = &resolved[selected].format; | |
| 117 | if [ | |
| 118 | format.hidden, | |
| 119 | format.hyperlink, | |
| 120 | format.math, | |
| 121 | format.embedded_object, | |
| 122 | ] | |
| 123 | .contains(&Some(true)) | |
| 124 | || runs[selected] | |
| 125 | .extra_set | |
| 126 | .is_some_and(|set| !node.extra[set].is_empty()) | |
| 127 | { | |
| 128 | return Err(invalid("This text run contains a field or embedded data")); | |
| 129 | } | |
| 130 | let ObjectData::Properties(blob) = raw.objects[&object].data else { | |
| 131 | unreachable!() | |
| 132 | }; | |
| 133 | let properties = PropertySets::parse(blob)?; | |
| 134 | if properties.sets[0] | |
| 135 | .iter() | |
| 136 | .any(|p| p.id == 0x88001cde || p.id == 0x24003458) | |
| 137 | { | |
| 138 | return Err(invalid( | |
| 139 | "This text object is read-only or contains associated run data", | |
| 140 | )); | |
| 141 | } | |
| 142 | let mut units = 0; | |
| 143 | let mut start = None; | |
| 144 | let mut end = None; | |
| 145 | for (byte, character) in text.char_indices() { | |
| 146 | if units == range.start { | |
| 147 | start = Some(byte); | |
| 148 | } | |
| 149 | if units == range.end { | |
| 150 | end = Some(byte); | |
| 151 | } | |
| 152 | units += character.len_utf16() as u32; | |
| 153 | } | |
| 154 | if units == range.start { | |
| 155 | start = Some(text.len()); | |
| 156 | } | |
| 157 | if units == range.end { | |
| 158 | end = Some(text.len()); | |
| 159 | } | |
| 160 | let (Some(start), Some(end)) = (start, end) else { | |
| 161 | return Err(invalid( | |
| 162 | "The edit range splits a surrogate pair or exceeds the text", | |
| 163 | )); | |
| 164 | }; | |
| 165 | if &text[start..end] == replacement { | |
| 166 | return Ok(source.to_vec()); | |
| 167 | } | |
| 168 | let added = u32::try_from(replacement.encode_utf16().count()) | |
| 169 | .map_err(|_| invalid("Replacement text exceeds the UTF-16 offset range"))?; | |
| 170 | let removed = range.end - range.start; | |
| 171 | units | |
| 172 | .checked_sub(removed) | |
| 173 | .and_then(|n| n.checked_add(added)) | |
| 174 | .ok_or_else(|| invalid("Edited text exceeds the UTF-16 offset range"))?; | |
| 175 | let mut boundaries = Vec::new(); | |
| 176 | let mut previous = None; | |
| 177 | for (i, run) in runs[..runs.len() - 1].iter().enumerate() { | |
| 178 | let end = if i >= selected { | |
| 179 | run.end - removed + added | |
| 180 | } else { | |
| 181 | run.end | |
| 182 | }; | |
| 183 | if previous.is_some_and(|p| p >= end) { | |
| 184 | return Err(invalid("The edit would collapse a formatting boundary")); | |
| 185 | } | |
| 186 | previous = Some(end); | |
| 187 | boundaries.extend_from_slice(&end.to_le_bytes()); | |
| 188 | } | |
| 189 | let mut changed = String::with_capacity(text.len() - (end - start) + replacement.len()); | |
| 190 | changed.push_str(&text[..start]); | |
| 191 | changed.push_str(replacement); | |
| 192 | changed.push_str(&text[end..]); | |
| 193 | let unicode = properties.sets[0].iter().any(|p| p.id == 0x1c001c22) | |
| 194 | || !properties.sets[0].iter().any(|p| p.id == 0x1c003498) | |
| 195 | || changed.chars().any(|c| c as u32 > 255); | |
| 196 | let encoded = if unicode { | |
| 197 | changed | |
| 198 | .encode_utf16() | |
| 199 | .chain([0]) | |
| 200 | .flat_map(u16::to_le_bytes) | |
| 201 | .collect::<Vec<_>>() | |
| 202 | } else { | |
| 203 | changed.chars().map(|c| u8::try_from(c).unwrap()).collect() | |
| 204 | }; | |
| 205 | let text_property = if unicode { 0x1c001c22 } else { 0x1c003498 }; | |
| 206 | let text_update = (text_property, encoded.as_slice()); | |
| 207 | let mut updates = Vec::new(); | |
| 208 | let insert = if properties.sets[0].iter().any(|p| p.id == text_property) { | |
| 209 | updates.push(text_update); | |
| 210 | None | |
| 211 | } else { | |
| 212 | Some(text_update) | |
| 213 | }; | |
| 214 | if properties.sets[0].iter().any(|p| p.id == 0x1c001e12) { | |
| 215 | updates.push((0x1c001e12, &boundaries)); | |
| 216 | } | |
| 217 | let modified = crate::create::current_timestamps()?.0.to_le_bytes(); | |
| 218 | updates.push((0x14001d7a, &modified)); | |
| 219 | let mut edits = vec![crate::write::ObjectEdit { | |
| 220 | object, | |
| 221 | updates: &updates, | |
| 222 | insert, | |
| 223 | }]; | |
| 224 | // Native conflict merges can discard descendant edits when ancestor timestamps stay stale. | |
| 225 | let modified_update = [(0x14001d7a, modified.as_slice())]; | |
| 226 | let mut ancestors = std::collections::BTreeSet::new(); | |
| 227 | let mut pending = parents.get(&object).cloned().unwrap_or_default(); | |
| 228 | while let Some(id) = pending.pop() { | |
| 229 | if !ancestors.insert(id) { | |
| 230 | continue; | |
| 231 | } | |
| 232 | if revision.nodes[&id].modified.is_some() { | |
| 233 | edits.push(crate::write::ObjectEdit { | |
| 234 | object: id, | |
| 235 | updates: &modified_update, | |
| 236 | insert: None, | |
| 237 | }); | |
| 238 | } | |
| 239 | pending.extend(parents.get(&id).into_iter().flatten().copied()); | |
| 240 | } | |
| 241 | let titles: Vec<_> = revision | |
| 242 | .nodes | |
| 243 | .iter() | |
| 244 | .filter_map(|(id, node)| { | |
| 245 | if !(seen.contains(&(*id, false)) || seen.contains(&(*id, true))) | |
| 246 | || !node.extra[0].iter().any(|field| field.id == 0x88001cb4) | |
| 247 | { | |
| 248 | return None; | |
| 249 | } | |
| 250 | match &node.kind { | |
| 251 | Kind::RichText { | |
| 252 | text, | |
| 253 | boilerplate: false, | |
| 254 | .. | |
| 255 | } => Some((*id, text.as_str())), | |
| 256 | _ => None, | |
| 257 | } | |
| 258 | }) | |
| 259 | .collect(); | |
| 260 | let title_text = match titles.as_slice() { | |
| 261 | [] => "", | |
| 262 | [(id, text)] => { | |
| 263 | if *id == object { | |
| 264 | changed.as_str() | |
| 265 | } else { | |
| 266 | text | |
| 267 | } | |
| 268 | } | |
| 269 | _ => return Err(invalid("Title editing requires a single title text object")), | |
| 270 | }; | |
| 271 | let automatic = title_line(title_text).is_empty(); | |
| 272 | if !automatic && titles[0].0 != object { | |
| 273 | return crate::write::replace_objects(source, space, &edits); | |
| 274 | } | |
| 275 | let [page] = pages.as_slice() else { | |
| 276 | return Err(invalid("Title editing requires a single active page")); | |
| 277 | }; | |
| 278 | let Kind::Page { | |
| 279 | alternate_title, | |
| 280 | rtl, | |
| 281 | .. | |
| 282 | } = &revision.nodes[page].kind | |
| 283 | else { | |
| 284 | unreachable!() | |
| 285 | }; | |
| 286 | let mut title_text = title_line(title_text); | |
| 287 | if automatic { | |
| 288 | let mut roots = revision.nodes[page].children.clone(); | |
| 289 | roots.sort_by(|a, b| { | |
| 290 | let a = &revision.nodes[a].layout; | |
| 291 | let b = &revision.nodes[b].layout; | |
| 292 | a.y.unwrap_or(0.0) | |
| 293 | .total_cmp(&b.y.unwrap_or(0.0)) | |
| 294 | .then_with(|| { | |
| 295 | if *rtl == Some(true) { | |
| 296 | b.x.unwrap_or(0.0).total_cmp(&a.x.unwrap_or(0.0)) | |
| 297 | } else { | |
| 298 | a.x.unwrap_or(0.0).total_cmp(&b.x.unwrap_or(0.0)) | |
| 299 | } | |
| 300 | }) | |
| 301 | }); | |
| 302 | let mut pending: Vec<_> = roots.into_iter().rev().collect(); | |
| 303 | let mut seen = std::collections::BTreeSet::new(); | |
| 304 | while let Some(id) = pending.pop() { | |
| 305 | if !seen.insert(id) { | |
| 306 | continue; | |
| 307 | } | |
| 308 | let node = &revision.nodes[&id]; | |
| 309 | if let Kind::RichText { | |
| 310 | text, | |
| 311 | boilerplate: false, | |
| 312 | .. | |
| 313 | } = &node.kind | |
| 314 | { | |
| 315 | title_text = automatic_title(if id == object { &changed } else { text }); | |
| 316 | if !title_text.is_empty() { | |
| 317 | break; | |
| 318 | } | |
| 319 | } | |
| 320 | if *rtl == Some(true) && matches!(node.kind, Kind::Row) { | |
| 321 | pending.extend(node.children.iter().copied()); | |
| 322 | } else { | |
| 323 | pending.extend(node.children.iter().rev().copied()); | |
| 324 | } | |
| 325 | pending.extend(node.content.iter().rev().copied()); | |
| 326 | pending.extend(node.structure.iter().rev().copied()); | |
| 327 | } | |
| 328 | } | |
| 329 | let metadata = revision | |
| 330 | .roots | |
| 331 | .get(&2) | |
| 332 | .ok_or_else(|| invalid("Page title metadata is unavailable"))?; | |
| 333 | let Kind::Metadata { title, .. } = &revision.nodes[metadata].kind else { | |
| 334 | return Err(invalid("Page title metadata is unavailable")); | |
| 335 | }; | |
| 336 | let cached: Vec<_> = title_text | |
| 337 | .encode_utf16() | |
| 338 | .chain([0]) | |
| 339 | .flat_map(u16::to_le_bytes) | |
| 340 | .collect(); | |
| 341 | let metadata_update = [(0x1c001cf3, cached.as_slice())]; | |
| 342 | edits.push(crate::write::ObjectEdit { | |
| 343 | object: *metadata, | |
| 344 | updates: if title.is_some() { | |
| 345 | &metadata_update | |
| 346 | } else { | |
| 347 | &[] | |
| 348 | }, | |
| 349 | insert: title.is_none().then_some(metadata_update[0]), | |
| 350 | }); | |
| 351 | let mut alternate_update = vec![( | |
| 352 | 0x1c001d3c, | |
| 353 | if automatic { | |
| 354 | cached.as_slice() | |
| 355 | } else { | |
| 356 | &[0u8, 0][..] | |
| 357 | }, | |
| 358 | )]; | |
| 359 | if revision.nodes[page].modified.is_some() { | |
| 360 | alternate_update.push(modified_update[0]); | |
| 361 | } | |
| 362 | edits.retain(|edit| edit.object != *page); | |
| 363 | edits.push(crate::write::ObjectEdit { | |
| 364 | object: *page, | |
| 365 | updates: if alternate_title.is_some() { | |
| 366 | &alternate_update | |
| 367 | } else { | |
| 368 | &alternate_update[1..] | |
| 369 | }, | |
| 370 | insert: alternate_title.is_none().then_some(alternate_update[0]), | |
| 371 | }); | |
| 372 | crate::write::replace_objects(source, space, &edits) | |
| 373 | } |
crates/onestore/src/files.rs created+164| ... | ... | @@ -0,0 +1,164 @@ |
| 1 | use crate::{Error, Object, ObjectData, Reference, Store, bytes::Cursor}; | |
| 2 | ||
| 3 | #[derive(Debug, PartialEq, Eq, serde::Serialize)] | |
| 4 | pub enum FileDataReference { | |
| 5 | Internal([u8; 16]), | |
| 6 | External(String), | |
| 7 | Invalid, | |
| 8 | } | |
| 9 | ||
| 10 | fn guid(text: &str) -> Option<[u8; 16]> { | |
| 11 | let bytes = text.as_bytes(); | |
| 12 | if bytes.len() != 36 || [8, 13, 18, 23].iter().any(|index| bytes[*index] != b'-') { | |
| 13 | return None; | |
| 14 | } | |
| 15 | let mut digits = bytes | |
| 16 | .iter() | |
| 17 | .enumerate() | |
| 18 | .filter_map(|(index, byte)| (![8, 13, 18, 23].contains(&index)).then_some(*byte)); | |
| 19 | let mut value = [0; 16]; | |
| 20 | for byte in &mut value { | |
| 21 | let high = char::from(digits.next()?).to_digit(16)?; | |
| 22 | let low = char::from(digits.next()?).to_digit(16)?; | |
| 23 | *byte = u8::try_from((high << 4) | low).ok()?; | |
| 24 | } | |
| 25 | value[..4].reverse(); | |
| 26 | value[4..6].reverse(); | |
| 27 | value[6..8].reverse(); | |
| 28 | Some(value) | |
| 29 | } | |
| 30 | ||
| 31 | impl Object<'_> { | |
| 32 | pub fn file_reference(&self) -> Result<Option<FileDataReference>, Error> { | |
| 33 | let ObjectData::File { reference, .. } = self.data else { | |
| 34 | return Ok(None); | |
| 35 | }; | |
| 36 | if !reference.len().is_multiple_of(2) { | |
| 37 | return Err(Error { | |
| 38 | offset: 0, | |
| 39 | message: "Odd UTF-16 file-data reference length", | |
| 40 | }); | |
| 41 | } | |
| 42 | let text = String::from_utf16( | |
| 43 | &reference | |
| 44 | .chunks_exact(2) | |
| 45 | .map(|pair| u16::from_le_bytes([pair[0], pair[1]])) | |
| 46 | .collect::<Vec<_>>(), | |
| 47 | ) | |
| 48 | .map_err(|_| Error { | |
| 49 | offset: 0, | |
| 50 | message: "Invalid UTF-16 file-data reference", | |
| 51 | })?; | |
| 52 | let parsed = if let Some(name) = text.strip_prefix("<file>") { | |
| 53 | name.strip_suffix(".onebin") | |
| 54 | .and_then(guid) | |
| 55 | .map(|_| FileDataReference::External(name.to_owned())) | |
| 56 | } else if let Some(id) = text | |
| 57 | .strip_prefix("<ifndf>{") | |
| 58 | .and_then(|text| text.strip_suffix('}')) | |
| 59 | { | |
| 60 | guid(id).map(FileDataReference::Internal) | |
| 61 | } else if text == "<invfdo>" { | |
| 62 | Some(FileDataReference::Invalid) | |
| 63 | } else { | |
| 64 | None | |
| 65 | }; | |
| 66 | parsed.map(Some).ok_or(Error { | |
| 67 | offset: 0, | |
| 68 | message: "Invalid file-data reference syntax", | |
| 69 | }) | |
| 70 | } | |
| 71 | } | |
| 72 | ||
| 73 | impl<'a> Store<'a> { | |
| 74 | pub(crate) fn encryption_key(&self, chunk: crate::Chunk) -> Result<&'a [u8], Error> { | |
| 75 | let bytes = self.chunk_data(chunk)?; | |
| 76 | let footer = 0x2649294f8e198b3c_u64.to_le_bytes(); | |
| 77 | if bytes.len() >= 16 && bytes[..8] == 0xfb6ba385dad1a067_u64.to_le_bytes() { | |
| 78 | for padding in 0..=7 { | |
| 79 | if bytes.len() < 16 + padding { | |
| 80 | break; | |
| 81 | } | |
| 82 | let end = bytes.len() - padding; | |
| 83 | if bytes[end - 8..end] == footer | |
| 84 | && bytes[end..].iter().all(|byte| *byte == 0) | |
| 85 | && (padding == 0 || bytes.len().is_multiple_of(8)) | |
| 86 | { | |
| 87 | return Ok(&bytes[8..end - 8]); | |
| 88 | } | |
| 89 | } | |
| 90 | } | |
| 91 | Err(Error { | |
| 92 | offset: usize::try_from(chunk.offset).unwrap(), | |
| 93 | message: "Invalid encryption key container", | |
| 94 | }) | |
| 95 | } | |
| 96 | ||
| 97 | pub fn file_data(&self, guid: [u8; 16]) -> Result<&'a [u8], Error> { | |
| 98 | let mut found = None; | |
| 99 | for node in self | |
| 100 | .lists | |
| 101 | .values() | |
| 102 | .flat_map(|list| &list.nodes) | |
| 103 | .filter(|node| node.id == 0x94) | |
| 104 | { | |
| 105 | let mut c = node.fields(self); | |
| 106 | if c.read::<16>()? != guid { | |
| 107 | continue; | |
| 108 | } | |
| 109 | let Some(Reference::Data(chunk)) = node.reference else { | |
| 110 | return Err(Error { | |
| 111 | offset: node.offset, | |
| 112 | message: "File-data object lacks a data reference", | |
| 113 | }); | |
| 114 | }; | |
| 115 | if found.replace(chunk).is_some() { | |
| 116 | return Err(Error { | |
| 117 | offset: node.offset, | |
| 118 | message: "Duplicate file-data identity", | |
| 119 | }); | |
| 120 | } | |
| 121 | } | |
| 122 | let chunk = found.ok_or(Error { | |
| 123 | offset: 0, | |
| 124 | message: "File-data object is not declared", | |
| 125 | })?; | |
| 126 | let mut c = Cursor { | |
| 127 | bytes: self.chunk_data(chunk)?, | |
| 128 | offset: usize::try_from(chunk.offset).unwrap(), | |
| 129 | }; | |
| 130 | if c.read::<16>()? | |
| 131 | != [ | |
| 132 | 0xe7, 0x16, 0xe3, 0xbd, 0x65, 0x26, 0x11, 0x45, 0xa4, 0xc4, 0x8d, 0x4d, 0x0b, 0x7a, | |
| 133 | 0x9e, 0xac, | |
| 134 | ] | |
| 135 | { | |
| 136 | return Err(Error { | |
| 137 | offset: c.offset - 16, | |
| 138 | message: "Invalid file-data object header", | |
| 139 | }); | |
| 140 | } | |
| 141 | let length = usize::try_from(u64::from_le_bytes(c.read()?)).map_err(|_| Error { | |
| 142 | offset: c.offset - 8, | |
| 143 | message: "File-data length exceeds address space", | |
| 144 | })?; | |
| 145 | c.take(12)?; | |
| 146 | let bytes = c.take(length)?; | |
| 147 | // The object length is aligned; its position in the file need not be. | |
| 148 | let padding = (8 - (36 + length) % 8) % 8; | |
| 149 | c.take(padding)?; | |
| 150 | if c.read::<16>()? | |
| 151 | != [ | |
| 152 | 0x22, 0xa7, 0xfb, 0x71, 0x79, 0x0f, 0x0b, 0x4a, 0xbb, 0x13, 0x89, 0x92, 0x56, 0x42, | |
| 153 | 0x6b, 0x24, | |
| 154 | ] | |
| 155 | || !c.bytes.is_empty() | |
| 156 | { | |
| 157 | return Err(Error { | |
| 158 | offset: c.offset - 16, | |
| 159 | message: "Invalid file-data object footer or length", | |
| 160 | }); | |
| 161 | } | |
| 162 | Ok(bytes) | |
| 163 | } | |
| 164 | } |
crates/onestore/src/flush.rs created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | use std::{fs::File, io}; | |
| 2 | ||
| 3 | pub(crate) fn flush(file: &File) -> io::Result<()> { | |
| 4 | let result = file.sync_all(); | |
| 5 | #[cfg(target_os = "macos")] | |
| 6 | if result | |
| 7 | .as_ref() | |
| 8 | .is_err_and(|error| error.raw_os_error() == Some(nix::libc::ENOTSUP)) | |
| 9 | { | |
| 10 | // SMB uses standard FLUSH when Apple's F_FULLFSYNC extension is unavailable. | |
| 11 | return nix::unistd::fsync(file).map_err(io::Error::from); | |
| 12 | } | |
| 13 | result | |
| 14 | } |
crates/onestore/src/lib.rs created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | #![forbid(unsafe_code)] | |
| 2 | #![doc = include_str!("../../../README.md")] | |
| 3 | ||
| 4 | mod bytes; | |
| 5 | mod commit; | |
| 6 | mod create; | |
| 7 | pub mod document; | |
| 8 | mod edit; | |
| 9 | mod files; | |
| 10 | mod flush; | |
| 11 | mod objects; | |
| 12 | mod properties; | |
| 13 | mod revisions; | |
| 14 | mod store; | |
| 15 | mod write; | |
| 16 | ||
| 17 | pub use commit::{CommitError, CommitIo, CommitState, commit_property_bytes, commit_text}; | |
| 18 | #[cfg(any(unix, windows))] | |
| 19 | pub use commit::{commit_file_property, commit_file_text, read_file}; | |
| 20 | pub use create::{create_section, create_table_of_contents}; | |
| 21 | pub use edit::replace_text; | |
| 22 | pub use files::FileDataReference; | |
| 23 | pub use objects::{Object, ObjectData, ObjectReferences, ResolvedRevision}; | |
| 24 | pub use properties::{IdStream, Property, PropertySets, Value}; | |
| 25 | pub use revisions::{ExGuid, ObjectSpace, Revision, RevisionIndex}; | |
| 26 | pub use store::{Chunk, Error, FileType, Header, Node, NodeList, Reference, Store}; | |
| 27 | pub use write::replace_property_bytes; |
crates/onestore/src/objects.rs created+625| ... | ... | @@ -0,0 +1,625 @@ |
| 1 | use crate::{ | |
| 2 | Error, ExGuid, IdStream, Node, PropertySets, Reference, RevisionIndex, Value, bytes::Cursor, | |
| 3 | }; | |
| 4 | use std::{ | |
| 5 | collections::{BTreeMap, BTreeSet}, | |
| 6 | sync::Arc, | |
| 7 | }; | |
| 8 | ||
| 9 | type Result<T> = std::result::Result<T, Error>; | |
| 10 | type GlobalIds = BTreeMap<u32, [u8; 16]>; | |
| 11 | ||
| 12 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] | |
| 13 | pub enum ObjectData<'a> { | |
| 14 | Properties(&'a [u8]), | |
| 15 | Encrypted(&'a [u8]), | |
| 16 | File { | |
| 17 | reference: &'a [u8], | |
| 18 | extension: &'a [u8], | |
| 19 | }, | |
| 20 | } | |
| 21 | ||
| 22 | #[derive(Debug)] | |
| 23 | pub struct Object<'a> { | |
| 24 | pub jcid: u32, | |
| 25 | pub reference_count: u32, | |
| 26 | pub data: ObjectData<'a>, | |
| 27 | pub global_ids: Arc<GlobalIds>, | |
| 28 | } | |
| 29 | ||
| 30 | #[derive(Debug)] | |
| 31 | pub struct ResolvedRevision<'a> { | |
| 32 | pub roots: BTreeMap<u32, ExGuid>, | |
| 33 | pub objects: BTreeMap<ExGuid, Object<'a>>, | |
| 34 | } | |
| 35 | ||
| 36 | /// Occurrences retain multiplicity for native reference counts. | |
| 37 | #[derive(Debug, Default)] | |
| 38 | pub struct ObjectReferences { | |
| 39 | pub objects: Vec<ExGuid>, | |
| 40 | pub object_spaces: Vec<ExGuid>, | |
| 41 | pub contexts: Vec<ExGuid>, | |
| 42 | } | |
| 43 | ||
| 44 | impl Object<'_> { | |
| 45 | pub fn references(&self) -> Result<ObjectReferences> { | |
| 46 | let mut result = ObjectReferences::default(); | |
| 47 | let bytes = match self.data { | |
| 48 | ObjectData::File { .. } => return Ok(result), | |
| 49 | ObjectData::Properties(bytes) => bytes, | |
| 50 | ObjectData::Encrypted(_) => { | |
| 51 | return Err(Error { | |
| 52 | offset: 0, | |
| 53 | message: "Encrypted property references are unavailable", | |
| 54 | }); | |
| 55 | } | |
| 56 | }; | |
| 57 | let properties = PropertySets::parse(bytes)?; | |
| 58 | for property in properties.sets.iter().flatten() { | |
| 59 | if let Value::References { | |
| 60 | stream, | |
| 61 | compact_ids, | |
| 62 | } = property.value | |
| 63 | { | |
| 64 | let targets = match stream { | |
| 65 | IdStream::Objects => &mut result.objects, | |
| 66 | IdStream::ObjectSpaces => &mut result.object_spaces, | |
| 67 | IdStream::Contexts => &mut result.contexts, | |
| 68 | }; | |
| 69 | let mut c = Cursor { | |
| 70 | bytes: compact_ids, | |
| 71 | offset: 0, | |
| 72 | }; | |
| 73 | while !c.bytes.is_empty() { | |
| 74 | targets.push(c.compact(&self.global_ids)?); | |
| 75 | } | |
| 76 | } | |
| 77 | } | |
| 78 | Ok(result) | |
| 79 | } | |
| 80 | } | |
| 81 | ||
| 82 | impl ResolvedRevision<'_> { | |
| 83 | pub fn reachable(&self) -> Result<BTreeSet<ExGuid>> { | |
| 84 | let mut pending: Vec<_> = self.roots.values().copied().collect(); | |
| 85 | let mut incoming = BTreeMap::<ExGuid, u32>::new(); | |
| 86 | for id in &pending { | |
| 87 | if incoming.insert(*id, 1).is_some() { | |
| 88 | return Err(Error { | |
| 89 | offset: 0, | |
| 90 | message: "Object is the root of multiple roles", | |
| 91 | }); | |
| 92 | } | |
| 93 | } | |
| 94 | let mut edges = BTreeMap::new(); | |
| 95 | while let Some(id) = pending.pop() { | |
| 96 | if edges.contains_key(&id) { | |
| 97 | continue; | |
| 98 | } | |
| 99 | let object = self.objects.get(&id).ok_or(Error { | |
| 100 | offset: 0, | |
| 101 | message: "Reachable object has no declaration", | |
| 102 | })?; | |
| 103 | let references = object.references()?; | |
| 104 | for child in &references.objects { | |
| 105 | let count = incoming.entry(*child).or_default(); | |
| 106 | *count = count.checked_add(1).ok_or(Error { | |
| 107 | offset: 0, | |
| 108 | message: "Object reference count overflows", | |
| 109 | })?; | |
| 110 | pending.push(*child); | |
| 111 | } | |
| 112 | edges.insert(id, references.objects); | |
| 113 | } | |
| 114 | let mut remaining = incoming.clone(); | |
| 115 | for id in self.roots.values() { | |
| 116 | *remaining.get_mut(id).unwrap() -= 1; | |
| 117 | } | |
| 118 | pending.extend( | |
| 119 | remaining | |
| 120 | .iter() | |
| 121 | .filter_map(|(id, count)| (*count == 0).then_some(*id)), | |
| 122 | ); | |
| 123 | let mut visited = 0; | |
| 124 | while let Some(id) = pending.pop() { | |
| 125 | visited += 1; | |
| 126 | for child in &edges[&id] { | |
| 127 | let count = remaining.get_mut(child).unwrap(); | |
| 128 | *count -= 1; | |
| 129 | if *count == 0 { | |
| 130 | pending.push(*child); | |
| 131 | } | |
| 132 | } | |
| 133 | } | |
| 134 | if visited != edges.len() { | |
| 135 | return Err(Error { | |
| 136 | offset: 0, | |
| 137 | message: "Object references form a cycle", | |
| 138 | }); | |
| 139 | } | |
| 140 | for (id, count) in &incoming { | |
| 141 | if self.objects[id].reference_count != *count { | |
| 142 | return Err(Error { | |
| 143 | offset: 0, | |
| 144 | message: "Stored object reference count disagrees with the reachable graph", | |
| 145 | }); | |
| 146 | } | |
| 147 | } | |
| 148 | Ok(edges.into_keys().collect()) | |
| 149 | } | |
| 150 | } | |
| 151 | ||
| 152 | impl Cursor<'_> { | |
| 153 | pub(crate) fn compact(&mut self, table: &GlobalIds) -> Result<ExGuid> { | |
| 154 | let raw = u32::from_le_bytes(self.read()?); | |
| 155 | let guid = *table.get(&(raw >> 8)).ok_or(Error { | |
| 156 | offset: self.offset - 4, | |
| 157 | message: "Compact ID refers to a missing global ID", | |
| 158 | })?; | |
| 159 | Ok(ExGuid { | |
| 160 | guid, | |
| 161 | n: raw & 0xff, | |
| 162 | }) | |
| 163 | } | |
| 164 | } | |
| 165 | ||
| 166 | impl<'a> Cursor<'a> { | |
| 167 | fn storage_string(&mut self) -> Result<&'a [u8]> { | |
| 168 | let count = u32::from_le_bytes(self.read()?); | |
| 169 | let size = usize::try_from(count) | |
| 170 | .ok() | |
| 171 | .and_then(|n| n.checked_mul(2)) | |
| 172 | .ok_or(Error { | |
| 173 | offset: self.offset - 4, | |
| 174 | message: "String length exceeds address space", | |
| 175 | })?; | |
| 176 | self.take(size) | |
| 177 | } | |
| 178 | } | |
| 179 | ||
| 180 | impl<'a> RevisionIndex<'a> { | |
| 181 | pub fn validate_current(&self) -> Result<()> { | |
| 182 | let mut edges = BTreeMap::new(); | |
| 183 | let mut incoming = BTreeMap::<_, usize>::new(); | |
| 184 | for (osid, space) in &self.spaces { | |
| 185 | for rid in space.labels.values().copied().collect::<BTreeSet<_>>() { | |
| 186 | let revision = self.resolve(*osid, rid)?; | |
| 187 | let mut targets = BTreeSet::new(); | |
| 188 | for oid in revision.reachable()? { | |
| 189 | let references = revision.objects[&oid].references()?; | |
| 190 | for target in references.object_spaces { | |
| 191 | if target == *osid { | |
| 192 | return Err(Error { | |
| 193 | offset: 0, | |
| 194 | message: "Object references its own object space", | |
| 195 | }); | |
| 196 | } | |
| 197 | let rid = self | |
| 198 | .spaces | |
| 199 | .get(&target) | |
| 200 | .and_then(|space| space.labels.get(&(ExGuid::default(), 1))) | |
| 201 | .ok_or(Error { | |
| 202 | offset: 0, | |
| 203 | message: "Object-space reference has no default revision", | |
| 204 | })?; | |
| 205 | targets.insert((target, *rid)); | |
| 206 | } | |
| 207 | for context in references.contexts { | |
| 208 | if !space.labels.contains_key(&(context, 1)) { | |
| 209 | return Err(Error { | |
| 210 | offset: 0, | |
| 211 | message: "Context reference has no current revision", | |
| 212 | }); | |
| 213 | } | |
| 214 | } | |
| 215 | } | |
| 216 | for target in &targets { | |
| 217 | *incoming.entry(*target).or_default() += 1; | |
| 218 | } | |
| 219 | incoming.entry((*osid, rid)).or_default(); | |
| 220 | edges.insert((*osid, rid), targets); | |
| 221 | } | |
| 222 | } | |
| 223 | let mut pending: Vec<_> = incoming | |
| 224 | .iter() | |
| 225 | .filter_map(|(id, count)| (*count == 0).then_some(*id)) | |
| 226 | .collect(); | |
| 227 | let mut visited = 0; | |
| 228 | while let Some(id) = pending.pop() { | |
| 229 | visited += 1; | |
| 230 | for target in &edges[&id] { | |
| 231 | let count = incoming.get_mut(target).unwrap(); | |
| 232 | *count -= 1; | |
| 233 | if *count == 0 { | |
| 234 | pending.push(*target); | |
| 235 | } | |
| 236 | } | |
| 237 | } | |
| 238 | if visited != edges.len() { | |
| 239 | return Err(Error { | |
| 240 | offset: 0, | |
| 241 | message: "Object-space references form a cycle", | |
| 242 | }); | |
| 243 | } | |
| 244 | Ok(()) | |
| 245 | } | |
| 246 | ||
| 247 | pub fn resolve(&self, space: ExGuid, revision: ExGuid) -> Result<ResolvedRevision<'a>> { | |
| 248 | let space = self.spaces.get(&space).ok_or(Error { | |
| 249 | offset: 0, | |
| 250 | message: "Unknown object space", | |
| 251 | })?; | |
| 252 | let mut chain = Vec::new(); | |
| 253 | let mut visited = BTreeSet::new(); | |
| 254 | let mut next = Some(revision); | |
| 255 | while let Some(id) = next { | |
| 256 | let revision = space.revisions.get(&id).ok_or(Error { | |
| 257 | offset: 0, | |
| 258 | message: "Unknown revision dependency", | |
| 259 | })?; | |
| 260 | if !visited.insert(id) { | |
| 261 | return Err(Error { | |
| 262 | offset: 0, | |
| 263 | message: "Revision dependency cycle", | |
| 264 | }); | |
| 265 | } | |
| 266 | chain.push(revision); | |
| 267 | next = revision.dependency; | |
| 268 | } | |
| 269 | let mut result = ResolvedRevision { | |
| 270 | roots: BTreeMap::new(), | |
| 271 | objects: BTreeMap::new(), | |
| 272 | }; | |
| 273 | let mut table = Arc::new(GlobalIds::new()); | |
| 274 | let mut signed_data = BTreeMap::new(); | |
| 275 | for revision in chain.into_iter().rev() { | |
| 276 | let dependency_table = table; | |
| 277 | table = Arc::new(GlobalIds::new()); | |
| 278 | let mut pending: Vec<&Node<'a>> = revision.nodes.iter().rev().collect(); | |
| 279 | let mut groups = BTreeSet::new(); | |
| 280 | let mut defining_table = false; | |
| 281 | let initial_crc = if self.store.header.file_type == crate::FileType::Section { | |
| 282 | u32::MAX | |
| 283 | } else { | |
| 284 | 0 | |
| 285 | }; | |
| 286 | let mut override_crc = initial_crc; | |
| 287 | let mut in_group = false; | |
| 288 | let mut signature = ExGuid::default(); | |
| 289 | while let Some(node) = pending.pop() { | |
| 290 | let mut c = node.fields(self.store); | |
| 291 | match node.id { | |
| 292 | 0xb0 => { | |
| 293 | override_crc = initial_crc; | |
| 294 | in_group = true; | |
| 295 | let id = c.exguid()?; | |
| 296 | if !groups.insert(id) { | |
| 297 | return Err(Error { | |
| 298 | offset: node.offset, | |
| 299 | message: "Repeated object group", | |
| 300 | }); | |
| 301 | } | |
| 302 | let group = node.referenced_list(self.store)?; | |
| 303 | let first = group.first().ok_or(Error { | |
| 304 | offset: node.offset, | |
| 305 | message: "Empty object group", | |
| 306 | })?; | |
| 307 | if first.id != 0xb4 | |
| 308 | || first.fields(self.store).exguid()? != id | |
| 309 | || group.last().is_none_or(|node| node.id != 0xb8) | |
| 310 | { | |
| 311 | return Err(Error { | |
| 312 | offset: node.offset, | |
| 313 | message: "Object-group identity or boundaries do not match", | |
| 314 | }); | |
| 315 | } | |
| 316 | if group[1..group.len() - 1].iter().any(|node| { | |
| 317 | !matches!( | |
| 318 | node.id, | |
| 319 | 0x22 | 0x24 | 0x28 | 0x8c | 0xa4 | 0xa5 | 0xc4 | 0xc5 | 0x72 | 0x73 | |
| 320 | ) | |
| 321 | }) { | |
| 322 | return Err(Error { | |
| 323 | offset: node.offset, | |
| 324 | message: "Unexpected node in an object group", | |
| 325 | }); | |
| 326 | } | |
| 327 | pending.extend(group[1..].iter().rev()); | |
| 328 | } | |
| 329 | 0x21 | 0x22 => { | |
| 330 | if defining_table { | |
| 331 | return Err(Error { | |
| 332 | offset: node.offset, | |
| 333 | message: "Unterminated global identification table", | |
| 334 | }); | |
| 335 | } | |
| 336 | table = Arc::new(GlobalIds::new()); | |
| 337 | defining_table = true; | |
| 338 | } | |
| 339 | 0x24..=0x26 => { | |
| 340 | if !defining_table { | |
| 341 | return Err(Error { | |
| 342 | offset: node.offset, | |
| 343 | message: "Global ID entry outside a table", | |
| 344 | }); | |
| 345 | } | |
| 346 | let first = u32::from_le_bytes(c.read()?); | |
| 347 | let entries: Vec<_> = match node.id { | |
| 348 | 0x24 => vec![(first, c.read()?)], | |
| 349 | 0x25 | 0x26 => { | |
| 350 | let count = if node.id == 0x26 { | |
| 351 | u32::from_le_bytes(c.read()?) | |
| 352 | } else { | |
| 353 | 1 | |
| 354 | }; | |
| 355 | let to = u32::from_le_bytes(c.read()?); | |
| 356 | let end = first.checked_add(count).ok_or(Error { | |
| 357 | offset: node.offset, | |
| 358 | message: "Global ID import range overflows", | |
| 359 | })?; | |
| 360 | if u64::from(count) > dependency_table.len() as u64 | |
| 361 | || to.checked_add(count).is_none_or(|end| end > 0xffffff) | |
| 362 | { | |
| 363 | return Err(Error { | |
| 364 | offset: node.offset, | |
| 365 | message: "Global ID import range exceeds its table", | |
| 366 | }); | |
| 367 | } | |
| 368 | let entries: Vec<_> = dependency_table | |
| 369 | .range(first..end) | |
| 370 | .map(|(from, guid)| (to + from - first, *guid)) | |
| 371 | .collect(); | |
| 372 | if entries.len() as u64 != u64::from(count) { | |
| 373 | return Err(Error { | |
| 374 | offset: node.offset, | |
| 375 | message: "Global ID import refers to a missing entry", | |
| 376 | }); | |
| 377 | } | |
| 378 | entries | |
| 379 | } | |
| 380 | _ => unreachable!(), | |
| 381 | }; | |
| 382 | for (index, guid) in entries { | |
| 383 | if index >= 0xffffff | |
| 384 | || guid == [0; 16] | |
| 385 | || Arc::make_mut(&mut table).insert(index, guid).is_some() | |
| 386 | { | |
| 387 | return Err(Error { | |
| 388 | offset: node.offset, | |
| 389 | message: "Invalid or repeated global ID entry", | |
| 390 | }); | |
| 391 | } | |
| 392 | } | |
| 393 | } | |
| 394 | 0x28 => { | |
| 395 | if !defining_table { | |
| 396 | return Err(Error { | |
| 397 | offset: node.offset, | |
| 398 | message: "Global ID table end without a start", | |
| 399 | }); | |
| 400 | } | |
| 401 | defining_table = false; | |
| 402 | let unique: BTreeSet<_> = table.values().collect(); | |
| 403 | if unique.len() != table.len() { | |
| 404 | return Err(Error { | |
| 405 | offset: node.offset, | |
| 406 | message: "Global ID table repeats a GUID", | |
| 407 | }); | |
| 408 | } | |
| 409 | } | |
| 410 | 0x59 | 0x5a => { | |
| 411 | let id = if node.id == 0x5a { | |
| 412 | c.exguid()? | |
| 413 | } else { | |
| 414 | c.compact(&table)? | |
| 415 | }; | |
| 416 | let role = u32::from_le_bytes(c.read()?); | |
| 417 | result.roots.insert(role, id); | |
| 418 | } | |
| 419 | 0x2d | 0x2e | 0x41 | 0x42 | 0xa4 | 0xa5 | 0xc4 | 0xc5 | 0x72 | 0x73 => { | |
| 420 | if defining_table { | |
| 421 | return Err(Error { | |
| 422 | offset: node.offset, | |
| 423 | message: "Object declared inside a global ID table", | |
| 424 | }); | |
| 425 | } | |
| 426 | let id = c.compact(&table)?; | |
| 427 | let jcid = match node.id { | |
| 428 | 0x2d | 0x2e => { | |
| 429 | let bits = u16::from_le_bytes(c.read()?); | |
| 430 | c.take(4)?; | |
| 431 | if bits & 0x3fff != 1 { | |
| 432 | return Err(Error { | |
| 433 | offset: node.offset, | |
| 434 | message: "Invalid table-of-contents object type", | |
| 435 | }); | |
| 436 | } | |
| 437 | 0x20001 | |
| 438 | } | |
| 439 | 0x41 | 0x42 => { | |
| 440 | result | |
| 441 | .objects | |
| 442 | .get(&id) | |
| 443 | .ok_or(Error { | |
| 444 | offset: node.offset, | |
| 445 | message: "Object revision has no previous declaration", | |
| 446 | })? | |
| 447 | .jcid | |
| 448 | } | |
| 449 | _ => u32::from_le_bytes(c.read()?), | |
| 450 | }; | |
| 451 | let reference_count = match node.id { | |
| 452 | 0x41 => u32::from(c.read::<1>()?[0] >> 2), | |
| 453 | 0x42 => { | |
| 454 | c.take(4)?; | |
| 455 | u32::from_le_bytes(c.read()?) | |
| 456 | } | |
| 457 | 0x2d | 0x72 => u32::from(c.read::<1>()?[0]), | |
| 458 | 0x2e | 0x73 => u32::from_le_bytes(c.read()?), | |
| 459 | 0xa4 | 0xc4 => { | |
| 460 | c.take(1)?; | |
| 461 | u32::from(c.read::<1>()?[0]) | |
| 462 | } | |
| 463 | _ => { | |
| 464 | c.take(1)?; | |
| 465 | u32::from_le_bytes(c.read()?) | |
| 466 | } | |
| 467 | }; | |
| 468 | if in_group | |
| 469 | || self.store.header.file_type == crate::FileType::TableOfContents | |
| 470 | { | |
| 471 | override_crc = crate::store::crc( | |
| 472 | override_crc, | |
| 473 | &reference_count.to_le_bytes(), | |
| 474 | self.store.header.file_type, | |
| 475 | ); | |
| 476 | } | |
| 477 | let data = if matches!(node.id, 0x72 | 0x73) { | |
| 478 | if jcid & 0x1fffff != 0x80000 | (jcid & 0xffff) { | |
| 479 | return Err(Error { | |
| 480 | offset: node.offset, | |
| 481 | message: "Invalid file-data object flags", | |
| 482 | }); | |
| 483 | } | |
| 484 | ObjectData::File { | |
| 485 | reference: c.storage_string()?, | |
| 486 | extension: c.storage_string()?, | |
| 487 | } | |
| 488 | } else { | |
| 489 | let Some(Reference::Data(chunk)) = node.reference else { | |
| 490 | return Err(Error { | |
| 491 | offset: node.offset, | |
| 492 | message: "Object lacks a data reference", | |
| 493 | }); | |
| 494 | }; | |
| 495 | let bytes = self.store.chunk_data(chunk)?; | |
| 496 | if jcid & 0x20000 == 0 | |
| 497 | || (jcid & 0x100000 != 0) != matches!(node.id, 0xc4 | 0xc5) | |
| 498 | { | |
| 499 | return Err(Error { | |
| 500 | offset: node.offset, | |
| 501 | message: "Object declaration does not match its property-set flags", | |
| 502 | }); | |
| 503 | } | |
| 504 | if matches!(node.id, 0xc4 | 0xc5) { | |
| 505 | let expected = c.read::<16>()?; | |
| 506 | if !revision.encrypted && md5::compute(bytes).0 != expected { | |
| 507 | return Err(Error { | |
| 508 | offset: node.offset, | |
| 509 | message: "Read-only object checksum mismatch", | |
| 510 | }); | |
| 511 | } | |
| 512 | } | |
| 513 | if revision.encrypted { | |
| 514 | ObjectData::Encrypted(bytes) | |
| 515 | } else { | |
| 516 | ObjectData::Properties(bytes) | |
| 517 | } | |
| 518 | }; | |
| 519 | if let Some(previous) = result.objects.get(&id) { | |
| 520 | if previous.jcid & 0x1bffff != jcid & 0x1bffff { | |
| 521 | return Err(Error { | |
| 522 | offset: node.offset, | |
| 523 | message: "Object revision changes its type", | |
| 524 | }); | |
| 525 | } | |
| 526 | if jcid & 0x180000 != 0 && previous.data != data { | |
| 527 | return Err(Error { | |
| 528 | offset: node.offset, | |
| 529 | message: "Immutable object data changed", | |
| 530 | }); | |
| 531 | } | |
| 532 | } | |
| 533 | if signature != ExGuid::default() | |
| 534 | && signed_data | |
| 535 | .insert((id, signature), data) | |
| 536 | .is_some_and(|previous| previous != data) | |
| 537 | { | |
| 538 | return Err(Error { | |
| 539 | offset: node.offset, | |
| 540 | message: "Object data changed under the same data signature", | |
| 541 | }); | |
| 542 | } | |
| 543 | result.objects.insert( | |
| 544 | id, | |
| 545 | Object { | |
| 546 | jcid, | |
| 547 | reference_count, | |
| 548 | data, | |
| 549 | global_ids: Arc::clone(&table), | |
| 550 | }, | |
| 551 | ); | |
| 552 | } | |
| 553 | 0x84 => { | |
| 554 | let Some(Reference::Data(chunk)) = node.reference else { | |
| 555 | return Err(Error { | |
| 556 | offset: node.offset, | |
| 557 | message: "Reference-count override lacks its data reference", | |
| 558 | }); | |
| 559 | }; | |
| 560 | if !chunk.absent() { | |
| 561 | c = Cursor { | |
| 562 | bytes: self.store.chunk_data(chunk)?, | |
| 563 | offset: usize::try_from(chunk.offset).unwrap(), | |
| 564 | }; | |
| 565 | } | |
| 566 | let small = u32::from_le_bytes(c.read()?); | |
| 567 | let large = u32::from_le_bytes(c.read()?); | |
| 568 | let expected = u32::from_le_bytes(c.read()?); | |
| 569 | let start = c.bytes; | |
| 570 | for (count, width) in [(small, 1), (large, 4)] { | |
| 571 | for _ in 0..count { | |
| 572 | let id = c.compact(&table)?; | |
| 573 | let value = if width == 1 { | |
| 574 | u32::from(c.read::<1>()?[0]) | |
| 575 | } else { | |
| 576 | u32::from_le_bytes(c.read()?) | |
| 577 | }; | |
| 578 | let object = result.objects.get_mut(&id).ok_or(Error { offset: node.offset, message: "Reference-count override targets an undeclared object" })?; | |
| 579 | object.reference_count = value; | |
| 580 | } | |
| 581 | } | |
| 582 | override_crc = crate::store::crc( | |
| 583 | override_crc, | |
| 584 | &start[..start.len() - c.bytes.len()], | |
| 585 | self.store.header.file_type, | |
| 586 | ); | |
| 587 | let actual = if self.store.header.file_type == crate::FileType::Section { | |
| 588 | !override_crc | |
| 589 | } else { | |
| 590 | override_crc | |
| 591 | }; | |
| 592 | if expected != actual { | |
| 593 | return Err(Error { | |
| 594 | offset: node.offset, | |
| 595 | message: "Reference-count override checksum mismatch", | |
| 596 | }); | |
| 597 | } | |
| 598 | override_crc = initial_crc; | |
| 599 | } | |
| 600 | 0x7c => {} | |
| 601 | 0x8c => { | |
| 602 | signature = c.exguid()?; | |
| 603 | } | |
| 604 | 0xb8 => { | |
| 605 | in_group = false; | |
| 606 | signature = ExGuid::default(); | |
| 607 | } | |
| 608 | _ => { | |
| 609 | return Err(Error { | |
| 610 | offset: node.offset, | |
| 611 | message: "Unsupported node in a revision manifest", | |
| 612 | }); | |
| 613 | } | |
| 614 | } | |
| 615 | } | |
| 616 | if defining_table { | |
| 617 | return Err(Error { | |
| 618 | offset: 0, | |
| 619 | message: "Unterminated global identification table", | |
| 620 | }); | |
| 621 | } | |
| 622 | } | |
| 623 | Ok(result) | |
| 624 | } | |
| 625 | } |
crates/onestore/src/properties.rs created+198| ... | ... | @@ -0,0 +1,198 @@ |
| 1 | use crate::{Error, bytes::Cursor}; | |
| 2 | use std::ops::Range; | |
| 3 | ||
| 4 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] | |
| 5 | pub enum IdStream { | |
| 6 | Objects, | |
| 7 | ObjectSpaces, | |
| 8 | Contexts, | |
| 9 | } | |
| 10 | ||
| 11 | #[derive(Debug, PartialEq, Eq)] | |
| 12 | pub enum Value<'a> { | |
| 13 | NoData, | |
| 14 | Bytes(&'a [u8]), | |
| 15 | References { | |
| 16 | stream: IdStream, | |
| 17 | compact_ids: &'a [u8], | |
| 18 | }, | |
| 19 | Sets(Range<usize>), | |
| 20 | } | |
| 21 | ||
| 22 | #[derive(Debug, PartialEq, Eq)] | |
| 23 | pub struct Property<'a> { | |
| 24 | pub id: u32, | |
| 25 | pub value: Value<'a>, | |
| 26 | } | |
| 27 | ||
| 28 | /// Set zero is the root; nested sets are ranges of indices in this arena. | |
| 29 | #[derive(Debug, PartialEq, Eq)] | |
| 30 | pub struct PropertySets<'a> { | |
| 31 | pub sets: Vec<Vec<Property<'a>>>, | |
| 32 | pub(crate) padding: &'a [u8], | |
| 33 | pub(crate) root_ids: &'a [u8], | |
| 34 | } | |
| 35 | ||
| 36 | enum Work<'a> { | |
| 37 | Set(usize), | |
| 38 | Fields(usize, &'a [u8]), | |
| 39 | } | |
| 40 | ||
| 41 | impl<'a> PropertySets<'a> { | |
| 42 | pub fn parse(bytes: &'a [u8]) -> Result<Self, Error> { | |
| 43 | let mut c = Cursor { bytes, offset: 0 }; | |
| 44 | let mut streams = std::array::from_fn::<_, 3, _>(|_| Cursor { | |
| 45 | bytes: &[], | |
| 46 | offset: 0, | |
| 47 | }); | |
| 48 | let mut extended = false; | |
| 49 | for (index, stream) in streams.iter_mut().enumerate() { | |
| 50 | let header = u32::from_le_bytes(c.read()?); | |
| 51 | let count = usize::try_from(header & 0xffffff).unwrap(); | |
| 52 | if (index > 0 && header & 0x80000000 != 0) | |
| 53 | || (index == 0 && header & 0xc0000000 == 0xc0000000) | |
| 54 | || (index == 1 && (header & 0x40000000 != 0) != extended) | |
| 55 | || (index == 2 && header & 0x40000000 != 0) | |
| 56 | { | |
| 57 | return Err(Error { | |
| 58 | offset: c.offset - 4, | |
| 59 | message: "Inconsistent property reference-stream flags", | |
| 60 | }); | |
| 61 | } | |
| 62 | let offset = c.offset; | |
| 63 | *stream = Cursor { | |
| 64 | bytes: c.take(count * 4)?, | |
| 65 | offset, | |
| 66 | }; | |
| 67 | if index == 0 { | |
| 68 | extended = header & 0x40000000 != 0; | |
| 69 | if header & 0x80000000 != 0 { | |
| 70 | break; | |
| 71 | } | |
| 72 | } else if index == 1 && !extended { | |
| 73 | break; | |
| 74 | } | |
| 75 | } | |
| 76 | let mut sets = vec![Vec::new()]; | |
| 77 | let mut root_ids = &bytes[..0]; | |
| 78 | let mut work = vec![Work::Set(0)]; | |
| 79 | while let Some(item) = work.pop() { | |
| 80 | match item { | |
| 81 | Work::Set(index) => { | |
| 82 | let count = usize::from(u16::from_le_bytes(c.read()?)); | |
| 83 | let ids = c.take(count * 4)?; | |
| 84 | if index == 0 { | |
| 85 | root_ids = ids; | |
| 86 | } | |
| 87 | work.push(Work::Fields(index, ids)); | |
| 88 | } | |
| 89 | Work::Fields(index, ids) => { | |
| 90 | let Some((first, rest)) = ids.split_first_chunk::<4>() else { | |
| 91 | continue; | |
| 92 | }; | |
| 93 | let id = u32::from_le_bytes(*first); | |
| 94 | let kind = (id >> 26) & 0x1f; | |
| 95 | work.push(Work::Fields(index, rest)); | |
| 96 | let value = match kind { | |
| 97 | 1 | 2 => Value::NoData, | |
| 98 | 3..=6 => Value::Bytes(c.take(1 << (kind - 3))?), | |
| 99 | 7 => { | |
| 100 | let count = u32::from_le_bytes(c.read()?); | |
| 101 | if count >= 0x40000000 { | |
| 102 | return Err(Error { | |
| 103 | offset: c.offset - 4, | |
| 104 | message: "Property data exceeds the format length limit", | |
| 105 | }); | |
| 106 | } | |
| 107 | Value::Bytes(c.take(usize::try_from(count).unwrap())?) | |
| 108 | } | |
| 109 | 8..=13 => { | |
| 110 | let count = if kind & 1 != 0 { | |
| 111 | u32::from_le_bytes(c.read()?) | |
| 112 | } else { | |
| 113 | 1 | |
| 114 | }; | |
| 115 | let stream_index = usize::try_from((kind - 8) / 2).unwrap(); | |
| 116 | let count = usize::try_from(count) | |
| 117 | .ok() | |
| 118 | .and_then(|count| count.checked_mul(4)) | |
| 119 | .ok_or(Error { | |
| 120 | offset: c.offset, | |
| 121 | message: "Reference count exceeds address space", | |
| 122 | })?; | |
| 123 | let compact_ids = streams[stream_index].take(count)?; | |
| 124 | let stream = match stream_index { | |
| 125 | 0 => IdStream::Objects, | |
| 126 | 1 => IdStream::ObjectSpaces, | |
| 127 | _ => IdStream::Contexts, | |
| 128 | }; | |
| 129 | Value::References { | |
| 130 | stream, | |
| 131 | compact_ids, | |
| 132 | } | |
| 133 | } | |
| 134 | 16 | 17 => { | |
| 135 | let count = if kind == 16 { | |
| 136 | let count = u32::from_le_bytes(c.read()?); | |
| 137 | if count != 0 { | |
| 138 | let element = u32::from_le_bytes(c.read()?); | |
| 139 | if (element >> 26) & 0x1f != 17 { | |
| 140 | return Err(Error { | |
| 141 | offset: c.offset - 4, | |
| 142 | message: "Property array contains a non-set element type", | |
| 143 | }); | |
| 144 | } | |
| 145 | } | |
| 146 | usize::try_from(count).map_err(|_| Error { | |
| 147 | offset: c.offset, | |
| 148 | message: "Property-set count exceeds address space", | |
| 149 | })? | |
| 150 | } else { | |
| 151 | 1 | |
| 152 | }; | |
| 153 | let start = sets.len(); | |
| 154 | let end = start | |
| 155 | .checked_add(count) | |
| 156 | .filter(|end| *end <= bytes.len() / 2) | |
| 157 | .ok_or(Error { | |
| 158 | offset: c.offset, | |
| 159 | message: "Property-set count exceeds the available data", | |
| 160 | })?; | |
| 161 | sets.resize_with(end, Vec::new); | |
| 162 | for child in (start..end).rev() { | |
| 163 | work.push(Work::Set(child)); | |
| 164 | } | |
| 165 | Value::Sets(start..end) | |
| 166 | } | |
| 167 | _ => { | |
| 168 | return Err(Error { | |
| 169 | offset: c.offset, | |
| 170 | message: "Unsupported property type", | |
| 171 | }); | |
| 172 | } | |
| 173 | }; | |
| 174 | sets[index].push(Property { id, value }); | |
| 175 | } | |
| 176 | } | |
| 177 | } | |
| 178 | for stream in streams { | |
| 179 | if !stream.bytes.is_empty() { | |
| 180 | return Err(Error { | |
| 181 | offset: stream.offset, | |
| 182 | message: "Unconsumed property references", | |
| 183 | }); | |
| 184 | } | |
| 185 | } | |
| 186 | if !c.bytes.is_empty() && (c.bytes.len() > 7 || !bytes.len().is_multiple_of(8)) { | |
| 187 | return Err(Error { | |
| 188 | offset: c.offset, | |
| 189 | message: "Trailing data exceeds property-set padding", | |
| 190 | }); | |
| 191 | } | |
| 192 | Ok(Self { | |
| 193 | sets, | |
| 194 | padding: c.bytes, | |
| 195 | root_ids, | |
| 196 | }) | |
| 197 | } | |
| 198 | } |
crates/onestore/src/revisions.rs created+354| ... | ... | @@ -0,0 +1,354 @@ |
| 1 | use crate::{Error, FileType, Node, Reference, Store, bytes::Cursor}; | |
| 2 | use std::{collections::BTreeMap, fmt}; | |
| 3 | ||
| 4 | type Result<T> = std::result::Result<T, Error>; | |
| 5 | ||
| 6 | #[derive(Debug, Default, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] | |
| 7 | pub struct ExGuid { | |
| 8 | pub guid: [u8; 16], | |
| 9 | pub n: u32, | |
| 10 | } | |
| 11 | ||
| 12 | impl fmt::Display for ExGuid { | |
| 13 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | |
| 14 | let g = &self.guid; | |
| 15 | write!( | |
| 16 | f, | |
| 17 | "{{{:08X}-{:04X}-{:04X}-{:02X}{:02X}-{:02X}{:02X}{:02X}{:02X}{:02X}{:02X}}},{}", | |
| 18 | u32::from_le_bytes(g[..4].try_into().unwrap()), | |
| 19 | u16::from_le_bytes(g[4..6].try_into().unwrap()), | |
| 20 | u16::from_le_bytes(g[6..8].try_into().unwrap()), | |
| 21 | g[8], | |
| 22 | g[9], | |
| 23 | g[10], | |
| 24 | g[11], | |
| 25 | g[12], | |
| 26 | g[13], | |
| 27 | g[14], | |
| 28 | g[15], | |
| 29 | self.n | |
| 30 | ) | |
| 31 | } | |
| 32 | } | |
| 33 | ||
| 34 | impl serde::Serialize for ExGuid { | |
| 35 | fn serialize<S: serde::Serializer>( | |
| 36 | &self, | |
| 37 | serializer: S, | |
| 38 | ) -> std::result::Result<S::Ok, S::Error> { | |
| 39 | serializer.collect_str(self) | |
| 40 | } | |
| 41 | } | |
| 42 | ||
| 43 | impl Cursor<'_> { | |
| 44 | pub(crate) fn exguid(&mut self) -> Result<ExGuid> { | |
| 45 | let id = ExGuid { | |
| 46 | guid: self.read()?, | |
| 47 | n: u32::from_le_bytes(self.read()?), | |
| 48 | }; | |
| 49 | if id.guid == [0; 16] && id.n != 0 { | |
| 50 | return Err(Error { | |
| 51 | offset: self.offset - 20, | |
| 52 | message: "Zero GUID has a nonzero extension", | |
| 53 | }); | |
| 54 | } | |
| 55 | Ok(id) | |
| 56 | } | |
| 57 | } | |
| 58 | ||
| 59 | impl<'a> Node<'a> { | |
| 60 | pub(crate) fn fields(&self, store: &Store<'a>) -> Cursor<'a> { | |
| 61 | Cursor { | |
| 62 | bytes: self.payload, | |
| 63 | offset: self | |
| 64 | .payload | |
| 65 | .as_ptr() | |
| 66 | .addr() | |
| 67 | .checked_sub(store.data.as_ptr().addr()) | |
| 68 | .filter(|offset| *offset <= store.data.len()) | |
| 69 | .unwrap_or(self.offset), | |
| 70 | } | |
| 71 | } | |
| 72 | ||
| 73 | pub(crate) fn referenced_list<'s>(&self, store: &'s Store<'a>) -> Result<&'s [Node<'a>]> { | |
| 74 | let Some(Reference::NodeList(chunk)) = self.reference else { | |
| 75 | return Err(Error { | |
| 76 | offset: self.offset, | |
| 77 | message: "Node requires a file-node list reference", | |
| 78 | }); | |
| 79 | }; | |
| 80 | Ok(&store.list(chunk)?.nodes) | |
| 81 | } | |
| 82 | } | |
| 83 | ||
| 84 | #[derive(Debug)] | |
| 85 | pub struct Revision<'a> { | |
| 86 | pub dependency: Option<ExGuid>, | |
| 87 | pub encrypted: bool, | |
| 88 | pub nodes: &'a [Node<'a>], | |
| 89 | } | |
| 90 | ||
| 91 | #[derive(Debug)] | |
| 92 | pub struct ObjectSpace<'a> { | |
| 93 | pub revisions: BTreeMap<ExGuid, Revision<'a>>, | |
| 94 | pub labels: BTreeMap<(ExGuid, u32), ExGuid>, | |
| 95 | } | |
| 96 | ||
| 97 | #[derive(Debug)] | |
| 98 | pub struct RevisionIndex<'a> { | |
| 99 | pub root: ExGuid, | |
| 100 | pub spaces: BTreeMap<ExGuid, ObjectSpace<'a>>, | |
| 101 | pub(crate) store: &'a Store<'a>, | |
| 102 | } | |
| 103 | ||
| 104 | impl<'a> RevisionIndex<'a> { | |
| 105 | pub fn parse(store: &'a Store<'a>) -> Result<Self> { | |
| 106 | let mut root = None; | |
| 107 | let mut spaces = BTreeMap::new(); | |
| 108 | for node in &store.list(store.header.root)?.nodes { | |
| 109 | match node.id { | |
| 110 | 4 => { | |
| 111 | let id = node.fields(store).exguid()?; | |
| 112 | if !spaces.contains_key(&id) { | |
| 113 | return Err(Error { | |
| 114 | offset: node.offset, | |
| 115 | message: "Root object space is referenced before its declaration", | |
| 116 | }); | |
| 117 | } | |
| 118 | if root.replace(id).is_some() { | |
| 119 | return Err(Error { | |
| 120 | offset: node.offset, | |
| 121 | message: "Multiple root object spaces", | |
| 122 | }); | |
| 123 | } | |
| 124 | } | |
| 125 | 8 => { | |
| 126 | let id = node.fields(store).exguid()?; | |
| 127 | let manifest = node.referenced_list(store)?; | |
| 128 | let Some(first) = manifest.first() else { | |
| 129 | return Err(Error { | |
| 130 | offset: node.offset, | |
| 131 | message: "Empty object-space manifest", | |
| 132 | }); | |
| 133 | }; | |
| 134 | if id == ExGuid::default() | |
| 135 | || first.id != 0xc | |
| 136 | || first.fields(store).exguid()? != id | |
| 137 | { | |
| 138 | return Err(Error { | |
| 139 | offset: first.offset, | |
| 140 | message: "Object-space identity does not match its manifest", | |
| 141 | }); | |
| 142 | } | |
| 143 | let last = manifest.iter().rfind(|node| node.id == 0x10).ok_or(Error { | |
| 144 | offset: first.offset, | |
| 145 | message: "Object space has no revision manifest list", | |
| 146 | })?; | |
| 147 | let nodes = last.referenced_list(store)?; | |
| 148 | let Some(first) = nodes.first() else { | |
| 149 | return Err(Error { | |
| 150 | offset: last.offset, | |
| 151 | message: "Empty revision manifest list", | |
| 152 | }); | |
| 153 | }; | |
| 154 | if first.id != 0x14 || first.fields(store).exguid()? != id { | |
| 155 | return Err(Error { | |
| 156 | offset: first.offset, | |
| 157 | message: "Revision list belongs to a different object space", | |
| 158 | }); | |
| 159 | } | |
| 160 | let mut revisions: BTreeMap<ExGuid, Revision<'a>> = BTreeMap::new(); | |
| 161 | let mut labels = BTreeMap::new(); | |
| 162 | let mut encryption_data = None; | |
| 163 | let mut position = 1; | |
| 164 | while position < nodes.len() { | |
| 165 | let node = &nodes[position]; | |
| 166 | let mut c = node.fields(store); | |
| 167 | match node.id { | |
| 168 | 0x1b | 0x1e | 0x1f => { | |
| 169 | if (node.id == 0x1b) | |
| 170 | != (store.header.file_type == FileType::TableOfContents) | |
| 171 | { | |
| 172 | return Err(Error { | |
| 173 | offset: node.offset, | |
| 174 | message: "Revision encoding does not match the file type", | |
| 175 | }); | |
| 176 | } | |
| 177 | let rid = c.exguid()?; | |
| 178 | let dependency = c.exguid()?; | |
| 179 | if node.id == 0x1b { | |
| 180 | c.take(8)?; | |
| 181 | } | |
| 182 | let role = u32::from_le_bytes(c.read()?); | |
| 183 | let encoding = u16::from_le_bytes(c.read()?); | |
| 184 | let context = if node.id == 0x1f { | |
| 185 | c.exguid()? | |
| 186 | } else { | |
| 187 | ExGuid::default() | |
| 188 | }; | |
| 189 | if rid == ExGuid::default() | |
| 190 | || role > 0xffff | |
| 191 | || !matches!(encoding, 0 | 2) | |
| 192 | || (node.id == 0x1b && encoding != 0) | |
| 193 | { | |
| 194 | return Err(Error { | |
| 195 | offset: node.offset, | |
| 196 | message: "Invalid revision identity, role, or encoding", | |
| 197 | }); | |
| 198 | } | |
| 199 | let dependency = if dependency == ExGuid::default() { | |
| 200 | None | |
| 201 | } else { | |
| 202 | let previous = revisions.get(&dependency).ok_or(Error { | |
| 203 | offset: node.offset, | |
| 204 | message: "Revision dependency is not an earlier revision", | |
| 205 | })?; | |
| 206 | if previous.encrypted != (encoding == 2) { | |
| 207 | return Err(Error { | |
| 208 | offset: node.offset, | |
| 209 | message: "Revision changes its dependency's encryption mode", | |
| 210 | }); | |
| 211 | } | |
| 212 | Some(dependency) | |
| 213 | }; | |
| 214 | let start = position + 1; | |
| 215 | position = start; | |
| 216 | while position < nodes.len() && nodes[position].id != 0x1c { | |
| 217 | if matches!( | |
| 218 | nodes[position].id, | |
| 219 | 0x1b | 0x1e | 0x1f | 0x5c | 0x5d | |
| 220 | ) { | |
| 221 | return Err(Error { | |
| 222 | offset: nodes[position].offset, | |
| 223 | message: "Unterminated revision manifest", | |
| 224 | }); | |
| 225 | } | |
| 226 | position += 1; | |
| 227 | } | |
| 228 | if position == nodes.len() { | |
| 229 | return Err(Error { | |
| 230 | offset: node.offset, | |
| 231 | message: "Unterminated revision manifest", | |
| 232 | }); | |
| 233 | } | |
| 234 | let body = &nodes[start..position]; | |
| 235 | for (position, item) in body.iter().enumerate() { | |
| 236 | if item.id == 0xb0 | |
| 237 | && body.get(position + 1).is_none_or(|next| next.id != 0x84) | |
| 238 | { | |
| 239 | return Err(Error { | |
| 240 | offset: item.offset, | |
| 241 | message: "Object group lacks its dependency overrides", | |
| 242 | }); | |
| 243 | } | |
| 244 | } | |
| 245 | if (encoding == 2) | |
| 246 | != body.first().is_some_and(|node| node.id == 0x7c) | |
| 247 | { | |
| 248 | return Err(Error { | |
| 249 | offset: node.offset, | |
| 250 | message: "Revision encryption key does not match its encoding", | |
| 251 | }); | |
| 252 | } | |
| 253 | if revisions | |
| 254 | .values() | |
| 255 | .next() | |
| 256 | .is_some_and(|previous| previous.encrypted != (encoding == 2)) | |
| 257 | { | |
| 258 | return Err(Error { | |
| 259 | offset: node.offset, | |
| 260 | message: "Object space mixes encrypted and unencrypted revisions", | |
| 261 | }); | |
| 262 | } | |
| 263 | if encoding == 2 { | |
| 264 | let key = &body[0]; | |
| 265 | let Some(Reference::Data(chunk)) = key.reference else { | |
| 266 | return Err(Error { | |
| 267 | offset: key.offset, | |
| 268 | message: "Encryption key lacks a data reference", | |
| 269 | }); | |
| 270 | }; | |
| 271 | let data = store.encryption_key(chunk)?; | |
| 272 | if encryption_data | |
| 273 | .replace(data) | |
| 274 | .is_some_and(|previous| previous != data) | |
| 275 | { | |
| 276 | return Err(Error { | |
| 277 | offset: key.offset, | |
| 278 | message: "Object space changes its encryption key", | |
| 279 | }); | |
| 280 | } | |
| 281 | } | |
| 282 | if revisions | |
| 283 | .insert( | |
| 284 | rid, | |
| 285 | Revision { | |
| 286 | dependency, | |
| 287 | encrypted: encoding == 2, | |
| 288 | nodes: body, | |
| 289 | }, | |
| 290 | ) | |
| 291 | .is_some() | |
| 292 | { | |
| 293 | return Err(Error { | |
| 294 | offset: node.offset, | |
| 295 | message: "Duplicate revision identity", | |
| 296 | }); | |
| 297 | } | |
| 298 | labels.insert((context, role), rid); | |
| 299 | } | |
| 300 | 0x5c | 0x5d => { | |
| 301 | let rid = c.exguid()?; | |
| 302 | let role = u32::from_le_bytes(c.read()?); | |
| 303 | let context = if node.id == 0x5d { | |
| 304 | c.exguid()? | |
| 305 | } else { | |
| 306 | ExGuid::default() | |
| 307 | }; | |
| 308 | if !revisions.contains_key(&rid) || role > 0xffff { | |
| 309 | return Err(Error { | |
| 310 | offset: node.offset, | |
| 311 | message: "Revision label has an invalid target or role", | |
| 312 | }); | |
| 313 | } | |
| 314 | labels.insert((context, role), rid); | |
| 315 | } | |
| 316 | _ => { | |
| 317 | return Err(Error { | |
| 318 | offset: node.offset, | |
| 319 | message: "Unexpected node between revision manifests", | |
| 320 | }); | |
| 321 | } | |
| 322 | } | |
| 323 | position += 1; | |
| 324 | } | |
| 325 | if spaces | |
| 326 | .insert(id, ObjectSpace { revisions, labels }) | |
| 327 | .is_some() | |
| 328 | { | |
| 329 | return Err(Error { | |
| 330 | offset: node.offset, | |
| 331 | message: "Duplicate object-space identity", | |
| 332 | }); | |
| 333 | } | |
| 334 | } | |
| 335 | 0x90 => {} | |
| 336 | _ => { | |
| 337 | return Err(Error { | |
| 338 | offset: node.offset, | |
| 339 | message: "Unexpected node in the root file-node list", | |
| 340 | }); | |
| 341 | } | |
| 342 | } | |
| 343 | } | |
| 344 | let root = root.filter(|id| spaces.contains_key(id)).ok_or(Error { | |
| 345 | offset: 172, | |
| 346 | message: "Root object space is not declared", | |
| 347 | })?; | |
| 348 | Ok(Self { | |
| 349 | root, | |
| 350 | spaces, | |
| 351 | store, | |
| 352 | }) | |
| 353 | } | |
| 354 | } |
crates/onestore/src/store.rs created+531| ... | ... | @@ -0,0 +1,531 @@ |
| 1 | use crate::bytes::Cursor; | |
| 2 | use std::collections::{BTreeMap, BTreeSet}; | |
| 3 | use std::fmt; | |
| 4 | use std::ops::Range; | |
| 5 | ||
| 6 | #[derive(Debug, Clone, PartialEq, Eq)] | |
| 7 | pub struct Error { | |
| 8 | /// Parser byte offset; zero also represents errors without a byte location. | |
| 9 | pub offset: usize, | |
| 10 | /// Diagnostic text, not a stable machine-readable error code. | |
| 11 | pub message: &'static str, | |
| 12 | } | |
| 13 | ||
| 14 | impl fmt::Display for Error { | |
| 15 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { | |
| 16 | write!(f, "{} at byte {:#x}", self.message, self.offset) | |
| 17 | } | |
| 18 | } | |
| 19 | ||
| 20 | impl std::error::Error for Error {} | |
| 21 | ||
| 22 | type Result<T> = std::result::Result<T, Error>; | |
| 23 | ||
| 24 | impl Cursor<'_> { | |
| 25 | fn chunk(&mut self) -> Result<Chunk> { | |
| 26 | Ok(Chunk { | |
| 27 | offset: u64::from_le_bytes(self.read()?), | |
| 28 | length: u64::from(u32::from_le_bytes(self.read()?)), | |
| 29 | }) | |
| 30 | } | |
| 31 | } | |
| 32 | ||
| 33 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] | |
| 34 | pub enum FileType { | |
| 35 | Section, | |
| 36 | TableOfContents, | |
| 37 | } | |
| 38 | ||
| 39 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] | |
| 40 | pub struct Chunk { | |
| 41 | pub offset: u64, | |
| 42 | pub length: u64, | |
| 43 | } | |
| 44 | ||
| 45 | impl Chunk { | |
| 46 | pub(crate) fn absent(self) -> bool { | |
| 47 | self.length == 0 && (self.offset == 0 || self.offset == u64::MAX) | |
| 48 | } | |
| 49 | ||
| 50 | fn range(self, data: &[u8]) -> Result<Range<usize>> { | |
| 51 | let start = usize::try_from(self.offset).map_err(|_| Error { | |
| 52 | offset: 0, | |
| 53 | message: "Chunk offset exceeds address space", | |
| 54 | })?; | |
| 55 | let size = usize::try_from(self.length).map_err(|_| Error { | |
| 56 | offset: start, | |
| 57 | message: "Chunk length exceeds address space", | |
| 58 | })?; | |
| 59 | let end = start.checked_add(size).filter(|end| *end <= data.len()); | |
| 60 | match end { | |
| 61 | Some(end) if start >= 1024 && end > start => Ok(start..end), | |
| 62 | _ => Err(Error { | |
| 63 | offset: start, | |
| 64 | message: "Chunk extends outside the data area", | |
| 65 | }), | |
| 66 | } | |
| 67 | } | |
| 68 | } | |
| 69 | ||
| 70 | #[derive(Debug)] | |
| 71 | pub struct Header { | |
| 72 | pub file_type: FileType, | |
| 73 | pub file_id: [u8; 16], | |
| 74 | pub transaction_count: u32, | |
| 75 | pub expected_length: u64, | |
| 76 | pub version_id: [u8; 16], | |
| 77 | pub generation: u64, | |
| 78 | pub deny_read_id: [u8; 16], | |
| 79 | pub transaction_log: Chunk, | |
| 80 | pub root: Chunk, | |
| 81 | pub hashed_chunks: Chunk, | |
| 82 | } | |
| 83 | ||
| 84 | impl Header { | |
| 85 | fn parse(data: &[u8]) -> Result<Self> { | |
| 86 | let mut c = Cursor { | |
| 87 | bytes: data, | |
| 88 | offset: 0, | |
| 89 | }; | |
| 90 | let bytes = c.take(1024)?; | |
| 91 | let mut c = Cursor { bytes, offset: 0 }; | |
| 92 | let file_type = match c.read()? { | |
| 93 | [ | |
| 94 | 0xe4, | |
| 95 | 0x52, | |
| 96 | 0x5c, | |
| 97 | 0x7b, | |
| 98 | 0x8c, | |
| 99 | 0xd8, | |
| 100 | 0xa7, | |
| 101 | 0x4d, | |
| 102 | 0xae, | |
| 103 | 0xb1, | |
| 104 | 0x53, | |
| 105 | 0x78, | |
| 106 | 0xd0, | |
| 107 | 0x29, | |
| 108 | 0x96, | |
| 109 | 0xd3, | |
| 110 | ] => FileType::Section, | |
| 111 | [ | |
| 112 | 0xa1, | |
| 113 | 0x2f, | |
| 114 | 0xff, | |
| 115 | 0x43, | |
| 116 | 0xd9, | |
| 117 | 0xef, | |
| 118 | 0x76, | |
| 119 | 0x4c, | |
| 120 | 0x9e, | |
| 121 | 0xe2, | |
| 122 | 0x10, | |
| 123 | 0xea, | |
| 124 | 0x57, | |
| 125 | 0x22, | |
| 126 | 0x76, | |
| 127 | 0x5f, | |
| 128 | ] => FileType::TableOfContents, | |
| 129 | _ => { | |
| 130 | return Err(Error { | |
| 131 | offset: 0, | |
| 132 | message: "Unrecognized revision-store file type", | |
| 133 | }); | |
| 134 | } | |
| 135 | }; | |
| 136 | let file_id = c.read()?; | |
| 137 | c.take(16)?; | |
| 138 | if c.read::<16>()? | |
| 139 | != [ | |
| 140 | 0x3f, 0xdd, 0x9a, 0x10, 0x1b, 0x91, 0xf5, 0x49, 0xa5, 0xd0, 0x17, 0x91, 0xed, 0xc8, | |
| 141 | 0xae, 0xd8, | |
| 142 | ] | |
| 143 | { | |
| 144 | return Err(Error { | |
| 145 | offset: 48, | |
| 146 | message: "Unrecognized revision-store format", | |
| 147 | }); | |
| 148 | } | |
| 149 | c.take(12)?; | |
| 150 | let version = u32::from_le_bytes(c.read()?); | |
| 151 | let supported = match file_type { | |
| 152 | FileType::Section => 0x2a, | |
| 153 | FileType::TableOfContents => 0x1b, | |
| 154 | }; | |
| 155 | if version != supported { | |
| 156 | return Err(Error { | |
| 157 | offset: 76, | |
| 158 | message: "Unsupported file-format version", | |
| 159 | }); | |
| 160 | } | |
| 161 | c.take(16)?; | |
| 162 | let transaction_count = u32::from_le_bytes(c.read()?); | |
| 163 | if transaction_count == 0 { | |
| 164 | return Err(Error { | |
| 165 | offset: 96, | |
| 166 | message: "Missing committed transaction", | |
| 167 | }); | |
| 168 | } | |
| 169 | c.take(48)?; | |
| 170 | let hashed_chunks = c.chunk()?; | |
| 171 | let transaction_log = c.chunk()?; | |
| 172 | let root = c.chunk()?; | |
| 173 | c.take(12)?; | |
| 174 | let expected_length = u64::from_le_bytes(c.read()?); | |
| 175 | c.take(8)?; | |
| 176 | let version_id = c.read()?; | |
| 177 | let generation = u64::from_le_bytes(c.read()?); | |
| 178 | let deny_read_id = c.read()?; | |
| 179 | Ok(Self { | |
| 180 | file_type, | |
| 181 | file_id, | |
| 182 | transaction_count, | |
| 183 | expected_length, | |
| 184 | version_id, | |
| 185 | generation, | |
| 186 | deny_read_id, | |
| 187 | transaction_log, | |
| 188 | root, | |
| 189 | hashed_chunks, | |
| 190 | }) | |
| 191 | } | |
| 192 | } | |
| 193 | ||
| 194 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] | |
| 195 | pub enum Reference { | |
| 196 | Data(Chunk), | |
| 197 | NodeList(Chunk), | |
| 198 | } | |
| 199 | ||
| 200 | #[derive(Debug)] | |
| 201 | pub struct Node<'a> { | |
| 202 | pub id: u16, | |
| 203 | pub offset: usize, | |
| 204 | pub payload: &'a [u8], | |
| 205 | pub reference: Option<Reference>, | |
| 206 | } | |
| 207 | ||
| 208 | #[derive(Debug)] | |
| 209 | pub struct NodeList<'a> { | |
| 210 | pub fragments: Vec<Chunk>, | |
| 211 | pub nodes: Vec<Node<'a>>, | |
| 212 | } | |
| 213 | ||
| 214 | #[derive(Debug)] | |
| 215 | pub(crate) struct TransactionFragment<'a> { | |
| 216 | pub chunk: Chunk, | |
| 217 | pub entries: &'a [u8], | |
| 218 | } | |
| 219 | ||
| 220 | #[derive(Debug)] | |
| 221 | pub struct Store<'a> { | |
| 222 | pub(crate) data: &'a [u8], | |
| 223 | pub(crate) transaction_fragments: Vec<TransactionFragment<'a>>, | |
| 224 | pub header: Header, | |
| 225 | pub lists: BTreeMap<u32, NodeList<'a>>, | |
| 226 | pub checksum_mismatches: Vec<usize>, | |
| 227 | } | |
| 228 | ||
| 229 | fn claim(occupied: &mut BTreeMap<usize, usize>, range: Range<usize>) -> Result<()> { | |
| 230 | if occupied | |
| 231 | .range(..range.end) | |
| 232 | .next_back() | |
| 233 | .is_some_and(|(_, end)| *end > range.start) | |
| 234 | { | |
| 235 | return Err(Error { | |
| 236 | offset: range.start, | |
| 237 | message: "Overlapping structural chunks or a reference cycle", | |
| 238 | }); | |
| 239 | } | |
| 240 | occupied.insert(range.start, range.end); | |
| 241 | Ok(()) | |
| 242 | } | |
| 243 | ||
| 244 | pub(crate) fn crc(mut value: u32, bytes: &[u8], file_type: FileType) -> u32 { | |
| 245 | for byte in bytes { | |
| 246 | match file_type { | |
| 247 | FileType::Section => { | |
| 248 | value ^= u32::from(*byte); | |
| 249 | for _ in 0..8 { | |
| 250 | value = (value >> 1) ^ if value & 1 != 0 { 0xedb88320 } else { 0 }; | |
| 251 | } | |
| 252 | } | |
| 253 | FileType::TableOfContents => { | |
| 254 | let mut entry = ((value >> 24) ^ u32::from(*byte)) << 24; | |
| 255 | for _ in 0..8 { | |
| 256 | entry = (entry << 1) ^ if entry & 0x80000000 != 0 { 0xaf } else { 0 }; | |
| 257 | } | |
| 258 | value = (value << 8) ^ (entry & 0xffff); | |
| 259 | } | |
| 260 | } | |
| 261 | } | |
| 262 | value | |
| 263 | } | |
| 264 | ||
| 265 | pub(crate) fn transaction_crc(value: u32, bytes: &[u8], file_type: FileType, full: bool) -> u32 { | |
| 266 | // OneNote excludes the entry flushed at a TOC fragment boundary (MS-ONESTORE 2.3.3.2 note 8). | |
| 267 | let bytes = if full && file_type == FileType::TableOfContents { | |
| 268 | &bytes[..bytes.len().saturating_sub(8)] | |
| 269 | } else { | |
| 270 | bytes | |
| 271 | }; | |
| 272 | crc(value, bytes, file_type) | |
| 273 | } | |
| 274 | ||
| 275 | impl<'a> Store<'a> { | |
| 276 | /// Parses committed storage while retaining checksum mismatches for diagnostic inspection. | |
| 277 | pub fn parse(data: &'a [u8]) -> Result<Self> { | |
| 278 | let header = Header::parse(data)?; | |
| 279 | let mut occupied = BTreeMap::new(); | |
| 280 | let mut counts = BTreeMap::new(); | |
| 281 | let mut checksum_mismatches = Vec::new(); | |
| 282 | let mut chunk = header.transaction_log; | |
| 283 | let initial_crc = if header.file_type == FileType::Section { | |
| 284 | u32::MAX | |
| 285 | } else { | |
| 286 | 0 | |
| 287 | }; | |
| 288 | let mut checksum = initial_crc; | |
| 289 | let mut committed = 0; | |
| 290 | let mut transaction_fragments = Vec::new(); | |
| 291 | while committed < header.transaction_count { | |
| 292 | let current_chunk = chunk; | |
| 293 | let range = chunk.range(data)?; | |
| 294 | claim(&mut occupied, range.clone())?; | |
| 295 | let mut c = Cursor { | |
| 296 | bytes: &data[range.clone()], | |
| 297 | offset: range.start, | |
| 298 | }; | |
| 299 | let end = loop { | |
| 300 | if committed == header.transaction_count { | |
| 301 | break c.offset; | |
| 302 | } | |
| 303 | if (12..20).contains(&c.bytes.len()) { | |
| 304 | let end = c.offset; | |
| 305 | chunk = c.chunk()?; | |
| 306 | break end; | |
| 307 | } | |
| 308 | let offset = c.offset; | |
| 309 | let entry = c.take(8)?; | |
| 310 | let id = u32::from_le_bytes(entry[..4].try_into().unwrap()); | |
| 311 | let value = u32::from_le_bytes(entry[4..].try_into().unwrap()); | |
| 312 | if id == 1 { | |
| 313 | let expected = if header.file_type == FileType::Section { | |
| 314 | !checksum | |
| 315 | } else { | |
| 316 | checksum | |
| 317 | }; | |
| 318 | if value != expected { | |
| 319 | checksum_mismatches.push(offset); | |
| 320 | } | |
| 321 | committed += 1; | |
| 322 | } else { | |
| 323 | if id < 0x10 || counts.get(&id).is_some_and(|previous| *previous > value) { | |
| 324 | return Err(Error { | |
| 325 | offset, | |
| 326 | message: "Incorrect file-node count in transaction log", | |
| 327 | }); | |
| 328 | } | |
| 329 | counts.insert(id, value); | |
| 330 | } | |
| 331 | checksum = transaction_crc(checksum, entry, header.file_type, c.bytes.len() < 20); | |
| 332 | }; | |
| 333 | transaction_fragments.push(TransactionFragment { | |
| 334 | chunk: current_chunk, | |
| 335 | entries: &data[range.start..end], | |
| 336 | }); | |
| 337 | } | |
| 338 | let mut pending = vec![header.root]; | |
| 339 | if !header.hashed_chunks.absent() { | |
| 340 | pending.push(header.hashed_chunks); | |
| 341 | } | |
| 342 | let mut lists = BTreeMap::new(); | |
| 343 | let mut list_ids = BTreeSet::new(); | |
| 344 | while let Some(mut chunk) = pending.pop() { | |
| 345 | let mut nodes = Vec::new(); | |
| 346 | let mut fragments = Vec::new(); | |
| 347 | let mut list_id = None; | |
| 348 | let mut required = 0; | |
| 349 | loop { | |
| 350 | let range = chunk.range(data)?; | |
| 351 | claim(&mut occupied, range.clone())?; | |
| 352 | if range.len() < 36 { | |
| 353 | return Err(Error { | |
| 354 | offset: range.start, | |
| 355 | message: "Truncated file-node fragment", | |
| 356 | }); | |
| 357 | } | |
| 358 | let mut c = Cursor { | |
| 359 | bytes: &data[range.clone()], | |
| 360 | offset: range.start, | |
| 361 | }; | |
| 362 | if u64::from_le_bytes(c.read()?) != 0xa4567ab1f5f7f4c4 { | |
| 363 | return Err(Error { | |
| 364 | offset: range.start, | |
| 365 | message: "Incorrect file-node fragment signature", | |
| 366 | }); | |
| 367 | } | |
| 368 | let id = u32::from_le_bytes(c.read()?); | |
| 369 | let sequence = u32::from_le_bytes(c.read()?); | |
| 370 | if usize::try_from(sequence).ok() != Some(fragments.len()) | |
| 371 | || list_id.is_some_and(|previous| id != previous) | |
| 372 | { | |
| 373 | return Err(Error { | |
| 374 | offset: range.start + 8, | |
| 375 | message: "Incorrect file-node fragment sequence", | |
| 376 | }); | |
| 377 | } | |
| 378 | if list_id.is_none() { | |
| 379 | if !list_ids.insert(id) { | |
| 380 | return Err(Error { | |
| 381 | offset: range.start + 8, | |
| 382 | message: "Duplicate file-node list identity", | |
| 383 | }); | |
| 384 | } | |
| 385 | required = usize::try_from(*counts.get(&id).ok_or(Error { | |
| 386 | offset: range.start + 8, | |
| 387 | message: "File-node list is absent from the transaction log", | |
| 388 | })?) | |
| 389 | .map_err(|_| Error { | |
| 390 | offset: range.start + 8, | |
| 391 | message: "File-node count exceeds address space", | |
| 392 | })?; | |
| 393 | list_id = Some(id); | |
| 394 | } | |
| 395 | let mut tail = Cursor { | |
| 396 | bytes: &data[range.end - 20..range.end], | |
| 397 | offset: range.end - 20, | |
| 398 | }; | |
| 399 | let next = tail.chunk()?; | |
| 400 | if u64::from_le_bytes(tail.read()?) != 0x8bc215c38233ba4b { | |
| 401 | return Err(Error { | |
| 402 | offset: range.end - 8, | |
| 403 | message: "Incorrect file-node fragment footer", | |
| 404 | }); | |
| 405 | } | |
| 406 | c.bytes = &data[range.start + 16..range.end - 20]; | |
| 407 | while nodes.len() < required && c.bytes.len() >= 4 { | |
| 408 | let offset = c.offset; | |
| 409 | let raw = u32::from_le_bytes(c.read()?); | |
| 410 | let size = usize::try_from((raw >> 10) & 0x1fff).unwrap(); | |
| 411 | if size < 4 { | |
| 412 | return Err(Error { | |
| 413 | offset, | |
| 414 | message: "File node is shorter than its header", | |
| 415 | }); | |
| 416 | } | |
| 417 | let id = u16::try_from(raw & 0x3ff).unwrap(); | |
| 418 | let body = c.take(size - 4)?; | |
| 419 | if id == 0xff { | |
| 420 | break; | |
| 421 | } | |
| 422 | let mut fields = Cursor { | |
| 423 | bytes: body, | |
| 424 | offset: offset + 4, | |
| 425 | }; | |
| 426 | let reference = match (raw >> 27) & 0xf { | |
| 427 | 0 => None, | |
| 428 | base @ (1 | 2) => { | |
| 429 | let (stp, nil, shift) = match (raw >> 23) & 3 { | |
| 430 | 0 => (u64::from_le_bytes(fields.read()?), u64::MAX, 0), | |
| 431 | 1 => ( | |
| 432 | u64::from(u32::from_le_bytes(fields.read()?)), | |
| 433 | u64::from(u32::MAX), | |
| 434 | 0, | |
| 435 | ), | |
| 436 | 2 => ( | |
| 437 | u64::from(u16::from_le_bytes(fields.read()?)), | |
| 438 | u64::from(u16::MAX), | |
| 439 | 3, | |
| 440 | ), | |
| 441 | 3 => ( | |
| 442 | u64::from(u32::from_le_bytes(fields.read()?)), | |
| 443 | u64::from(u32::MAX), | |
| 444 | 3, | |
| 445 | ), | |
| 446 | _ => unreachable!(), | |
| 447 | }; | |
| 448 | let cb = match (raw >> 25) & 3 { | |
| 449 | 0 => u64::from(u32::from_le_bytes(fields.read()?)), | |
| 450 | 1 => u64::from_le_bytes(fields.read()?), | |
| 451 | 2 => u64::from(fields.read::<1>()?[0]) * 8, | |
| 452 | 3 => u64::from(u16::from_le_bytes(fields.read()?)) * 8, | |
| 453 | _ => unreachable!(), | |
| 454 | }; | |
| 455 | let reference = Chunk { | |
| 456 | offset: if cb == 0 && stp == nil { | |
| 457 | u64::MAX | |
| 458 | } else { | |
| 459 | stp << shift | |
| 460 | }, | |
| 461 | length: cb, | |
| 462 | }; | |
| 463 | if base == 1 { | |
| 464 | if !reference.absent() { | |
| 465 | reference.range(data)?; | |
| 466 | } | |
| 467 | Some(Reference::Data(reference)) | |
| 468 | } else { | |
| 469 | Some(Reference::NodeList(reference)) | |
| 470 | } | |
| 471 | } | |
| 472 | _ => { | |
| 473 | return Err(Error { | |
| 474 | offset, | |
| 475 | message: "Unsupported file-node base type", | |
| 476 | }); | |
| 477 | } | |
| 478 | }; | |
| 479 | nodes.push(Node { | |
| 480 | id, | |
| 481 | offset, | |
| 482 | payload: fields.bytes, | |
| 483 | reference, | |
| 484 | }); | |
| 485 | } | |
| 486 | fragments.push(chunk); | |
| 487 | if nodes.len() == required { | |
| 488 | break; | |
| 489 | } | |
| 490 | chunk = next; | |
| 491 | } | |
| 492 | let last_revision_list = nodes.iter().rposition(|node| node.id == 0x10); | |
| 493 | for (index, node) in nodes.iter().enumerate() { | |
| 494 | if let Some(Reference::NodeList(reference)) = node.reference | |
| 495 | && (node.id != 0x10 || Some(index) == last_revision_list) | |
| 496 | { | |
| 497 | pending.push(reference); | |
| 498 | } | |
| 499 | } | |
| 500 | lists.insert(list_id.unwrap(), NodeList { fragments, nodes }); | |
| 501 | } | |
| 502 | Ok(Self { | |
| 503 | data, | |
| 504 | transaction_fragments, | |
| 505 | header, | |
| 506 | lists, | |
| 507 | checksum_mismatches, | |
| 508 | }) | |
| 509 | } | |
| 510 | ||
| 511 | pub fn chunk_data(&self, chunk: Chunk) -> Result<&'a [u8]> { | |
| 512 | Ok(&self.data[chunk.range(self.data)?]) | |
| 513 | } | |
| 514 | ||
| 515 | pub(crate) fn list(&self, chunk: Chunk) -> Result<&NodeList<'a>> { | |
| 516 | let data = self.chunk_data(chunk)?; | |
| 517 | let mut c = Cursor { | |
| 518 | bytes: data, | |
| 519 | offset: usize::try_from(chunk.offset).unwrap(), | |
| 520 | }; | |
| 521 | c.take(8)?; | |
| 522 | let id = u32::from_le_bytes(c.read()?); | |
| 523 | self.lists | |
| 524 | .get(&id) | |
| 525 | .filter(|list| list.fragments.first() == Some(&chunk)) | |
| 526 | .ok_or(Error { | |
| 527 | offset: c.offset - 4, | |
| 528 | message: "Reference does not identify a committed file-node list", | |
| 529 | }) | |
| 530 | } | |
| 531 | } |
crates/onestore/src/write.rs created+646| ... | ... | @@ -0,0 +1,646 @@ |
| 1 | use crate::{ | |
| 2 | Chunk, Error, ExGuid, FileType, ObjectData, PropertySets, Reference, RevisionIndex, Store, | |
| 3 | Value, | |
| 4 | store::{crc, transaction_crc}, | |
| 5 | }; | |
| 6 | ||
| 7 | use std::collections::{BTreeMap, BTreeSet}; | |
| 8 | ||
| 9 | type Result<T> = std::result::Result<T, Error>; | |
| 10 | ||
| 11 | pub(crate) fn fresh_guid() -> Result<[u8; 16]> { | |
| 12 | let mut guid = [0; 16]; | |
| 13 | getrandom::fill(&mut guid).map_err(|_| Error { | |
| 14 | offset: 0, | |
| 15 | message: "System random source failed", | |
| 16 | })?; | |
| 17 | guid[7] = (guid[7] & 0x0f) | 0x40; | |
| 18 | guid[8] = (guid[8] & 0x3f) | 0x80; | |
| 19 | Ok(guid) | |
| 20 | } | |
| 21 | ||
| 22 | impl ExGuid { | |
| 23 | pub(crate) fn encode(self, data: &mut Vec<u8>) { | |
| 24 | data.extend_from_slice(&self.guid); | |
| 25 | data.extend_from_slice(&self.n.to_le_bytes()); | |
| 26 | } | |
| 27 | } | |
| 28 | ||
| 29 | pub(crate) fn node(id: u16, reference: Option<Reference>, payload: &[u8]) -> Result<Vec<u8>> { | |
| 30 | let size = 4 + if reference.is_some() { 12 } else { 0 } + payload.len(); | |
| 31 | if size > 0x1fff { | |
| 32 | return Err(Error { | |
| 33 | offset: 0, | |
| 34 | message: "File node exceeds the format size limit", | |
| 35 | }); | |
| 36 | } | |
| 37 | let (base, chunk) = match reference { | |
| 38 | Some(Reference::Data(chunk)) => (1, Some(chunk)), | |
| 39 | Some(Reference::NodeList(chunk)) => (2, Some(chunk)), | |
| 40 | None => (0, None), | |
| 41 | }; | |
| 42 | let header = 0x80000000 | (base << 27) | (u32::try_from(size).unwrap() << 10) | u32::from(id); | |
| 43 | let mut bytes = header.to_le_bytes().to_vec(); | |
| 44 | if let Some(chunk) = chunk { | |
| 45 | bytes.extend_from_slice(&chunk.offset.to_le_bytes()); | |
| 46 | bytes.extend_from_slice( | |
| 47 | &u32::try_from(chunk.length) | |
| 48 | .map_err(|_| Error { | |
| 49 | offset: 0, | |
| 50 | message: "Chunk exceeds the encoded length limit", | |
| 51 | })? | |
| 52 | .to_le_bytes(), | |
| 53 | ); | |
| 54 | } | |
| 55 | bytes.extend_from_slice(payload); | |
| 56 | Ok(bytes) | |
| 57 | } | |
| 58 | ||
| 59 | pub(crate) fn append(data: &mut Vec<u8>, bytes: &[u8]) -> Result<Chunk> { | |
| 60 | let length = u64::from(u32::try_from(bytes.len()).map_err(|_| Error { | |
| 61 | offset: 0, | |
| 62 | message: "Chunk exceeds the encoded length limit", | |
| 63 | })?); | |
| 64 | data.resize(data.len().next_multiple_of(8), 0); | |
| 65 | let offset = u64::try_from(data.len()).unwrap(); | |
| 66 | data.extend_from_slice(bytes); | |
| 67 | Ok(Chunk { offset, length }) | |
| 68 | } | |
| 69 | ||
| 70 | pub(crate) fn append_list(data: &mut Vec<u8>, id: u32, nodes: &[Vec<u8>]) -> Result<Chunk> { | |
| 71 | let mut bytes = 0xa4567ab1f5f7f4c4_u64.to_le_bytes().to_vec(); | |
| 72 | bytes.extend_from_slice(&id.to_le_bytes()); | |
| 73 | bytes.extend_from_slice(&0_u32.to_le_bytes()); | |
| 74 | for node in nodes { | |
| 75 | bytes.extend_from_slice(node); | |
| 76 | } | |
| 77 | bytes.resize((bytes.len() + 20).next_multiple_of(8) - 20, 0); | |
| 78 | bytes.extend_from_slice(&u64::MAX.to_le_bytes()); | |
| 79 | bytes.extend_from_slice(&0_u32.to_le_bytes()); | |
| 80 | bytes.extend_from_slice(&0x8bc215c38233ba4b_u64.to_le_bytes()); | |
| 81 | append(data, &bytes) | |
| 82 | } | |
| 83 | ||
| 84 | fn compact(id: ExGuid, table: &BTreeMap<u32, [u8; 16]>) -> Result<[u8; 4]> { | |
| 85 | let index = table | |
| 86 | .iter() | |
| 87 | .find_map(|(index, guid)| (*guid == id.guid).then_some(*index)) | |
| 88 | .ok_or(Error { | |
| 89 | offset: 0, | |
| 90 | message: "Object identity is absent from its global ID table", | |
| 91 | })?; | |
| 92 | if id.n > 255 { | |
| 93 | return Err(Error { | |
| 94 | offset: 0, | |
| 95 | message: "Object extension exceeds CompactID capacity", | |
| 96 | }); | |
| 97 | } | |
| 98 | Ok(((index << 8) | id.n).to_le_bytes()) | |
| 99 | } | |
| 100 | ||
| 101 | fn patch_properties( | |
| 102 | blob: &[u8], | |
| 103 | updates: &[(u32, &[u8])], | |
| 104 | insert: Option<(u32, &[u8])>, | |
| 105 | ) -> Result<Vec<u8>> { | |
| 106 | let properties = PropertySets::parse(blob)?; | |
| 107 | let mut patches = Vec::new(); | |
| 108 | for (i, &(property, value)) in updates.iter().chain(insert.iter()).enumerate() { | |
| 109 | if updates[..i.min(updates.len())] | |
| 110 | .iter() | |
| 111 | .any(|(id, _)| *id == property) | |
| 112 | { | |
| 113 | return Err(Error { | |
| 114 | offset: 0, | |
| 115 | message: "Duplicate property update", | |
| 116 | }); | |
| 117 | } | |
| 118 | let kind = (property >> 26) & 0x1f; | |
| 119 | if !(3..=7).contains(&kind) { | |
| 120 | return Err(Error { | |
| 121 | offset: 0, | |
| 122 | message: "Property does not contain scalar bytes", | |
| 123 | }); | |
| 124 | } | |
| 125 | if (kind == 7 && value.len() >= 0x40000000) || (kind != 7 && value.len() != 1 << (kind - 3)) | |
| 126 | { | |
| 127 | return Err(Error { | |
| 128 | offset: 0, | |
| 129 | message: "Replacement has an invalid property length", | |
| 130 | }); | |
| 131 | } | |
| 132 | let matches: Vec<_> = properties.sets[0] | |
| 133 | .iter() | |
| 134 | .filter(|candidate| candidate.id == property) | |
| 135 | .collect(); | |
| 136 | let adding = i == updates.len(); | |
| 137 | if matches.len() != usize::from(!adding) { | |
| 138 | return Err(Error { | |
| 139 | offset: 0, | |
| 140 | message: "Property is missing or duplicated", | |
| 141 | }); | |
| 142 | } | |
| 143 | let previous = if adding { | |
| 144 | None | |
| 145 | } else { | |
| 146 | let Value::Bytes(previous) = matches[0].value else { | |
| 147 | return Err(Error { | |
| 148 | offset: 0, | |
| 149 | message: "Property does not contain scalar bytes", | |
| 150 | }); | |
| 151 | }; | |
| 152 | if previous == value { | |
| 153 | continue; | |
| 154 | } | |
| 155 | Some(previous) | |
| 156 | }; | |
| 157 | let mut encoded = Vec::new(); | |
| 158 | if kind == 7 { | |
| 159 | encoded.extend_from_slice(&u32::try_from(value.len()).unwrap().to_le_bytes()); | |
| 160 | } | |
| 161 | encoded.extend_from_slice(value); | |
| 162 | if let Some(previous) = previous { | |
| 163 | let start = previous.as_ptr().addr() - blob.as_ptr().addr(); | |
| 164 | patches.push(( | |
| 165 | start - if kind == 7 { 4 } else { 0 }, | |
| 166 | start + previous.len(), | |
| 167 | encoded, | |
| 168 | )); | |
| 169 | } else { | |
| 170 | let count = u16::try_from(properties.sets[0].len() + 1).map_err(|_| Error { | |
| 171 | offset: 0, | |
| 172 | message: "Root property count exceeds the format limit", | |
| 173 | })?; | |
| 174 | let ids = properties.root_ids.as_ptr().addr() - blob.as_ptr().addr(); | |
| 175 | patches.push((ids - 2, ids, count.to_le_bytes().to_vec())); | |
| 176 | let end = ids + properties.root_ids.len(); | |
| 177 | patches.push((end, end, property.to_le_bytes().to_vec())); | |
| 178 | let end = blob.len() - properties.padding.len(); | |
| 179 | patches.push((end, end, encoded)); | |
| 180 | } | |
| 181 | } | |
| 182 | if patches.is_empty() { | |
| 183 | return Ok(blob.to_vec()); | |
| 184 | } | |
| 185 | patches.sort_by_key(|(start, end, _)| (*start, *end)); | |
| 186 | let mut changed = Vec::new(); | |
| 187 | let mut cursor = 0; | |
| 188 | for (start, end, value) in patches { | |
| 189 | changed.extend_from_slice(&blob[cursor..start]); | |
| 190 | changed.extend_from_slice(&value); | |
| 191 | cursor = end; | |
| 192 | } | |
| 193 | changed.extend_from_slice(&blob[cursor..blob.len() - properties.padding.len()]); | |
| 194 | changed.resize(changed.len().next_multiple_of(8), 0); | |
| 195 | PropertySets::parse(&changed)?; | |
| 196 | ||
| 197 | Ok(changed) | |
| 198 | } | |
| 199 | ||
| 200 | pub(crate) struct ObjectEdit<'a> { | |
| 201 | pub object: ExGuid, | |
| 202 | pub updates: &'a [(u32, &'a [u8])], | |
| 203 | pub insert: Option<(u32, &'a [u8])>, | |
| 204 | } | |
| 205 | ||
| 206 | /// Replaces a root-level scalar byte property in the default active revision. | |
| 207 | /// The caller supplies its encoded value and is responsible for MS-ONE semantics. | |
| 208 | /// Returns a complete file image without I/O; use `commit_file_property` to update an existing file. | |
| 209 | pub fn replace_property_bytes( | |
| 210 | source: &[u8], | |
| 211 | space: ExGuid, | |
| 212 | object_id: ExGuid, | |
| 213 | property: u32, | |
| 214 | value: &[u8], | |
| 215 | ) -> Result<Vec<u8>> { | |
| 216 | replace_objects( | |
| 217 | source, | |
| 218 | space, | |
| 219 | &[ObjectEdit { | |
| 220 | object: object_id, | |
| 221 | updates: &[(property, value)], | |
| 222 | insert: None, | |
| 223 | }], | |
| 224 | ) | |
| 225 | } | |
| 226 | ||
| 227 | pub(crate) fn replace_objects( | |
| 228 | source: &[u8], | |
| 229 | space: ExGuid, | |
| 230 | edits: &[ObjectEdit<'_>], | |
| 231 | ) -> Result<Vec<u8>> { | |
| 232 | let store = Store::parse(source)?; | |
| 233 | let is_section = store.header.file_type == FileType::Section; | |
| 234 | if !store.checksum_mismatches.is_empty() { | |
| 235 | return Err(Error { | |
| 236 | offset: store.checksum_mismatches[0], | |
| 237 | message: "Cannot write a file with transaction checksum damage", | |
| 238 | }); | |
| 239 | } | |
| 240 | let index = RevisionIndex::parse(&store)?; | |
| 241 | index.validate_current()?; | |
| 242 | let rid = *index | |
| 243 | .spaces | |
| 244 | .get(&space) | |
| 245 | .and_then(|space| space.labels.get(&(ExGuid::default(), 1))) | |
| 246 | .ok_or(Error { | |
| 247 | offset: 0, | |
| 248 | message: "Object space has no active default revision", | |
| 249 | })?; | |
| 250 | let revision = index.resolve(space, rid)?; | |
| 251 | let reachable = revision.reachable()?; | |
| 252 | let mut changed = BTreeMap::new(); | |
| 253 | for (i, edit) in edits.iter().enumerate() { | |
| 254 | if edits[..i] | |
| 255 | .iter() | |
| 256 | .any(|previous| previous.object == edit.object) | |
| 257 | { | |
| 258 | return Err(Error { | |
| 259 | offset: 0, | |
| 260 | message: "Duplicate object edit", | |
| 261 | }); | |
| 262 | } | |
| 263 | if !reachable.contains(&edit.object) { | |
| 264 | return Err(Error { | |
| 265 | offset: 0, | |
| 266 | message: "Object is not reachable in the active revision", | |
| 267 | }); | |
| 268 | } | |
| 269 | let object = &revision.objects[&edit.object]; | |
| 270 | if object.jcid & 0x100000 != 0 { | |
| 271 | return Err(Error { | |
| 272 | offset: 0, | |
| 273 | message: "Read-only object requires a new identity", | |
| 274 | }); | |
| 275 | } | |
| 276 | let ObjectData::Properties(blob) = object.data else { | |
| 277 | return Err(Error { | |
| 278 | offset: 0, | |
| 279 | message: "Object does not contain editable properties", | |
| 280 | }); | |
| 281 | }; | |
| 282 | let bytes = patch_properties(blob, edit.updates, edit.insert)?; | |
| 283 | if bytes != blob { | |
| 284 | changed.insert(edit.object, bytes); | |
| 285 | } | |
| 286 | } | |
| 287 | if changed.is_empty() { | |
| 288 | return Ok(source.to_vec()); | |
| 289 | } | |
| 290 | ||
| 291 | // Native cold-open fails on long dependency chains; cap their depth at 512. | |
| 292 | let checkpoint = std::iter::successors(Some(rid), |id| { | |
| 293 | index.spaces[&space].revisions[id].dependency | |
| 294 | }) | |
| 295 | .nth(511) | |
| 296 | .is_some(); | |
| 297 | let selected: Vec<_> = revision | |
| 298 | .objects | |
| 299 | .iter() | |
| 300 | .filter(|(id, _)| checkpoint || changed.contains_key(id)) | |
| 301 | .collect(); | |
| 302 | let toc_table = if checkpoint && !is_section { | |
| 303 | if selected.iter().any(|(_, object)| { | |
| 304 | object.jcid != 0x20001 || !matches!(object.data, ObjectData::Properties(_)) | |
| 305 | }) { | |
| 306 | return Err(Error { | |
| 307 | offset: 0, | |
| 308 | message: "TOC checkpoint requires table-of-contents property objects", | |
| 309 | }); | |
| 310 | } | |
| 311 | let guids: BTreeSet<_> = selected | |
| 312 | .iter() | |
| 313 | .flat_map(|(_, object)| object.global_ids.values().copied()) | |
| 314 | .collect(); | |
| 315 | if guids.len() > 0x1000000 { | |
| 316 | return Err(Error { | |
| 317 | offset: 0, | |
| 318 | message: "Global ID table exceeds CompactID capacity", | |
| 319 | }); | |
| 320 | } | |
| 321 | Some( | |
| 322 | guids | |
| 323 | .into_iter() | |
| 324 | .enumerate() | |
| 325 | .map(|(i, guid)| (u32::try_from(i).unwrap(), guid)) | |
| 326 | .collect::<BTreeMap<_, _>>(), | |
| 327 | ) | |
| 328 | } else { | |
| 329 | None | |
| 330 | }; | |
| 331 | let mut groups = BTreeMap::<_, Vec<_>>::new(); | |
| 332 | for (id, object) in selected { | |
| 333 | groups | |
| 334 | .entry(toc_table.as_ref().unwrap_or(&object.global_ids)) | |
| 335 | .or_default() | |
| 336 | .push((*id, object)); | |
| 337 | } | |
| 338 | let mut output = source.to_vec(); | |
| 339 | let maximum = store | |
| 340 | .transaction_fragments | |
| 341 | .iter() | |
| 342 | .flat_map(|fragment| fragment.entries.chunks_exact(8)) | |
| 343 | .map(|entry| u32::from_le_bytes(entry[..4].try_into().unwrap())) | |
| 344 | .max() | |
| 345 | .unwrap(); | |
| 346 | let new_rid = ExGuid { | |
| 347 | guid: fresh_guid()?, | |
| 348 | n: 1, | |
| 349 | }; | |
| 350 | let mut start = Vec::new(); | |
| 351 | new_rid.encode(&mut start); | |
| 352 | if checkpoint { ExGuid::default() } else { rid }.encode(&mut start); | |
| 353 | if !is_section { | |
| 354 | start.extend_from_slice(&0_u64.to_le_bytes()); | |
| 355 | } | |
| 356 | start.extend_from_slice(&1_u32.to_le_bytes()); | |
| 357 | start.extend_from_slice(&0_u16.to_le_bytes()); | |
| 358 | let mut manifest = vec![node(if is_section { 0x1e } else { 0x1b }, None, &start)?]; | |
| 359 | let mut group_counts = Vec::new(); | |
| 360 | for (table, objects) in groups { | |
| 361 | let mut payload = Vec::new(); | |
| 362 | let mut group = if is_section { | |
| 363 | ExGuid { | |
| 364 | guid: fresh_guid()?, | |
| 365 | n: 1, | |
| 366 | } | |
| 367 | .encode(&mut payload); | |
| 368 | vec![node(0xb4, None, &payload)?, node(0x22, None, &[])?] | |
| 369 | } else { | |
| 370 | vec![node(0x21, None, &[0])?] | |
| 371 | }; | |
| 372 | for (id, guid) in table { | |
| 373 | let mut entry = id.to_le_bytes().to_vec(); | |
| 374 | entry.extend_from_slice(guid); | |
| 375 | group.push(node(0x24, None, &entry)?); | |
| 376 | } | |
| 377 | group.push(node(0x28, None, &[])?); | |
| 378 | let mut override_crc = u32::MAX; | |
| 379 | for (id, object) in objects { | |
| 380 | let mut declaration = compact(id, table)?.to_vec(); | |
| 381 | override_crc = crc( | |
| 382 | override_crc, | |
| 383 | &object.reference_count.to_le_bytes(), | |
| 384 | FileType::Section, | |
| 385 | ); | |
| 386 | match object.data { | |
| 387 | ObjectData::File { | |
| 388 | reference, | |
| 389 | extension, | |
| 390 | } => { | |
| 391 | declaration.extend_from_slice(&object.jcid.to_le_bytes()); | |
| 392 | declaration.extend_from_slice(&object.reference_count.to_le_bytes()); | |
| 393 | for bytes in [reference, extension] { | |
| 394 | declaration.extend_from_slice( | |
| 395 | &u32::try_from(bytes.len() / 2).unwrap().to_le_bytes(), | |
| 396 | ); | |
| 397 | declaration.extend_from_slice(bytes); | |
| 398 | } | |
| 399 | group.push(node(0x73, None, &declaration)?); | |
| 400 | } | |
| 401 | ObjectData::Properties(previous) => { | |
| 402 | let bytes = changed.get(&id).map(Vec::as_slice).unwrap_or(previous); | |
| 403 | let references = object.references()?; | |
| 404 | let flags = u8::from(!references.objects.is_empty()) | |
| 405 | | (u8::from( | |
| 406 | !references.object_spaces.is_empty() || !references.contexts.is_empty(), | |
| 407 | ) << 1); | |
| 408 | let data = if toc_table.is_some() { | |
| 409 | let mut mapped = bytes.to_vec(); | |
| 410 | for property in PropertySets::parse(bytes)?.sets.iter().flatten() { | |
| 411 | if let Value::References { compact_ids, .. } = property.value { | |
| 412 | let offset = compact_ids.as_ptr().addr() - bytes.as_ptr().addr(); | |
| 413 | for (i, value) in compact_ids.chunks_exact(4).enumerate() { | |
| 414 | let value = u32::from_le_bytes(value.try_into().unwrap()); | |
| 415 | let target = ExGuid { | |
| 416 | guid: object.global_ids[&(value >> 8)], | |
| 417 | n: value & 255, | |
| 418 | }; | |
| 419 | mapped[offset + i * 4..offset + i * 4 + 4] | |
| 420 | .copy_from_slice(&compact(target, table)?); | |
| 421 | } | |
| 422 | } | |
| 423 | } | |
| 424 | append(&mut output, &mapped)? | |
| 425 | } else if changed.contains_key(&id) { | |
| 426 | append(&mut output, bytes)? | |
| 427 | } else { | |
| 428 | Chunk { | |
| 429 | offset: u64::try_from(bytes.as_ptr().addr() - source.as_ptr().addr()) | |
| 430 | .unwrap(), | |
| 431 | length: u64::try_from(bytes.len()).unwrap(), | |
| 432 | } | |
| 433 | }; | |
| 434 | if is_section { | |
| 435 | declaration.extend_from_slice(&object.jcid.to_le_bytes()); | |
| 436 | declaration.push(flags); | |
| 437 | } else if checkpoint { | |
| 438 | let body = 1_u64 | (u64::from(flags & 1) << 16); | |
| 439 | declaration.extend_from_slice(&body.to_le_bytes()[..6]); | |
| 440 | } else { | |
| 441 | declaration.extend_from_slice(&u32::from(flags).to_le_bytes()); | |
| 442 | } | |
| 443 | declaration.extend_from_slice(&object.reference_count.to_le_bytes()); | |
| 444 | let readonly = object.jcid & 0x100000 != 0; | |
| 445 | if readonly { | |
| 446 | declaration.extend_from_slice(&md5::compute(bytes).0); | |
| 447 | } | |
| 448 | group.push(node( | |
| 449 | if is_section { | |
| 450 | if readonly { 0xc5 } else { 0xa5 } | |
| 451 | } else if checkpoint { | |
| 452 | 0x2e | |
| 453 | } else { | |
| 454 | 0x42 | |
| 455 | }, | |
| 456 | Some(Reference::Data(data)), | |
| 457 | &declaration, | |
| 458 | )?); | |
| 459 | } | |
| 460 | ObjectData::Encrypted(_) => { | |
| 461 | return Err(Error { | |
| 462 | offset: 0, | |
| 463 | message: "Encrypted objects cannot be checkpointed", | |
| 464 | }); | |
| 465 | } | |
| 466 | } | |
| 467 | } | |
| 468 | if is_section { | |
| 469 | group.push(node(0xb8, None, &[])?); | |
| 470 | let group_id = u32::try_from(group_counts.len()) | |
| 471 | .ok() | |
| 472 | .and_then(|n| n.checked_add(1)) | |
| 473 | .and_then(|n| maximum.checked_add(n)) | |
| 474 | .ok_or(Error { | |
| 475 | offset: 0, | |
| 476 | message: "File-node list identities are exhausted", | |
| 477 | })?; | |
| 478 | let chunk = append_list(&mut output, group_id, &group)?; | |
| 479 | group_counts.push((group_id, group.len())); | |
| 480 | manifest.push(node(0xb0, Some(Reference::NodeList(chunk)), &payload)?); | |
| 481 | let mut overrides = vec![0; 8]; | |
| 482 | overrides.extend_from_slice(&(!override_crc).to_le_bytes()); | |
| 483 | manifest.push(node( | |
| 484 | 0x84, | |
| 485 | Some(Reference::Data(Chunk { | |
| 486 | offset: u64::MAX, | |
| 487 | length: 0, | |
| 488 | })), | |
| 489 | &overrides, | |
| 490 | )?); | |
| 491 | } else { | |
| 492 | manifest.extend(group); | |
| 493 | } | |
| 494 | } | |
| 495 | if checkpoint { | |
| 496 | for (role, id) in &revision.roots { | |
| 497 | let mut payload = Vec::new(); | |
| 498 | if is_section { | |
| 499 | id.encode(&mut payload); | |
| 500 | } else { | |
| 501 | payload.extend_from_slice(&compact(*id, toc_table.as_ref().unwrap())?); | |
| 502 | } | |
| 503 | payload.extend_from_slice(&role.to_le_bytes()); | |
| 504 | manifest.push(node(if is_section { 0x5a } else { 0x59 }, None, &payload)?); | |
| 505 | } | |
| 506 | } | |
| 507 | manifest.push(node(0x1c, None, &[])?); | |
| 508 | let root = store.list(store.header.root)?; | |
| 509 | let space_node = root | |
| 510 | .nodes | |
| 511 | .iter() | |
| 512 | .find(|node| node.id == 8 && node.fields(&store).exguid() == Ok(space)) | |
| 513 | .ok_or(Error { | |
| 514 | offset: 0, | |
| 515 | message: "Object space is absent from the root list", | |
| 516 | })?; | |
| 517 | let space_list = space_node.referenced_list(&store)?; | |
| 518 | let revision_node = space_list.iter().rfind(|node| node.id == 0x10).unwrap(); | |
| 519 | let Some(Reference::NodeList(manifest_reference)) = revision_node.reference else { | |
| 520 | unreachable!() | |
| 521 | }; | |
| 522 | let revision_list = store.list(manifest_reference)?; | |
| 523 | let last_fragment = *revision_list.fragments.last().unwrap(); | |
| 524 | let list_start = usize::try_from(last_fragment.offset).unwrap(); | |
| 525 | let list_id = u32::from_le_bytes(source[list_start + 8..list_start + 12].try_into().unwrap()); | |
| 526 | let manifest_chunk = append_list(&mut output, list_id, &manifest)?; | |
| 527 | let manifest_start = usize::try_from(manifest_chunk.offset).unwrap(); | |
| 528 | let sequence = u32::try_from(revision_list.fragments.len()).map_err(|_| Error { | |
| 529 | offset: list_start, | |
| 530 | message: "File-node fragment sequences are exhausted", | |
| 531 | })?; | |
| 532 | output[manifest_start + 12..manifest_start + 16].copy_from_slice(&sequence.to_le_bytes()); | |
| 533 | let last_node = revision_list.nodes.last().unwrap(); | |
| 534 | let node_header = u32::from_le_bytes( | |
| 535 | source[last_node.offset..last_node.offset + 4] | |
| 536 | .try_into() | |
| 537 | .unwrap(), | |
| 538 | ); | |
| 539 | let nodes_end = last_node.offset + usize::try_from((node_header >> 10) & 0x1fff).unwrap(); | |
| 540 | let tail = list_start + usize::try_from(last_fragment.length).unwrap() - 20; | |
| 541 | if tail - nodes_end >= 4 { | |
| 542 | output[nodes_end..nodes_end + 4].copy_from_slice(&node(0xff, None, &[])?); | |
| 543 | } | |
| 544 | output[tail..tail + 8].copy_from_slice(&manifest_chunk.offset.to_le_bytes()); | |
| 545 | output[tail + 8..tail + 12].copy_from_slice(&(manifest_chunk.length as u32).to_le_bytes()); | |
| 546 | ||
| 547 | let transactions = store.header.transaction_count.checked_add(1).ok_or(Error { | |
| 548 | offset: 96, | |
| 549 | message: "Transaction counter is exhausted", | |
| 550 | })?; | |
| 551 | let changed_bytes = store.header.transaction_count ^ transactions; | |
| 552 | let commit_byte = (31 - changed_bytes.leading_zeros()) / 8; | |
| 553 | let ceiling = transactions | ((1_u32 << (commit_byte * 8)) - 1); | |
| 554 | let mut entries = Vec::new(); | |
| 555 | for (id, count) in group_counts | |
| 556 | .into_iter() | |
| 557 | .chain([(list_id, revision_list.nodes.len() + manifest.len())]) | |
| 558 | { | |
| 559 | entries.extend_from_slice(&id.to_le_bytes()); | |
| 560 | entries.extend_from_slice( | |
| 561 | &u32::try_from(count) | |
| 562 | .map_err(|_| Error { | |
| 563 | offset: 0, | |
| 564 | message: "File-node count exceeds the format limit", | |
| 565 | })? | |
| 566 | .to_le_bytes(), | |
| 567 | ); | |
| 568 | } | |
| 569 | let mut checksum = if is_section { u32::MAX } else { 0 }; | |
| 570 | for fragment in &store.transaction_fragments { | |
| 571 | checksum = transaction_crc( | |
| 572 | checksum, | |
| 573 | fragment.entries, | |
| 574 | store.header.file_type, | |
| 575 | fragment.entries.len() + 20 > fragment.chunk.length as usize, | |
| 576 | ); | |
| 577 | } | |
| 578 | let last_log = store.transaction_fragments.last().unwrap(); | |
| 579 | let mut crc_used = last_log.entries.len(); | |
| 580 | let mut crc_capacity = (last_log.chunk.length as usize - 12) & !7; | |
| 581 | let mut advance_crc = |checksum, entry: &[u8]| { | |
| 582 | if crc_used == crc_capacity { | |
| 583 | crc_used = 0; | |
| 584 | crc_capacity = 1008; | |
| 585 | } | |
| 586 | crc_used += 8; | |
| 587 | transaction_crc( | |
| 588 | checksum, | |
| 589 | entry, | |
| 590 | store.header.file_type, | |
| 591 | crc_used == crc_capacity, | |
| 592 | ) | |
| 593 | }; | |
| 594 | for entry in entries.chunks_exact(8) { | |
| 595 | checksum = advance_crc(checksum, entry); | |
| 596 | } | |
| 597 | for _ in transactions..=ceiling { | |
| 598 | let sentinel_crc = if is_section { !checksum } else { checksum }; | |
| 599 | entries.extend_from_slice(&1_u32.to_le_bytes()); | |
| 600 | entries.extend_from_slice(&sentinel_crc.to_le_bytes()); | |
| 601 | checksum = advance_crc(checksum, &entries[entries.len() - 8..]); | |
| 602 | } | |
| 603 | let mut log_chunk = last_log.chunk; | |
| 604 | let mut used = last_log.entries.len(); | |
| 605 | let mut remaining = entries.as_slice(); | |
| 606 | while !remaining.is_empty() { | |
| 607 | let capacity = usize::try_from(log_chunk.length) | |
| 608 | .unwrap() | |
| 609 | .checked_sub(12) | |
| 610 | .map(|size| size & !7) | |
| 611 | .filter(|capacity| *capacity >= used) | |
| 612 | .ok_or(Error { | |
| 613 | offset: usize::try_from(log_chunk.offset).unwrap(), | |
| 614 | message: "Transaction fragment has no room for continuation", | |
| 615 | })?; | |
| 616 | let offset = usize::try_from(log_chunk.offset).unwrap(); | |
| 617 | let size = remaining.len().min(capacity - used); | |
| 618 | output[offset + used..offset + used + size].copy_from_slice(&remaining[..size]); | |
| 619 | remaining = &remaining[size..]; | |
| 620 | if !remaining.is_empty() { | |
| 621 | let mut fragment = vec![0; 1024]; | |
| 622 | fragment[1008..1016].copy_from_slice(&u64::MAX.to_le_bytes()); | |
| 623 | let next = append(&mut output, &fragment)?; | |
| 624 | output[offset + capacity..offset + capacity + 8] | |
| 625 | .copy_from_slice(&next.offset.to_le_bytes()); | |
| 626 | output[offset + capacity + 8..offset + capacity + 12] | |
| 627 | .copy_from_slice(&(next.length as u32).to_le_bytes()); | |
| 628 | log_chunk = next; | |
| 629 | used = 0; | |
| 630 | } | |
| 631 | } | |
| 632 | output[96..100].copy_from_slice(&transactions.to_le_bytes()); | |
| 633 | let length = u64::try_from(output.len()).unwrap(); | |
| 634 | output[196..204].copy_from_slice(&length.to_le_bytes()); | |
| 635 | output[212..228].copy_from_slice(&fresh_guid()?); | |
| 636 | output[236..252].copy_from_slice(&fresh_guid()?); | |
| 637 | let generation = store.header.generation.checked_add(1).ok_or(Error { | |
| 638 | offset: 228, | |
| 639 | message: "File generation counter is exhausted", | |
| 640 | })?; | |
| 641 | output[228..236].copy_from_slice(&generation.to_le_bytes()); | |
| 642 | let written = Store::parse(&output)?; | |
| 643 | let written_index = RevisionIndex::parse(&written)?; | |
| 644 | written_index.resolve(space, new_rid)?.reachable()?; | |
| 645 | Ok(output) | |
| 646 | } |
crates/onestore/tests/commit.rs created+224| ... | ... | @@ -0,0 +1,224 @@ |
| 1 | #[path = "support/disk.rs"] | |
| 2 | mod disk; | |
| 3 | use disk::Disk; | |
| 4 | use onestore::{ | |
| 5 | ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, replace_property_bytes, | |
| 6 | }; | |
| 7 | use std::fs; | |
| 8 | ||
| 9 | #[test] | |
| 10 | fn incomplete_native_save_is_rejected_before_storage_io() { | |
| 11 | let source = fs::read("../../corpus/malformed/native-inflight.one").unwrap(); | |
| 12 | let store = Store::parse(&source).unwrap(); | |
| 13 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 14 | let graph_error = index.validate_current().unwrap_err(); | |
| 15 | let mut checked = 0; | |
| 16 | for (osid, space) in &index.spaces { | |
| 17 | let revision = index | |
| 18 | .resolve(*osid, space.labels[&(ExGuid::default(), 1)]) | |
| 19 | .unwrap(); | |
| 20 | for oid in revision.reachable().unwrap() { | |
| 21 | let object = &revision.objects[&oid]; | |
| 22 | if object.jcid != 0x6000e { | |
| 23 | continue; | |
| 24 | } | |
| 25 | let ObjectData::Properties(data) = object.data else { | |
| 26 | continue; | |
| 27 | }; | |
| 28 | for property in &PropertySets::parse(data).unwrap().sets[0] { | |
| 29 | if property.value != Value::Bytes(b"Rust same paragraph.") { | |
| 30 | continue; | |
| 31 | } | |
| 32 | let mut disk = Disk { | |
| 33 | visible: source.clone(), | |
| 34 | durable: source.clone(), | |
| 35 | operation: 0, | |
| 36 | fail_at: None, | |
| 37 | write_limit: 1024, | |
| 38 | random: 1, | |
| 39 | }; | |
| 40 | let error = onestore::commit_property_bytes( | |
| 41 | &mut disk, | |
| 42 | &source, | |
| 43 | *osid, | |
| 44 | oid, | |
| 45 | property.id, | |
| 46 | b"Rust same paragraph.", | |
| 47 | ) | |
| 48 | .unwrap_err(); | |
| 49 | assert_eq!(error.state, onestore::CommitState::NotCommitted); | |
| 50 | assert_eq!(error.error.to_string(), graph_error.to_string()); | |
| 51 | assert_eq!(disk.operation, 0); | |
| 52 | checked += 1; | |
| 53 | } | |
| 54 | } | |
| 55 | } | |
| 56 | assert_eq!(checked, 1); | |
| 57 | } | |
| 58 | ||
| 59 | #[test] | |
| 60 | fn repeated_appends_cross_log_fragments_and_expose_counter_tears() { | |
| 61 | let mut source = | |
| 62 | fs::read("../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one") | |
| 63 | .unwrap(); | |
| 64 | let store = Store::parse(&source).unwrap(); | |
| 65 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 66 | let mut target = None; | |
| 67 | for (osid, space) in &index.spaces { | |
| 68 | let revision = index | |
| 69 | .resolve(*osid, space.labels[&(ExGuid::default(), 1)]) | |
| 70 | .unwrap(); | |
| 71 | for (oid, object) in revision.objects { | |
| 72 | if let ObjectData::Properties(data) = object.data { | |
| 73 | for property in &PropertySets::parse(data).unwrap().sets[0] { | |
| 74 | if property.value == Value::Bytes(b"Fictitious plain text.") { | |
| 75 | target = Some((*osid, oid, property.id)); | |
| 76 | } | |
| 77 | } | |
| 78 | } | |
| 79 | } | |
| 80 | } | |
| 81 | let (osid, oid, property) = target.unwrap(); | |
| 82 | let root = store.header.root; | |
| 83 | let log = store.header.transaction_log; | |
| 84 | let initial_count = store.header.transaction_count; | |
| 85 | let mut saw_counter_tear = false; | |
| 86 | for transaction in initial_count + 1..=258 { | |
| 87 | let value = format!("Transaction {transaction}"); | |
| 88 | let written = | |
| 89 | replace_property_bytes(&source, osid, oid, property, value.as_bytes()).unwrap(); | |
| 90 | let store = Store::parse(&written).unwrap(); | |
| 91 | assert_eq!(store.header.root, root); | |
| 92 | assert_eq!(store.header.transaction_log, log); | |
| 93 | assert_eq!(store.header.transaction_count, transaction); | |
| 94 | assert!(store.checksum_mismatches.is_empty()); | |
| 95 | RevisionIndex::parse(&store) | |
| 96 | .unwrap() | |
| 97 | .validate_current() | |
| 98 | .unwrap(); | |
| 99 | let mut previous = written.clone(); | |
| 100 | previous[..1024].copy_from_slice(&source[..1024]); | |
| 101 | let old = Store::parse(&previous).unwrap(); | |
| 102 | assert_eq!(old.header.transaction_count, transaction - 1); | |
| 103 | assert!(old.checksum_mismatches.is_empty()); | |
| 104 | RevisionIndex::parse(&old) | |
| 105 | .unwrap() | |
| 106 | .validate_current() | |
| 107 | .unwrap(); | |
| 108 | for prefix in 96..=100 { | |
| 109 | let mut torn = written.clone(); | |
| 110 | torn[prefix..1024].copy_from_slice(&source[prefix..1024]); | |
| 111 | let result = Store::parse(&torn) | |
| 112 | .and_then(|store| RevisionIndex::parse(&store)?.validate_current()); | |
| 113 | if transaction == 256 && prefix == 97 { | |
| 114 | assert!(result.is_err()); | |
| 115 | saw_counter_tear = true; | |
| 116 | } else { | |
| 117 | result.unwrap(); | |
| 118 | } | |
| 119 | } | |
| 120 | if transaction == initial_count + 1 || transaction == 256 { | |
| 121 | check_crashes(&source, osid, oid, property, value.as_bytes()); | |
| 122 | } | |
| 123 | if transaction == initial_count + 1 { | |
| 124 | let path = std::env::temp_dir().join(format!( | |
| 125 | "onestore-commit-{}-{}.one", | |
| 126 | std::process::id(), | |
| 127 | std::time::SystemTime::now() | |
| 128 | .duration_since(std::time::UNIX_EPOCH) | |
| 129 | .unwrap() | |
| 130 | .as_nanos() | |
| 131 | )); | |
| 132 | fs::write(&path, &source).unwrap(); | |
| 133 | onestore::commit_file_property(&path, &source, osid, oid, property, value.as_bytes()) | |
| 134 | .unwrap(); | |
| 135 | let committed = fs::read(&path).unwrap(); | |
| 136 | let parsed = Store::parse(&committed).unwrap(); | |
| 137 | assert_eq!(parsed.header.transaction_count, transaction); | |
| 138 | RevisionIndex::parse(&parsed) | |
| 139 | .unwrap() | |
| 140 | .validate_current() | |
| 141 | .unwrap(); | |
| 142 | let stale = | |
| 143 | onestore::commit_file_property(&path, &source, osid, oid, property, b"stale") | |
| 144 | .unwrap_err(); | |
| 145 | assert_eq!(stale.state, onestore::CommitState::NotCommitted); | |
| 146 | assert_eq!(fs::read(&path).unwrap(), committed); | |
| 147 | onestore::commit_file_property( | |
| 148 | &path, | |
| 149 | &committed, | |
| 150 | osid, | |
| 151 | oid, | |
| 152 | property, | |
| 153 | value.as_bytes(), | |
| 154 | ) | |
| 155 | .unwrap(); | |
| 156 | assert_eq!(fs::read(&path).unwrap(), committed); | |
| 157 | fs::remove_file(path).unwrap(); | |
| 158 | } | |
| 159 | source = written; | |
| 160 | } | |
| 161 | assert!(saw_counter_tear); | |
| 162 | } | |
| 163 | ||
| 164 | fn check_crashes(source: &[u8], osid: ExGuid, oid: ExGuid, property: u32, value: &[u8]) { | |
| 165 | let current_value = |data: &[u8]| { | |
| 166 | let store = Store::parse(data).unwrap(); | |
| 167 | assert!(store.checksum_mismatches.is_empty()); | |
| 168 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 169 | index.validate_current().unwrap(); | |
| 170 | let revision = index | |
| 171 | .resolve(osid, index.spaces[&osid].labels[&(ExGuid::default(), 1)]) | |
| 172 | .unwrap(); | |
| 173 | let ObjectData::Properties(blob) = revision.objects[&oid].data else { | |
| 174 | panic!() | |
| 175 | }; | |
| 176 | let properties = PropertySets::parse(blob).unwrap(); | |
| 177 | let Value::Bytes(value) = properties.sets[0] | |
| 178 | .iter() | |
| 179 | .find(|p| p.id == property) | |
| 180 | .unwrap() | |
| 181 | .value | |
| 182 | else { | |
| 183 | panic!() | |
| 184 | }; | |
| 185 | value.to_vec() | |
| 186 | }; | |
| 187 | let before = current_value(source); | |
| 188 | for limit in [17, 1024] { | |
| 189 | let disk = |fail_at, random| Disk { | |
| 190 | visible: source.to_vec(), | |
| 191 | durable: source.to_vec(), | |
| 192 | operation: 0, | |
| 193 | fail_at, | |
| 194 | write_limit: limit, | |
| 195 | random, | |
| 196 | }; | |
| 197 | let mut successful = disk(None, 1); | |
| 198 | onestore::commit_property_bytes(&mut successful, source, osid, oid, property, value) | |
| 199 | .unwrap(); | |
| 200 | assert_eq!(current_value(&successful.durable), value); | |
| 201 | for at in 1..=successful.operation { | |
| 202 | for seed in [0, 1, 42, u64::MAX] { | |
| 203 | let mut interrupted = disk(Some(at), seed); | |
| 204 | let failure = onestore::commit_property_bytes( | |
| 205 | &mut interrupted, | |
| 206 | source, | |
| 207 | osid, | |
| 208 | oid, | |
| 209 | property, | |
| 210 | value, | |
| 211 | ) | |
| 212 | .unwrap_err(); | |
| 213 | let persisted = current_value(&interrupted.durable); | |
| 214 | match failure.state { | |
| 215 | onestore::CommitState::NotCommitted => assert_eq!(persisted, before), | |
| 216 | onestore::CommitState::Committed => assert_eq!(persisted, value), | |
| 217 | onestore::CommitState::Unknown => { | |
| 218 | assert!(persisted == before || persisted == value) | |
| 219 | } | |
| 220 | } | |
| 221 | } | |
| 222 | } | |
| 223 | } | |
| 224 | } |
crates/onestore/tests/document.rs created+866| ... | ... | @@ -0,0 +1,866 @@ |
| 1 | use onestore::{ | |
| 2 | ExGuid, RevisionIndex, Store, | |
| 3 | document::{Document, Kind}, | |
| 4 | }; | |
| 5 | use std::fs; | |
| 6 | ||
| 7 | #[test] | |
| 8 | fn documented_cell_shading_survives_native_2010_ignoring_its_display() { | |
| 9 | let bytes = | |
| 10 | fs::read("../../corpus/m6/cell-shading-control-01/input/notebook/synthetic.one").unwrap(); | |
| 11 | let store = Store::parse(&bytes).unwrap(); | |
| 12 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 13 | let document = Document::parse(&index).unwrap(); | |
| 14 | let colors: Vec<_> = document | |
| 15 | .spaces | |
| 16 | .values() | |
| 17 | .flat_map(|s| s.revisions.values()) | |
| 18 | .flat_map(|r| r.nodes.values()) | |
| 19 | .filter_map(|n| match n.kind { | |
| 20 | Kind::Cell { shading } => shading, | |
| 21 | _ => None, | |
| 22 | }) | |
| 23 | .collect(); | |
| 24 | assert_eq!(colors, [0x0000ffff]); | |
| 25 | } | |
| 26 | ||
| 27 | #[test] | |
| 28 | fn native_saved_collapse_default_preserves_descendants() { | |
| 29 | for (path, expected) in [ | |
| 30 | ( | |
| 31 | "../../corpus/m6/native-features-01/notebook/Features.one", | |
| 32 | 1, | |
| 33 | ), | |
| 34 | ( | |
| 35 | "../../corpus/m6/rust-collapse-control-01/input/notebook/Features.one", | |
| 36 | 0, | |
| 37 | ), | |
| 38 | ] { | |
| 39 | let bytes = fs::read(path).unwrap(); | |
| 40 | let store = Store::parse(&bytes).unwrap(); | |
| 41 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 42 | let document = Document::parse(&index).unwrap(); | |
| 43 | let mut parents = 0; | |
| 44 | for revision in document.spaces.values().flat_map(|s| s.revisions.values()) { | |
| 45 | for node in revision.nodes.values() { | |
| 46 | if let Kind::Paragraph { collapse_state, .. } = node.kind | |
| 47 | && node.content.iter().any(|id| { | |
| 48 | matches!(&revision.nodes[id].kind, Kind::RichText { text, .. } if text == "Collapsed parent") | |
| 49 | }) | |
| 50 | { | |
| 51 | assert_eq!(collapse_state, Some(expected)); | |
| 52 | assert_eq!(node.children.len(), 1); | |
| 53 | assert_eq!(revision.nodes[&node.children[0]].children.len(), 1); | |
| 54 | parents += 1; | |
| 55 | } | |
| 56 | } | |
| 57 | } | |
| 58 | assert_eq!(parents, 1); | |
| 59 | } | |
| 60 | } | |
| 61 | ||
| 62 | #[test] | |
| 63 | fn native_math_preserves_run_data_and_distinguishes_plain_text() { | |
| 64 | let bytes = fs::read("../../corpus/m6/native-math-01/notebook/synthetic.one").unwrap(); | |
| 65 | let store = Store::parse(&bytes).unwrap(); | |
| 66 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 67 | let document = Document::parse(&index).unwrap(); | |
| 68 | let mut equations = 0; | |
| 69 | let mut inline = 0; | |
| 70 | for revision in document.spaces.values().flat_map(|s| s.revisions.values()) { | |
| 71 | for (id, node) in &revision.nodes { | |
| 72 | let Kind::RichText { text, runs, .. } = &node.kind else { | |
| 73 | continue; | |
| 74 | }; | |
| 75 | let resolved = revision.text_runs(*id).unwrap(); | |
| 76 | if text.contains('\u{fdd0}') { | |
| 77 | equations += 1; | |
| 78 | assert!(resolved.iter().all(|r| r.format.math == Some(true))); | |
| 79 | let expected = if text.contains('𝑥') { | |
| 80 | assert_eq!( | |
| 81 | text, | |
| 82 | "\u{fdd0}𝑥\u{fdee}2\u{fdef}+\u{fdd0}𝑦\u{fdee}2\u{fdef}=\u{fdd0}𝑧\u{fdee}2\u{fdef}" | |
| 83 | ); | |
| 84 | 11 | |
| 85 | } else { | |
| 86 | assert_eq!(text, "\u{fdd0}𝑎+𝑏\u{fdee}𝑐+𝑑\u{fdef}"); | |
| 87 | 3 | |
| 88 | }; | |
| 89 | assert_eq!(runs.len(), expected); | |
| 90 | for (i, run) in runs.iter().enumerate() { | |
| 91 | assert_eq!(run.extra_set, Some(i + 1)); | |
| 92 | assert!(!node.extra[run.extra_set.unwrap()].is_empty()); | |
| 93 | } | |
| 94 | } | |
| 95 | if text == "Inline 𝛼+𝛽" { | |
| 96 | inline += 1; | |
| 97 | assert_eq!(resolved.len(), 2); | |
| 98 | assert_eq!(resolved[0].text, "Inline "); | |
| 99 | assert_eq!(resolved[0].format.math, Some(false)); | |
| 100 | assert_eq!(resolved[1].text, "𝛼+𝛽"); | |
| 101 | assert_eq!(resolved[1].format.math, Some(true)); | |
| 102 | assert!(runs.iter().all(|r| r.extra_set.is_none())); | |
| 103 | } | |
| 104 | } | |
| 105 | } | |
| 106 | assert_eq!((equations, inline), (2, 1)); | |
| 107 | } | |
| 108 | ||
| 109 | #[test] | |
| 110 | fn native_origin_control_retains_source_coordinate_frame() { | |
| 111 | let bytes = | |
| 112 | fs::read("../../corpus/m6/native-origin-controls-01/input/notebook/synthetic.one").unwrap(); | |
| 113 | let store = Store::parse(&bytes).unwrap(); | |
| 114 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 115 | let document = Document::parse(&index).unwrap(); | |
| 116 | let (revision, page) = document | |
| 117 | .spaces | |
| 118 | .values() | |
| 119 | .flat_map(|space| space.revisions.values()) | |
| 120 | .find_map(|revision| { | |
| 121 | revision | |
| 122 | .nodes | |
| 123 | .values() | |
| 124 | .find(|node| matches!(node.kind, Kind::Page { .. })) | |
| 125 | .map(|page| (revision, page)) | |
| 126 | }) | |
| 127 | .unwrap(); | |
| 128 | let Kind::Page { | |
| 129 | margin_origin_x, | |
| 130 | margin_origin_y, | |
| 131 | rtl, | |
| 132 | .. | |
| 133 | } = page.kind | |
| 134 | else { | |
| 135 | unreachable!() | |
| 136 | }; | |
| 137 | assert_eq!(margin_origin_x, Some(108.0)); | |
| 138 | assert_eq!(margin_origin_y, Some(-36.0)); | |
| 139 | assert_ne!(rtl, Some(true)); | |
| 140 | let outline = &revision.nodes[&page.children[0]]; | |
| 141 | assert_eq!(outline.layout.x, Some(36.0)); | |
| 142 | assert!((outline.layout.y.unwrap() - 14.4).abs() < 0.002); | |
| 143 | } | |
| 144 | ||
| 145 | #[test] | |
| 146 | fn native_rtl_table_retains_visual_column_order() { | |
| 147 | let bytes = | |
| 148 | fs::read("../../corpus/m6/native-page-direction-03/notebook/synthetic.one").unwrap(); | |
| 149 | let store = Store::parse(&bytes).unwrap(); | |
| 150 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 151 | let document = Document::parse(&index).unwrap(); | |
| 152 | let revision = document | |
| 153 | .spaces | |
| 154 | .values() | |
| 155 | .flat_map(|space| space.revisions.values()) | |
| 156 | .find(|revision| { | |
| 157 | revision.nodes.values().any(|node| { | |
| 158 | matches!( | |
| 159 | node.kind, | |
| 160 | Kind::Page { | |
| 161 | rtl: Some(true), | |
| 162 | .. | |
| 163 | } | |
| 164 | ) | |
| 165 | }) | |
| 166 | }) | |
| 167 | .unwrap(); | |
| 168 | let table = revision | |
| 169 | .nodes | |
| 170 | .values() | |
| 171 | .find(|node| matches!(node.kind, Kind::Table { .. })) | |
| 172 | .unwrap(); | |
| 173 | let Kind::Table { widths, locked, .. } = &table.kind else { | |
| 174 | unreachable!() | |
| 175 | }; | |
| 176 | assert_eq!(widths, &[144.0, 96.0]); | |
| 177 | assert_eq!(locked, &[true, true]); | |
| 178 | let row = &revision.nodes[&table.children[0]]; | |
| 179 | let text: Vec<_> = row | |
| 180 | .children | |
| 181 | .iter() | |
| 182 | .map(|id| { | |
| 183 | let paragraph = &revision.nodes[&revision.nodes[id].children[0]]; | |
| 184 | revision | |
| 185 | .text_runs(paragraph.content[0]) | |
| 186 | .unwrap() | |
| 187 | .iter() | |
| 188 | .map(|run| run.text) | |
| 189 | .collect::<String>() | |
| 190 | }) | |
| 191 | .collect(); | |
| 192 | assert_eq!(text, ["Right cell", "Left cell"]); | |
| 193 | } | |
| 194 | ||
| 195 | #[test] | |
| 196 | fn native_default_template_has_a_named_page_relationship() { | |
| 197 | let bytes = | |
| 198 | fs::read("../../corpus/m6/native-template-controls-01/notebook/synthetic.one").unwrap(); | |
| 199 | let store = Store::parse(&bytes).unwrap(); | |
| 200 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 201 | let document = Document::parse(&index).unwrap(); | |
| 202 | let root = &document.spaces[&document.root]; | |
| 203 | let root = &root.revisions[&root.contexts[&ExGuid::default()]]; | |
| 204 | let Kind::Section { | |
| 205 | default_template: Some(template), | |
| 206 | } = root.nodes[&root.roots[&1]].kind | |
| 207 | else { | |
| 208 | panic!("Missing default template") | |
| 209 | }; | |
| 210 | let template = &document.spaces[&template]; | |
| 211 | let template = &template.revisions[&template.contexts[&ExGuid::default()]]; | |
| 212 | let Kind::TemplateMetadata { name } = &template.nodes[&template.roots[&2]].kind else { | |
| 213 | panic!("Missing template metadata") | |
| 214 | }; | |
| 215 | assert_eq!(name.as_deref(), Some("Hearts")); | |
| 216 | let manifest = &template.nodes[&template.roots[&1]]; | |
| 217 | assert_eq!(manifest.content.len(), 1); | |
| 218 | assert!(matches!( | |
| 219 | template.nodes[&manifest.content[0]].kind, | |
| 220 | Kind::Page { .. } | |
| 221 | )); | |
| 222 | } | |
| 223 | ||
| 224 | #[test] | |
| 225 | fn native_paragraph_breaks_preserve_every_stored_character() { | |
| 226 | let bytes = | |
| 227 | fs::read("../../corpus/m6/native-break-controls-02/notebook/synthetic.one").unwrap(); | |
| 228 | let store = Store::parse(&bytes).unwrap(); | |
| 229 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 230 | let document = Document::parse(&index).unwrap(); | |
| 231 | let (revision, outline) = document | |
| 232 | .spaces | |
| 233 | .values() | |
| 234 | .flat_map(|s| s.revisions.values()) | |
| 235 | .find_map(|revision| { | |
| 236 | revision | |
| 237 | .nodes | |
| 238 | .values() | |
| 239 | .find(|node| matches!(node.kind, Kind::Outline { .. }) && node.children.len() == 24) | |
| 240 | .map(|node| (revision, node)) | |
| 241 | }) | |
| 242 | .unwrap(); | |
| 243 | let expected = [ | |
| 244 | "A", "A\r", "A\r\r", "\rA", "\rA\r", "\r", "\r\r", "A\rB\r", "A\rB\r", "AB", "A\rB\r", | |
| 245 | "A\rB\r", | |
| 246 | ]; | |
| 247 | for (case, paragraph) in outline.children.iter().enumerate() { | |
| 248 | let runs = revision | |
| 249 | .text_runs(revision.nodes[paragraph].content[0]) | |
| 250 | .unwrap(); | |
| 251 | let visible: Vec<_> = runs | |
| 252 | .iter() | |
| 253 | .filter(|r| r.format.hidden != Some(true)) | |
| 254 | .collect(); | |
| 255 | assert_eq!( | |
| 256 | visible.iter().map(|r| r.text).collect::<String>(), | |
| 257 | expected[case % 12], | |
| 258 | "case {case}" | |
| 259 | ); | |
| 260 | for run in visible { | |
| 261 | for character in run.text.chars() { | |
| 262 | assert_eq!( | |
| 263 | run.link.is_some(), | |
| 264 | case >= 12 && character != '\r', | |
| 265 | "case {case}" | |
| 266 | ); | |
| 267 | } | |
| 268 | } | |
| 269 | } | |
| 270 | } | |
| 271 | ||
| 272 | #[test] | |
| 273 | fn referenced_history_contexts_require_history_roots() { | |
| 274 | let bytes = fs::read("../../corpus/m6/native-features-01/notebook/Features.one").unwrap(); | |
| 275 | let store = Store::parse(&bytes).unwrap(); | |
| 276 | let mut index = RevisionIndex::parse(&store).unwrap(); | |
| 277 | let document = Document::parse(&index).unwrap(); | |
| 278 | let (sid, context, current) = document | |
| 279 | .spaces | |
| 280 | .iter() | |
| 281 | .find_map(|(sid, space)| { | |
| 282 | let current = space.contexts[&ExGuid::default()]; | |
| 283 | let revision = &space.revisions[&current]; | |
| 284 | match revision.nodes[&revision.roots[&1]].kind { | |
| 285 | Kind::Manifest { | |
| 286 | history: Some(context), | |
| 287 | } => Some((*sid, context, current)), | |
| 288 | _ => None, | |
| 289 | } | |
| 290 | }) | |
| 291 | .unwrap(); | |
| 292 | let space = &document.spaces[&sid]; | |
| 293 | let history = &space.revisions[&space.contexts[&context]]; | |
| 294 | assert!(matches!( | |
| 295 | history.nodes[&history.roots[&1]].kind, | |
| 296 | Kind::VersionHistory | |
| 297 | )); | |
| 298 | assert!(history.nodes[&history.roots[&1]].children.is_empty()); | |
| 299 | index | |
| 300 | .spaces | |
| 301 | .get_mut(&sid) | |
| 302 | .unwrap() | |
| 303 | .labels | |
| 304 | .insert((context, 1), current); | |
| 305 | assert_eq!( | |
| 306 | Document::parse(&index).unwrap_err().message, | |
| 307 | "History context does not resolve to version history" | |
| 308 | ); | |
| 309 | index | |
| 310 | .spaces | |
| 311 | .get_mut(&sid) | |
| 312 | .unwrap() | |
| 313 | .labels | |
| 314 | .remove(&(context, 1)); | |
| 315 | assert_eq!( | |
| 316 | Document::parse(&index).unwrap_err().message, | |
| 317 | "Document context has no revision" | |
| 318 | ); | |
| 319 | } | |
| 320 | ||
| 321 | #[test] | |
| 322 | fn native_hyperlink_boundaries_preserve_whitespace_and_literal_labels() { | |
| 323 | let bytes = fs::read("../../corpus/m6/native-link-controls-01/notebook/Links.one").unwrap(); | |
| 324 | let store = Store::parse(&bytes).unwrap(); | |
| 325 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 326 | let document = Document::parse(&index).unwrap(); | |
| 327 | let (space, outline) = document | |
| 328 | .spaces | |
| 329 | .values() | |
| 330 | .flat_map(|s| s.revisions.values()) | |
| 331 | .find_map(|space| { | |
| 332 | space.nodes.values().find_map(|node| { | |
| 333 | (matches!(node.kind, Kind::Outline { .. }) && node.children.len() == 10) | |
| 334 | .then_some((space, node)) | |
| 335 | }) | |
| 336 | }) | |
| 337 | .unwrap(); | |
| 338 | let expected = [ | |
| 339 | (" label ", "label "), | |
| 340 | ("\tlabel\t", "label\t"), | |
| 341 | ("\u{a0}label\u{a0}", "\u{a0}label\u{a0}"), | |
| 342 | (" \tlabel \t", "label \t"), | |
| 343 | ("label", "label"), | |
| 344 | (" ", ""), | |
| 345 | ("label", "label"), | |
| 346 | (" ]]> end", "]]> end"), | |
| 347 | ("<b> & \"quoted\"", "<b> & \"quoted\""), | |
| 348 | ("\rlabel\r", "label"), | |
| 349 | ]; | |
| 350 | for (number, (paragraph, (text, linked))) in outline.children.iter().zip(expected).enumerate() { | |
| 351 | let runs = space.text_runs(space.nodes[paragraph].content[0]).unwrap(); | |
| 352 | let visible: Vec<_> = runs | |
| 353 | .iter() | |
| 354 | .filter(|r| r.format.hidden != Some(true)) | |
| 355 | .collect(); | |
| 356 | assert_eq!(visible.iter().map(|r| r.text).collect::<String>(), text); | |
| 357 | assert_eq!( | |
| 358 | visible | |
| 359 | .iter() | |
| 360 | .filter(|r| r.link.is_some()) | |
| 361 | .map(|r| r.text) | |
| 362 | .collect::<String>(), | |
| 363 | linked | |
| 364 | ); | |
| 365 | let target = format!("https://example.invalid/label/{number}"); | |
| 366 | for run in visible { | |
| 367 | if let Some(link) = run.link { | |
| 368 | assert_eq!(link, target); | |
| 369 | } | |
| 370 | assert_eq!(run.format.bold, Some(true)); | |
| 371 | assert_eq!(run.format.font_size, Some(14.0)); | |
| 372 | assert_eq!(run.format.underline, Some(false)); | |
| 373 | assert_eq!(run.format.color, Some(0xff000000)); | |
| 374 | } | |
| 375 | } | |
| 376 | } | |
| 377 | ||
| 378 | #[test] | |
| 379 | fn native_unicode_table_assets_and_coordinates_are_typed() { | |
| 380 | let bytes = | |
| 381 | fs::read("../../corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one") | |
| 382 | .unwrap(); | |
| 383 | let store = Store::parse(&bytes).unwrap(); | |
| 384 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 385 | let document = Document::parse(&index).unwrap(); | |
| 386 | let nodes: Vec<_> = document | |
| 387 | .spaces | |
| 388 | .values() | |
| 389 | .flat_map(|s| s.revisions.values()) | |
| 390 | .flat_map(|r| r.nodes.values()) | |
| 391 | .collect(); | |
| 392 | assert!(nodes.iter().any(|n| matches!(&n.kind, Kind::RichText { text, .. } if text == "Fictitious: café, 東京, مرحبا"))); | |
| 393 | let table = nodes | |
| 394 | .iter() | |
| 395 | .find(|n| matches!(n.kind, Kind::Table { .. })) | |
| 396 | .unwrap(); | |
| 397 | let Kind::Table { | |
| 398 | rows, | |
| 399 | columns, | |
| 400 | widths, | |
| 401 | .. | |
| 402 | } = &table.kind | |
| 403 | else { | |
| 404 | unreachable!() | |
| 405 | }; | |
| 406 | assert_eq!( | |
| 407 | (*rows, *columns, table.children.len(), widths.len()), | |
| 408 | (Some(1), Some(2), 1, 2) | |
| 409 | ); | |
| 410 | assert_eq!( | |
| 411 | nodes | |
| 412 | .iter() | |
| 413 | .filter(|n| matches!(n.kind, Kind::Cell { .. })) | |
| 414 | .count(), | |
| 415 | 2 | |
| 416 | ); | |
| 417 | assert_eq!( | |
| 418 | nodes | |
| 419 | .iter() | |
| 420 | .filter(|n| matches!(n.kind, Kind::Attachment { .. })) | |
| 421 | .count(), | |
| 422 | 1 | |
| 423 | ); | |
| 424 | assert!(nodes.iter().any(|n| matches!(&n.kind, Kind::File { payload: Some(data), .. } if data.starts_with(b"\x89PNG")))); | |
| 425 | assert!(nodes.iter().any(|n| matches!(n.kind, Kind::Outline { .. }) | |
| 426 | && n.layout.x == Some(144.0) | |
| 427 | && n.layout.y == Some(96.0))); | |
| 428 | for node in nodes { | |
| 429 | if let Kind::RichText { text, runs, .. } = &node.kind { | |
| 430 | assert_eq!(runs.first().unwrap().start, 0); | |
| 431 | assert_eq!( | |
| 432 | runs.last().unwrap().end as usize, | |
| 433 | text.encode_utf16().count() | |
| 434 | ); | |
| 435 | } | |
| 436 | } | |
| 437 | } | |
| 438 | ||
| 439 | #[test] | |
| 440 | fn encrypted_content_is_accounted_without_fabricated_plaintext() { | |
| 441 | let bytes = | |
| 442 | fs::read("../../corpus/native-encrypted/encrypted-01/notebook/synthetic.one").unwrap(); | |
| 443 | let store = Store::parse(&bytes).unwrap(); | |
| 444 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 445 | let document = Document::parse(&index).unwrap(); | |
| 446 | assert!(!document.spaces.is_empty()); | |
| 447 | let nodes: Vec<_> = document | |
| 448 | .spaces | |
| 449 | .values() | |
| 450 | .flat_map(|s| s.revisions.values()) | |
| 451 | .flat_map(|r| r.nodes.values()) | |
| 452 | .collect(); | |
| 453 | assert!(!nodes.is_empty()); | |
| 454 | for node in nodes { | |
| 455 | assert!(matches!(node.kind, Kind::Encrypted { ciphertext } if !ciphertext.is_empty())); | |
| 456 | } | |
| 457 | } | |
| 458 | ||
| 459 | #[test] | |
| 460 | fn rust_unicode_and_native_latin1_use_utf16_run_offsets() { | |
| 461 | let text = "A😀e\u{301}東京"; | |
| 462 | let bytes = onestore::create_section("unicode.one", text, "Fictitious").unwrap(); | |
| 463 | let store = Store::parse(&bytes).unwrap(); | |
| 464 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 465 | let document = Document::parse(&index).unwrap(); | |
| 466 | let node = document | |
| 467 | .spaces | |
| 468 | .values() | |
| 469 | .flat_map(|s| s.revisions.values()) | |
| 470 | .flat_map(|r| r.nodes.values()) | |
| 471 | .find(|n| matches!(n.kind, Kind::RichText { .. })) | |
| 472 | .unwrap(); | |
| 473 | let Kind::RichText { | |
| 474 | text: actual, runs, .. | |
| 475 | } = &node.kind | |
| 476 | else { | |
| 477 | unreachable!() | |
| 478 | }; | |
| 479 | assert_eq!(actual, text); | |
| 480 | assert_eq!(runs[0].end, 7); | |
| 481 | let bytes = fs::read("../../corpus/m6/ansi/notebook/synthetic.one").unwrap(); | |
| 482 | let store = Store::parse(&bytes).unwrap(); | |
| 483 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 484 | let document = Document::parse(&index).unwrap(); | |
| 485 | let expected = format!( | |
| 486 | "Extended bytes: {}", | |
| 487 | (128u8..=255) | |
| 488 | .map(|b| char::from(b).to_string()) | |
| 489 | .collect::<Vec<_>>() | |
| 490 | .join(" ") | |
| 491 | ); | |
| 492 | assert!( | |
| 493 | document | |
| 494 | .spaces | |
| 495 | .values() | |
| 496 | .flat_map(|s| s.revisions.values()) | |
| 497 | .flat_map(|r| r.nodes.values()) | |
| 498 | .any(|n| matches!(&n.kind, Kind::RichText { text, .. } if text == &expected)) | |
| 499 | ); | |
| 500 | } | |
| 501 | ||
| 502 | #[test] | |
| 503 | fn toc_preserves_section_order_and_filename() { | |
| 504 | let bytes = onestore::create_table_of_contents( | |
| 505 | "Open Notebook.onetoc2", | |
| 506 | &[("z.one", [1; 16]), ("a.one", [2; 16])], | |
| 507 | ) | |
| 508 | .unwrap(); | |
| 509 | let store = Store::parse(&bytes).unwrap(); | |
| 510 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 511 | let document = Document::parse(&index).unwrap(); | |
| 512 | let space = &document.spaces[&document.root]; | |
| 513 | let space = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 514 | let root = &space.nodes[&space.roots[&1]]; | |
| 515 | let Kind::Toc { entries, .. } = &root.kind else { | |
| 516 | panic!("Missing TOC") | |
| 517 | }; | |
| 518 | let names: Vec<_> = entries | |
| 519 | .iter() | |
| 520 | .map(|id| match &space.nodes[id].kind { | |
| 521 | Kind::Toc { filename, .. } => filename.as_deref().unwrap(), | |
| 522 | _ => panic!("Missing TOC entry"), | |
| 523 | }) | |
| 524 | .collect(); | |
| 525 | assert_eq!(names, ["z.one", "a.one"]); | |
| 526 | assert_ne!(document.root, ExGuid::default()); | |
| 527 | } | |
| 528 | ||
| 529 | #[test] | |
| 530 | fn native_printouts_tasks_and_recording_associations_are_typed() { | |
| 531 | let bytes = fs::read("../../corpus/m6/native-features-01/notebook/Features.one").unwrap(); | |
| 532 | let store = Store::parse(&bytes).unwrap(); | |
| 533 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 534 | let document = Document::parse(&index).unwrap(); | |
| 535 | let mut roles = Vec::new(); | |
| 536 | let mut task = false; | |
| 537 | let mut recording = false; | |
| 538 | let mut annotation = false; | |
| 539 | let mut decimal = false; | |
| 540 | let mut inherited_strike = false; | |
| 541 | let media = [ | |
| 542 | 0x57, 0x8e, 0x41, 0x9a, 0x64, 0x7f, 0xc5, 0x40, 0x87, 0xd0, 0x8a, 0x8f, 0x7c, 0x1e, 0x54, | |
| 543 | 0x22, | |
| 544 | ]; | |
| 545 | for space in document.spaces.values().flat_map(|s| s.revisions.values()) { | |
| 546 | for (oid, node) in &space.nodes { | |
| 547 | match &node.kind { | |
| 548 | Kind::Image { | |
| 549 | alt, | |
| 550 | background, | |
| 551 | printout, | |
| 552 | .. | |
| 553 | } if alt.as_deref() == Some("Role pattern") => { | |
| 554 | let border = if *printout == Some(true) { 1.44 } else { 0.0 }; | |
| 555 | assert!((node.layout.max_width.unwrap() + border - 288.0).abs() < 0.002); | |
| 556 | assert!((node.layout.max_height.unwrap() + border - 192.0).abs() < 0.002); | |
| 557 | roles.push((*background, *printout)); | |
| 558 | } | |
| 559 | Kind::Attachment { | |
| 560 | filename, | |
| 561 | recording_id, | |
| 562 | .. | |
| 563 | } if filename.as_deref() == Some("silence.wav") => { | |
| 564 | assert_eq!(*recording_id, Some(media)); | |
| 565 | recording = true; | |
| 566 | } | |
| 567 | Kind::RichText { text, .. } if text == "Recording annotation" => { | |
| 568 | assert_eq!(node.media_ids, [media]); | |
| 569 | assert_eq!(node.media_time_ms, Some(500)); | |
| 570 | annotation = true; | |
| 571 | } | |
| 572 | Kind::RichText { text, .. } if text == "Disabled standalone task" => { | |
| 573 | assert_eq!(node.tags.len(), 1); | |
| 574 | let tag = &node.tags[0]; | |
| 575 | assert_eq!( | |
| 576 | (tag.definition, tag.action_type, tag.status), | |
| 577 | (None, Some(100), 6) | |
| 578 | ); | |
| 579 | assert_eq!((tag.start, tag.due), (Some(1262390400), Some(1262476800))); | |
| 580 | assert_eq!(tag.completed, Some(0)); | |
| 581 | assert_eq!(tag.task_id.unwrap()[..4], [0xe3, 0x40, 0xaf, 0x45]); | |
| 582 | task = true; | |
| 583 | } | |
| 584 | Kind::RichText { text, .. } if text == "Inherited strike and spacing" => { | |
| 585 | let runs = space.text_runs(*oid).unwrap(); | |
| 586 | assert_eq!(runs[0].format.strike, Some(true)); | |
| 587 | assert_eq!(runs[0].format.space_before, Some(9.0)); | |
| 588 | assert_eq!(runs[0].format.space_after, Some(4.5)); | |
| 589 | inherited_strike = true; | |
| 590 | } | |
| 591 | Kind::List { format, .. } if format.as_deref() == Some("\u{fffd}\0") => { | |
| 592 | decimal = true; | |
| 593 | } | |
| 594 | _ => {} | |
| 595 | } | |
| 596 | } | |
| 597 | } | |
| 598 | roles.sort(); | |
| 599 | assert_eq!( | |
| 600 | roles, | |
| 601 | [ | |
| 602 | (Some(false), Some(false)), | |
| 603 | (Some(false), Some(true)), | |
| 604 | (Some(true), Some(false)), | |
| 605 | (Some(true), Some(true)) | |
| 606 | ] | |
| 607 | ); | |
| 608 | assert!(task && recording && annotation && decimal && inherited_strike); | |
| 609 | } | |
| 610 | ||
| 611 | #[test] | |
| 612 | fn native_partial_black_highlight_and_inline_hyperlink_fields_survive() { | |
| 613 | let bytes = fs::read("../../corpus/m6/native-probes-01/notebook/synthetic.one").unwrap(); | |
| 614 | let store = Store::parse(&bytes).unwrap(); | |
| 615 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 616 | let document = Document::parse(&index).unwrap(); | |
| 617 | let mut black = false; | |
| 618 | let mut link = false; | |
| 619 | for space in document.spaces.values().flat_map(|s| s.revisions.values()) { | |
| 620 | for (oid, node) in &space.nodes { | |
| 621 | if let Kind::RichText { text, runs, .. } = &node.kind { | |
| 622 | if text == "Before middle after" { | |
| 623 | let highlighted: Vec<_> = runs | |
| 624 | .iter() | |
| 625 | .filter(|run| { | |
| 626 | run.format | |
| 627 | .is_some_and(|id| space.nodes[&id].format.highlight == Some(0)) | |
| 628 | }) | |
| 629 | .collect(); | |
| 630 | assert_eq!(highlighted.len(), 1); | |
| 631 | assert_eq!((highlighted[0].start, highlighted[0].end), (7, 13)); | |
| 632 | black = true; | |
| 633 | } | |
| 634 | if text.starts_with("Before \u{fddf}HYPERLINK") { | |
| 635 | let units: Vec<_> = text.encode_utf16().collect(); | |
| 636 | let mut visible = String::new(); | |
| 637 | let mut hidden = String::new(); | |
| 638 | for run in runs { | |
| 639 | let fragment = | |
| 640 | String::from_utf16(&units[run.start as usize..run.end as usize]) | |
| 641 | .unwrap(); | |
| 642 | if run | |
| 643 | .format | |
| 644 | .is_some_and(|id| space.nodes[&id].format.hidden == Some(true)) | |
| 645 | { | |
| 646 | hidden.push_str(&fragment); | |
| 647 | } else { | |
| 648 | visible.push_str(&fragment); | |
| 649 | } | |
| 650 | } | |
| 651 | assert_eq!(visible, "Before Link label after"); | |
| 652 | let resolved = space.text_runs(*oid).unwrap(); | |
| 653 | let links: Vec<_> = resolved | |
| 654 | .iter() | |
| 655 | .filter_map(|r| r.link.map(|url| (r.text, url, r.format.bold))) | |
| 656 | .collect(); | |
| 657 | assert_eq!( | |
| 658 | links, | |
| 659 | [( | |
| 660 | "Link label", | |
| 661 | "https://example.invalid/fixture?x=1&y=2", | |
| 662 | Some(true) | |
| 663 | )] | |
| 664 | ); | |
| 665 | assert_eq!( | |
| 666 | resolved | |
| 667 | .iter() | |
| 668 | .filter(|r| r.format.hidden != Some(true)) | |
| 669 | .map(|r| r.text) | |
| 670 | .collect::<String>(), | |
| 671 | visible | |
| 672 | ); | |
| 673 | assert_eq!( | |
| 674 | hidden, | |
| 675 | "\u{fddf}HYPERLINK \"https://example.invalid/fixture?x=1&y=2\"" | |
| 676 | ); | |
| 677 | link = true; | |
| 678 | } | |
| 679 | } | |
| 680 | } | |
| 681 | } | |
| 682 | assert!(black && link); | |
| 683 | } | |
| 684 | ||
| 685 | #[test] | |
| 686 | fn malformed_run_boundaries_fail_after_valid_storage_decoding() { | |
| 687 | let bytes = fs::read("../../corpus/m6/native-probes-01/notebook/synthetic.one").unwrap(); | |
| 688 | let store = Store::parse(&bytes).unwrap(); | |
| 689 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 690 | let document = Document::parse(&index).unwrap(); | |
| 691 | let (sid, rid, oid) = document | |
| 692 | .spaces | |
| 693 | .iter() | |
| 694 | .find_map(|(sid, space)| { | |
| 695 | space.revisions.iter().find_map(|(rid, revision)| { | |
| 696 | revision.nodes.iter().find_map(|(oid, node)| { | |
| 697 | matches!(&node.kind, Kind::RichText { text, .. } if text.starts_with("BMP ")) | |
| 698 | .then_some((*sid, *rid, *oid)) | |
| 699 | }) | |
| 700 | }) | |
| 701 | }) | |
| 702 | .unwrap(); | |
| 703 | let revision = index.resolve(sid, rid).unwrap(); | |
| 704 | let onestore::ObjectData::Properties(properties) = revision.objects[&oid].data else { | |
| 705 | unreachable!() | |
| 706 | }; | |
| 707 | let properties = onestore::PropertySets::parse(properties).unwrap(); | |
| 708 | let onestore::Value::Bytes(boundaries) = properties.sets[0] | |
| 709 | .iter() | |
| 710 | .find(|p| p.id == 0x1c001e12) | |
| 711 | .unwrap() | |
| 712 | .value | |
| 713 | else { | |
| 714 | unreachable!() | |
| 715 | }; | |
| 716 | for invalid in [5u32, u32::MAX] { | |
| 717 | let mut changed = boundaries.to_vec(); | |
| 718 | changed[..4].copy_from_slice(&invalid.to_le_bytes()); | |
| 719 | let mutated = | |
| 720 | onestore::replace_property_bytes(&bytes, sid, oid, 0x1c001e12, &changed).unwrap(); | |
| 721 | let store = Store::parse(&mutated).unwrap(); | |
| 722 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 723 | index.validate_current().unwrap(); | |
| 724 | let error = Document::parse(&index).unwrap_err(); | |
| 725 | assert_eq!( | |
| 726 | error.message, | |
| 727 | if invalid == 5 { | |
| 728 | "Text-run boundary splits a surrogate pair" | |
| 729 | } else { | |
| 730 | "Text-run indices exceed text or are out of order" | |
| 731 | } | |
| 732 | ); | |
| 733 | } | |
| 734 | } | |
| 735 | ||
| 736 | #[test] | |
| 737 | fn native_lists_locked_columns_and_named_styles_are_preserved() { | |
| 738 | let bytes = fs::read("../../corpus/m6/native-structure-01/notebook/synthetic.one").unwrap(); | |
| 739 | let store = Store::parse(&bytes).unwrap(); | |
| 740 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 741 | let document = Document::parse(&index).unwrap(); | |
| 742 | let mut found = (false, false, false); | |
| 743 | for space in document.spaces.values().flat_map(|s| s.revisions.values()) { | |
| 744 | for (oid, node) in &space.nodes { | |
| 745 | match &node.kind { | |
| 746 | Kind::Table { | |
| 747 | rows, | |
| 748 | columns, | |
| 749 | locked, | |
| 750 | widths, | |
| 751 | .. | |
| 752 | } => { | |
| 753 | assert_eq!((*rows, *columns), (Some(3), Some(2))); | |
| 754 | assert_eq!(locked, &[true, false]); | |
| 755 | assert_eq!(widths[0], 120.0); | |
| 756 | assert!(widths[1] > 37.0 && widths[1] < 38.0); | |
| 757 | found.0 = true; | |
| 758 | } | |
| 759 | Kind::List { | |
| 760 | format, | |
| 761 | restart: Some(3), | |
| 762 | bullet, | |
| 763 | .. | |
| 764 | } => { | |
| 765 | assert_eq!(format.as_deref(), Some("\u{fffd}\u{1}.")); | |
| 766 | assert_eq!(*bullet, None); | |
| 767 | found.1 = true; | |
| 768 | } | |
| 769 | Kind::RichText { text, .. } if text == "Named paragraph style" => { | |
| 770 | let runs = space.text_runs(*oid).unwrap(); | |
| 771 | assert_eq!(runs[0].format.bold, Some(true)); | |
| 772 | assert_eq!(runs[0].format.font_size, Some(20.0)); | |
| 773 | assert_eq!(runs[0].format.space_before, Some(288.0)); | |
| 774 | assert_eq!(runs[0].format.space_after, Some(144.0)); | |
| 775 | assert_eq!(runs[0].format.alignment, Some(2)); | |
| 776 | found.2 = true; | |
| 777 | } | |
| 778 | _ => {} | |
| 779 | } | |
| 780 | } | |
| 781 | } | |
| 782 | assert_eq!(found, (true, true, true)); | |
| 783 | let (revision, outer) = document | |
| 784 | .spaces | |
| 785 | .values() | |
| 786 | .flat_map(|s| s.revisions.values()) | |
| 787 | .find_map(|revision| { | |
| 788 | revision | |
| 789 | .nodes | |
| 790 | .values() | |
| 791 | .find(|node| { | |
| 792 | matches!(node.kind, Kind::Paragraph { .. }) && !node.children.is_empty() | |
| 793 | }) | |
| 794 | .map(|node| (revision, node)) | |
| 795 | }) | |
| 796 | .unwrap(); | |
| 797 | assert_eq!(outer.child_level, Some(1)); | |
| 798 | assert_eq!( | |
| 799 | revision.text_runs(outer.content[0]).unwrap()[0].text, | |
| 800 | "Outer bullet" | |
| 801 | ); | |
| 802 | assert_eq!(outer.children.len(), 1); | |
| 803 | let nested = &revision.nodes[&outer.children[0]]; | |
| 804 | assert_eq!( | |
| 805 | revision.text_runs(nested.content[0]).unwrap()[0].text, | |
| 806 | "Nested bullet" | |
| 807 | ); | |
| 808 | } | |
| 809 | ||
| 810 | #[test] | |
| 811 | fn native_conflict_relationship_and_opaque_ink_are_retained() { | |
| 812 | let bytes = | |
| 813 | fs::read("../../corpus/collaboration/round-01/offline/notebook/synthetic.one").unwrap(); | |
| 814 | let store = Store::parse(&bytes).unwrap(); | |
| 815 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 816 | let document = Document::parse(&index).unwrap(); | |
| 817 | let (conflict_id, conflict) = document | |
| 818 | .spaces | |
| 819 | .iter() | |
| 820 | .find_map(|(sid, space)| { | |
| 821 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 822 | revision.roots.get(&2).and_then(|root| { | |
| 823 | matches!(revision.nodes[root].kind, Kind::ConflictMetadata { .. }) | |
| 824 | .then_some((sid, revision)) | |
| 825 | }) | |
| 826 | }) | |
| 827 | .unwrap(); | |
| 828 | let Kind::ConflictMetadata { | |
| 829 | title, | |
| 830 | author, | |
| 831 | level, | |
| 832 | } = &conflict.nodes[&conflict.roots[&2]].kind | |
| 833 | else { | |
| 834 | unreachable!() | |
| 835 | }; | |
| 836 | assert_eq!(title.as_deref(), Some("Native edited while disconnected.")); | |
| 837 | assert_eq!(author.as_deref(), Some("snow")); | |
| 838 | assert_eq!(*level, Some(1)); | |
| 839 | assert!( | |
| 840 | document | |
| 841 | .spaces | |
| 842 | .iter() | |
| 843 | .any(|(sid, space)| sid != conflict_id && { | |
| 844 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 845 | revision.nodes[&revision.roots[&1]] | |
| 846 | .spaces | |
| 847 | .contains(conflict_id) | |
| 848 | }) | |
| 849 | ); | |
| 850 | let bytes = fs::read("../../corpus/native-ink/cold-ui-ink/notebook/synthetic.one").unwrap(); | |
| 851 | let store = Store::parse(&bytes).unwrap(); | |
| 852 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 853 | let document = Document::parse(&index).unwrap(); | |
| 854 | let ink: Vec<_> = document | |
| 855 | .spaces | |
| 856 | .values() | |
| 857 | .flat_map(|s| s.revisions.values()) | |
| 858 | .flat_map(|r| r.nodes.values()) | |
| 859 | .filter(|node| matches!(node.kind, Kind::Ink)) | |
| 860 | .collect(); | |
| 861 | assert_eq!(ink.len(), 2); | |
| 862 | assert!( | |
| 863 | ink.iter() | |
| 864 | .all(|node| node.extra.iter().any(|set| !set.is_empty())) | |
| 865 | ); | |
| 866 | } |
crates/onestore/tests/edit.rs created+627| ... | ... | @@ -0,0 +1,627 @@ |
| 1 | #[path = "support/checkpoint.rs"] | |
| 2 | mod checkpoint; | |
| 3 | #[path = "support/disk.rs"] | |
| 4 | mod disk; | |
| 5 | ||
| 6 | use disk::Disk; | |
| 7 | use onestore::{ | |
| 8 | CommitState, ExGuid, RevisionIndex, Store, | |
| 9 | document::{Document, Kind}, | |
| 10 | }; | |
| 11 | ||
| 12 | const SOURCE: &[u8] = include_bytes!( | |
| 13 | "../../../corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one" | |
| 14 | ); | |
| 15 | ||
| 16 | fn target(source: &[u8]) -> (ExGuid, ExGuid) { | |
| 17 | let store = Store::parse(source).unwrap(); | |
| 18 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 19 | let document = Document::parse(&index).unwrap(); | |
| 20 | for (sid, space) in &document.spaces { | |
| 21 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 22 | for (oid, node) in &revision.nodes { | |
| 23 | if matches!(&node.kind, Kind::RichText { text, .. } if text.starts_with("Fictitious:")) | |
| 24 | { | |
| 25 | return (*sid, *oid); | |
| 26 | } | |
| 27 | } | |
| 28 | } | |
| 29 | panic!("Missing native text fixture") | |
| 30 | } | |
| 31 | ||
| 32 | fn text_runs(source: &[u8], sid: ExGuid, oid: ExGuid) -> serde_json::Value { | |
| 33 | let store = Store::parse(source).unwrap(); | |
| 34 | assert!(store.checksum_mismatches.is_empty()); | |
| 35 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 36 | index.validate_current().unwrap(); | |
| 37 | let document = Document::parse(&index).unwrap(); | |
| 38 | let space = &document.spaces[&sid]; | |
| 39 | serde_json::to_value( | |
| 40 | space.revisions[&space.contexts[&ExGuid::default()]] | |
| 41 | .text_runs(oid) | |
| 42 | .unwrap(), | |
| 43 | ) | |
| 44 | .unwrap() | |
| 45 | } | |
| 46 | ||
| 47 | fn assert_other_objects_preserved( | |
| 48 | before: &onestore::ResolvedRevision<'_>, | |
| 49 | after: &onestore::ResolvedRevision<'_>, | |
| 50 | edited: ExGuid, | |
| 51 | ) { | |
| 52 | use onestore::{ObjectData, PropertySets}; | |
| 53 | let ObjectData::Properties(bytes) = after.objects[&edited].data else { | |
| 54 | panic!() | |
| 55 | }; | |
| 56 | let target = PropertySets::parse(bytes).unwrap(); | |
| 57 | let modified = &target.sets[0] | |
| 58 | .iter() | |
| 59 | .find(|field| field.id == 0x14001d7a) | |
| 60 | .unwrap() | |
| 61 | .value; | |
| 62 | let reachable = before.reachable().unwrap(); | |
| 63 | assert_eq!(before.objects.len(), after.objects.len()); | |
| 64 | for (id, object) in &before.objects { | |
| 65 | if *id == edited { | |
| 66 | continue; | |
| 67 | } | |
| 68 | let current = &after.objects[id]; | |
| 69 | assert_eq!(object.jcid, current.jcid); | |
| 70 | assert_eq!(object.global_ids, current.global_ids); | |
| 71 | let mut pending = vec![*id]; | |
| 72 | let mut visited = std::collections::BTreeSet::new(); | |
| 73 | while let Some(next) = pending.pop() { | |
| 74 | if !visited.insert(next) { | |
| 75 | continue; | |
| 76 | } | |
| 77 | pending.extend(before.objects[&next].references().unwrap().objects); | |
| 78 | } | |
| 79 | let ancestor = reachable.contains(id) && visited.contains(&edited); | |
| 80 | let mut allowed = Vec::new(); | |
| 81 | if ancestor { | |
| 82 | allowed.push(0x14001d7a); | |
| 83 | } | |
| 84 | if ancestor && object.jcid == 0x6000b { | |
| 85 | allowed.push(0x1c001d3c); | |
| 86 | } | |
| 87 | if before.roots.get(&2) == Some(id) { | |
| 88 | allowed.push(0x1c001cf3); | |
| 89 | } | |
| 90 | if allowed.is_empty() { | |
| 91 | assert_eq!(object.data, current.data); | |
| 92 | continue; | |
| 93 | } | |
| 94 | let [old, new] = [object.data, current.data].map(|data| { | |
| 95 | let ObjectData::Properties(bytes) = data else { | |
| 96 | panic!() | |
| 97 | }; | |
| 98 | PropertySets::parse(bytes).unwrap() | |
| 99 | }); | |
| 100 | if ancestor { | |
| 101 | let old_time = old.sets[0].iter().find(|field| field.id == 0x14001d7a); | |
| 102 | let new_time = new.sets[0].iter().find(|field| field.id == 0x14001d7a); | |
| 103 | assert_eq!(old_time.is_some(), new_time.is_some()); | |
| 104 | if let Some(time) = new_time { | |
| 105 | assert_eq!(&time.value, modified); | |
| 106 | } | |
| 107 | } | |
| 108 | let [old, new] = [old, new].map(|mut fields| { | |
| 109 | fields.sets[0].retain(|field| !allowed.contains(&field.id)); | |
| 110 | fields.sets | |
| 111 | }); | |
| 112 | assert_eq!(old, new); | |
| 113 | } | |
| 114 | } | |
| 115 | ||
| 116 | #[test] | |
| 117 | fn text_splices_preserve_formats_objects_and_history_in_one_transaction() { | |
| 118 | let (sid, oid) = target(SOURCE); | |
| 119 | let old = Store::parse(SOURCE).unwrap(); | |
| 120 | let old_index = RevisionIndex::parse(&old).unwrap(); | |
| 121 | let before = text_runs(SOURCE, sid, oid); | |
| 122 | for replacement in ["", "🦀", "A longer replacement with 日本語 and e\u{301}"] { | |
| 123 | let edited = onestore::replace_text(SOURCE, sid, oid, 0..10, replacement).unwrap(); | |
| 124 | let store = Store::parse(&edited).unwrap(); | |
| 125 | assert_eq!( | |
| 126 | store.header.transaction_count, | |
| 127 | old.header.transaction_count + 1 | |
| 128 | ); | |
| 129 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 130 | for (space_id, space) in &old_index.spaces { | |
| 131 | for rid in space.revisions.keys() { | |
| 132 | let previous = old_index.resolve(*space_id, *rid).unwrap(); | |
| 133 | let preserved = index.resolve(*space_id, *rid).unwrap(); | |
| 134 | assert_eq!(previous.roots, preserved.roots); | |
| 135 | for (id, object) in previous.objects { | |
| 136 | assert_eq!(object.data, preserved.objects[&id].data); | |
| 137 | } | |
| 138 | } | |
| 139 | let previous = old_index | |
| 140 | .resolve(*space_id, space.labels[&(ExGuid::default(), 1)]) | |
| 141 | .unwrap(); | |
| 142 | let current = index | |
| 143 | .resolve( | |
| 144 | *space_id, | |
| 145 | index.spaces[space_id].labels[&(ExGuid::default(), 1)], | |
| 146 | ) | |
| 147 | .unwrap(); | |
| 148 | assert_eq!(previous.objects.len(), current.objects.len()); | |
| 149 | if *space_id == sid { | |
| 150 | assert_other_objects_preserved(&previous, &current, oid); | |
| 151 | } else { | |
| 152 | for (id, object) in previous.objects { | |
| 153 | assert_eq!(object.data, current.objects[&id].data); | |
| 154 | } | |
| 155 | } | |
| 156 | } | |
| 157 | let mut expected = before.clone(); | |
| 158 | expected[0]["text"] = format!( | |
| 159 | "{replacement}{}", | |
| 160 | &before[0]["text"].as_str().unwrap()[10..] | |
| 161 | ) | |
| 162 | .into(); | |
| 163 | assert_eq!(text_runs(&edited, sid, oid), expected); | |
| 164 | } | |
| 165 | } | |
| 166 | ||
| 167 | #[test] | |
| 168 | fn invalid_text_edits_never_touch_storage() { | |
| 169 | let (sid, oid) = target(SOURCE); | |
| 170 | let source = onestore::replace_text(SOURCE, sid, oid, 0..0, "🦀").unwrap(); | |
| 171 | for (range, replacement) in [ | |
| 172 | (1..1, "x"), | |
| 173 | (0..999, "x"), | |
| 174 | (0..21, "x"), | |
| 175 | (0..0, "\n"), | |
| 176 | (0..0, "\0"), | |
| 177 | ] { | |
| 178 | let mut disk = Disk { | |
| 179 | visible: source.clone(), | |
| 180 | durable: source.clone(), | |
| 181 | operation: 0, | |
| 182 | fail_at: None, | |
| 183 | write_limit: 1024, | |
| 184 | random: 1, | |
| 185 | }; | |
| 186 | let error = | |
| 187 | onestore::commit_text(&mut disk, &source, sid, oid, range, replacement).unwrap_err(); | |
| 188 | assert_eq!(error.state, CommitState::NotCommitted); | |
| 189 | assert_eq!(disk.operation, 0); | |
| 190 | assert_eq!(disk.durable, source); | |
| 191 | } | |
| 192 | } | |
| 193 | ||
| 194 | #[test] | |
| 195 | fn insertion_at_a_style_boundary_uses_the_following_style() { | |
| 196 | let (sid, oid) = target(SOURCE); | |
| 197 | let before = text_runs(SOURCE, sid, oid); | |
| 198 | let edited = onestore::replace_text(SOURCE, sid, oid, 18..18, "🦀").unwrap(); | |
| 199 | let mut expected = before.clone(); | |
| 200 | expected[1]["text"] = format!("🦀{}", before[1]["text"].as_str().unwrap()).into(); | |
| 201 | assert_eq!(text_runs(&edited, sid, oid), expected); | |
| 202 | } | |
| 203 | ||
| 204 | #[test] | |
| 205 | fn automatic_titles_follow_native_line_and_utf16_limits() { | |
| 206 | for (text, expected) in [ | |
| 207 | ( | |
| 208 | " first\tline \rsecond".to_string(), | |
| 209 | "first\tline".to_string(), | |
| 210 | ), | |
| 211 | ("A".repeat(500), "A".repeat(255)), | |
| 212 | ( | |
| 213 | format!("{}🦀after", "A".repeat(254)), | |
| 214 | format!("{}🦀", "A".repeat(254)), | |
| 215 | ), | |
| 216 | (" \t ".to_string(), "".to_string()), | |
| 217 | ] { | |
| 218 | let source = onestore::create_section("title.one", &text, "Title fixture").unwrap(); | |
| 219 | let check = |bytes: &[u8], expected: &str| { | |
| 220 | let store = Store::parse(bytes).unwrap(); | |
| 221 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 222 | let document = Document::parse(&index).unwrap(); | |
| 223 | let (sid, page) = document.pages().unwrap()[0]; | |
| 224 | let space = &document.spaces[&sid]; | |
| 225 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 226 | let Kind::Metadata { title, .. } = &revision.nodes[&revision.roots[&2]].kind else { | |
| 227 | panic!() | |
| 228 | }; | |
| 229 | let Kind::Page { | |
| 230 | alternate_title, .. | |
| 231 | } = &revision.nodes[&page].kind | |
| 232 | else { | |
| 233 | panic!() | |
| 234 | }; | |
| 235 | assert_eq!(title.as_deref(), Some(expected)); | |
| 236 | assert_eq!(alternate_title.as_deref(), Some(expected)); | |
| 237 | let (oid, _) = revision | |
| 238 | .nodes | |
| 239 | .iter() | |
| 240 | .find(|(_, n)| matches!(n.kind, Kind::RichText { .. })) | |
| 241 | .unwrap(); | |
| 242 | (sid, *oid) | |
| 243 | }; | |
| 244 | let (sid, oid) = check(&source, &expected); | |
| 245 | let cleared = | |
| 246 | onestore::replace_text(&source, sid, oid, 0..text.encode_utf16().count() as u32, "") | |
| 247 | .unwrap(); | |
| 248 | check(&cleared, ""); | |
| 249 | let written = onestore::replace_text(&cleared, sid, oid, 0..0, " new 🦀 name ").unwrap(); | |
| 250 | check(&written, "new 🦀 name"); | |
| 251 | } | |
| 252 | } | |
| 253 | ||
| 254 | #[test] | |
| 255 | fn automatic_titles_follow_native_rtl_and_attachment_order() { | |
| 256 | let mut checked = 0; | |
| 257 | for path in [ | |
| 258 | "../../corpus/m7/automatic-titles/rtl-and-attachments.one", | |
| 259 | "../../corpus/m7/automatic-titles/widths-and-limits.one", | |
| 260 | ] { | |
| 261 | let source = std::fs::read(path).unwrap(); | |
| 262 | let store = Store::parse(&source).unwrap(); | |
| 263 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 264 | let document = Document::parse(&index).unwrap(); | |
| 265 | for (sid, page) in document.pages().unwrap() { | |
| 266 | let space = &document.spaces[&sid]; | |
| 267 | let rid = space.contexts[&ExGuid::default()]; | |
| 268 | let revision = &space.revisions[&rid]; | |
| 269 | let Kind::Page { rtl, .. } = &revision.nodes[&page].kind else { | |
| 270 | panic!() | |
| 271 | }; | |
| 272 | if *rtl != Some(true) | |
| 273 | && !revision | |
| 274 | .nodes | |
| 275 | .values() | |
| 276 | .any(|n| matches!(n.kind, Kind::Attachment { .. })) | |
| 277 | { | |
| 278 | continue; | |
| 279 | } | |
| 280 | let Kind::Metadata { | |
| 281 | title: Some(title), .. | |
| 282 | } = &revision.nodes[&revision.roots[&2]].kind | |
| 283 | else { | |
| 284 | panic!() | |
| 285 | }; | |
| 286 | let original = index.resolve(sid, rid).unwrap(); | |
| 287 | for (oid, node) in &revision.nodes { | |
| 288 | let Kind::RichText { | |
| 289 | text, | |
| 290 | boilerplate: false, | |
| 291 | .. | |
| 292 | } = &node.kind | |
| 293 | else { | |
| 294 | continue; | |
| 295 | }; | |
| 296 | if node.extra[0].iter().any(|field| field.id == 0x88001cb4) { | |
| 297 | continue; | |
| 298 | } | |
| 299 | let changed = onestore::replace_text(&source, sid, *oid, 0..0, "Edited ").unwrap(); | |
| 300 | let store = Store::parse(&changed).unwrap(); | |
| 301 | let current = RevisionIndex::parse(&store).unwrap(); | |
| 302 | let after = Document::parse(&current).unwrap(); | |
| 303 | let space = &after.spaces[&sid]; | |
| 304 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 305 | let Kind::Metadata { | |
| 306 | title: Some(actual), | |
| 307 | .. | |
| 308 | } = &revision.nodes[&revision.roots[&2]].kind | |
| 309 | else { | |
| 310 | panic!() | |
| 311 | }; | |
| 312 | let expected = if text == title { | |
| 313 | format!("Edited {title}") | |
| 314 | } else { | |
| 315 | title.clone() | |
| 316 | }; | |
| 317 | assert_eq!(actual, &expected); | |
| 318 | let active = current | |
| 319 | .resolve(sid, current.spaces[&sid].labels[&(ExGuid::default(), 1)]) | |
| 320 | .unwrap(); | |
| 321 | assert_other_objects_preserved(&original, &active, *oid); | |
| 322 | checked += 1; | |
| 323 | } | |
| 324 | } | |
| 325 | } | |
| 326 | assert_eq!(checked, 10); | |
| 327 | } | |
| 328 | ||
| 329 | #[test] | |
| 330 | fn an_emptied_final_run_retains_its_insertion_style() { | |
| 331 | let (sid, oid) = target(SOURCE); | |
| 332 | let before = text_runs(SOURCE, sid, oid); | |
| 333 | let erased = onestore::replace_text(SOURCE, sid, oid, 22..27, "").unwrap(); | |
| 334 | let edited = onestore::replace_text(&erased, sid, oid, 22..22, "a").unwrap(); | |
| 335 | let mut expected = before.clone(); | |
| 336 | expected[3]["text"] = "a".into(); | |
| 337 | assert_eq!(text_runs(&edited, sid, oid), expected); | |
| 338 | } | |
| 339 | ||
| 340 | #[test] | |
| 341 | fn title_text_and_navigation_caches_publish_together() { | |
| 342 | let source = | |
| 343 | std::fs::read("../../corpus/m6/native-structure-01/notebook/synthetic.one").unwrap(); | |
| 344 | let store = Store::parse(&source).unwrap(); | |
| 345 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 346 | let document = Document::parse(&index).unwrap(); | |
| 347 | let (sid, page) = document | |
| 348 | .pages() | |
| 349 | .unwrap() | |
| 350 | .into_iter() | |
| 351 | .find(|(sid, _)| { | |
| 352 | let space = &document.spaces[sid]; | |
| 353 | space.revisions[&space.contexts[&ExGuid::default()]] | |
| 354 | .nodes | |
| 355 | .values() | |
| 356 | .any(|node| { | |
| 357 | matches!(node.kind, Kind::RichText { .. }) | |
| 358 | && node.extra[0].iter().any(|field| field.id == 0x88001cb4) | |
| 359 | }) | |
| 360 | }) | |
| 361 | .unwrap(); | |
| 362 | let rid = document.spaces[&sid].contexts[&ExGuid::default()]; | |
| 363 | let revision = &document.spaces[&sid].revisions[&rid]; | |
| 364 | let metadata = revision.roots[&2]; | |
| 365 | let (oid, node) = revision | |
| 366 | .nodes | |
| 367 | .iter() | |
| 368 | .find(|(_, node)| { | |
| 369 | matches!(node.kind, Kind::RichText { .. }) | |
| 370 | && node.extra[0].iter().any(|field| field.id == 0x88001cb4) | |
| 371 | }) | |
| 372 | .unwrap(); | |
| 373 | let Kind::RichText { text, runs, .. } = &node.kind else { | |
| 374 | panic!() | |
| 375 | }; | |
| 376 | assert_eq!(runs.len(), 1); | |
| 377 | let end = text.encode_utf16().count() as u32; | |
| 378 | let state = |bytes: &[u8]| { | |
| 379 | let store = Store::parse(bytes).unwrap(); | |
| 380 | assert!(store.checksum_mismatches.is_empty()); | |
| 381 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 382 | index.validate_current().unwrap(); | |
| 383 | let document = Document::parse(&index).unwrap(); | |
| 384 | let space = &document.spaces[&sid]; | |
| 385 | let current = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 386 | serde_json::json!([ | |
| 387 | &current.nodes[oid].kind, | |
| 388 | &current.nodes[&metadata].kind, | |
| 389 | &current.nodes[&page].kind, | |
| 390 | current | |
| 391 | .nodes | |
| 392 | .iter() | |
| 393 | .map(|(id, node)| (*id, node.modified)) | |
| 394 | .collect::<std::collections::BTreeMap<_, _>>(), | |
| 395 | ]) | |
| 396 | }; | |
| 397 | let checkpoint = checkpoint::pending(&source, sid, *oid, 0x14001d7a); | |
| 398 | for (source, write_limit) in [(source.as_slice(), 17), (checkpoint.as_slice(), 257)] { | |
| 399 | let before = state(source); | |
| 400 | for replacement in ["Renamed 🦀 日本語", ""] { | |
| 401 | let disk = |fail_at| Disk { | |
| 402 | visible: source.to_vec(), | |
| 403 | durable: source.to_vec(), | |
| 404 | operation: 0, | |
| 405 | fail_at, | |
| 406 | write_limit, | |
| 407 | random: 42, | |
| 408 | }; | |
| 409 | let mut success = disk(None); | |
| 410 | onestore::commit_text(&mut success, source, sid, *oid, 0..end, replacement).unwrap(); | |
| 411 | let after = state(&success.durable); | |
| 412 | assert_eq!(after[0]["text"], replacement); | |
| 413 | assert_eq!( | |
| 414 | after[1]["title"], | |
| 415 | if replacement.is_empty() { | |
| 416 | "Black highlight, automatic text" | |
| 417 | } else { | |
| 418 | replacement | |
| 419 | } | |
| 420 | ); | |
| 421 | assert_eq!( | |
| 422 | after[2]["alternate_title"], | |
| 423 | if replacement.is_empty() { | |
| 424 | serde_json::json!("Black highlight, automatic text") | |
| 425 | } else { | |
| 426 | serde_json::json!("") | |
| 427 | } | |
| 428 | ); | |
| 429 | let written = Store::parse(&success.durable).unwrap(); | |
| 430 | assert_eq!( | |
| 431 | written.header.transaction_count, | |
| 432 | Store::parse(source).unwrap().header.transaction_count + 1 | |
| 433 | ); | |
| 434 | let updated = RevisionIndex::parse(&written).unwrap(); | |
| 435 | let old = index.resolve(sid, rid).unwrap(); | |
| 436 | let current = updated | |
| 437 | .resolve(sid, updated.spaces[&sid].labels[&(ExGuid::default(), 1)]) | |
| 438 | .unwrap(); | |
| 439 | for (id, object) in &old.objects { | |
| 440 | assert_eq!( | |
| 441 | object.data, | |
| 442 | updated.resolve(sid, rid).unwrap().objects[id].data | |
| 443 | ); | |
| 444 | } | |
| 445 | assert_other_objects_preserved(&old, &current, *oid); | |
| 446 | for at in source.len().div_ceil(193)..=success.operation { | |
| 447 | let mut interrupted = disk(Some(at)); | |
| 448 | let error = | |
| 449 | onestore::commit_text(&mut interrupted, source, sid, *oid, 0..end, replacement) | |
| 450 | .unwrap_err(); | |
| 451 | let observed = state(&interrupted.durable); | |
| 452 | match error.state { | |
| 453 | CommitState::NotCommitted => assert_eq!(observed, before), | |
| 454 | CommitState::Committed => assert_eq!(observed, after), | |
| 455 | CommitState::Unknown => assert!(observed == before || observed == after), | |
| 456 | } | |
| 457 | } | |
| 458 | } | |
| 459 | } | |
| 460 | } | |
| 461 | ||
| 462 | #[test] | |
| 463 | fn native_conflict_pages_are_readable_but_not_random_edit_targets() { | |
| 464 | let source = | |
| 465 | std::fs::read("../../corpus/m6/live-collaboration-15/vm-restarted/notebook/synthetic.one") | |
| 466 | .unwrap(); | |
| 467 | let store = Store::parse(&source).unwrap(); | |
| 468 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 469 | let document = Document::parse(&index).unwrap(); | |
| 470 | let pages = document.pages().unwrap(); | |
| 471 | assert_eq!(pages.len(), 1); | |
| 472 | let main = &document.spaces[&pages[0].0]; | |
| 473 | let main = &main.revisions[&main.contexts[&ExGuid::default()]]; | |
| 474 | let conflict_spaces = &main.nodes[&main.roots[&1]].spaces; | |
| 475 | assert_eq!(conflict_spaces.len(), 1); | |
| 476 | let mut conflicts = 0; | |
| 477 | for sid in conflict_spaces { | |
| 478 | assert!(pages.iter().all(|(page_space, _)| page_space != sid)); | |
| 479 | let space = &document.spaces[sid]; | |
| 480 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 481 | for (oid, node) in &revision.nodes { | |
| 482 | if !matches!(node.kind, Kind::RichText { .. }) { | |
| 483 | continue; | |
| 484 | } | |
| 485 | assert!(onestore::replace_text(&source, *sid, *oid, 0..0, "edit").is_err()); | |
| 486 | conflicts += 1; | |
| 487 | } | |
| 488 | } | |
| 489 | assert!(conflicts > 0); | |
| 490 | } | |
| 491 | ||
| 492 | #[test] | |
| 493 | fn interrupted_text_commits_never_publish_mismatched_run_boundaries() { | |
| 494 | let (sid, oid) = target(SOURCE); | |
| 495 | let checkpoint = checkpoint::pending(SOURCE, sid, oid, 0x14001d7a); | |
| 496 | for source in [SOURCE, checkpoint.as_slice()] { | |
| 497 | let make_disk = |fail_at, random| Disk { | |
| 498 | visible: source.to_vec(), | |
| 499 | durable: source.to_vec(), | |
| 500 | operation: 0, | |
| 501 | fail_at, | |
| 502 | write_limit: usize::MAX, | |
| 503 | random, | |
| 504 | }; | |
| 505 | let before = text_runs(source, sid, oid); | |
| 506 | let mut success = make_disk(None, 1); | |
| 507 | onestore::commit_text(&mut success, source, sid, oid, 0..10, "🐈 mixed edit").unwrap(); | |
| 508 | let after = text_runs(&success.durable, sid, oid); | |
| 509 | assert_ne!(before, after); | |
| 510 | for at in source.len().div_ceil(193)..=success.operation { | |
| 511 | for seed in [1, 42] { | |
| 512 | let mut disk = make_disk(Some(at), seed); | |
| 513 | let error = | |
| 514 | onestore::commit_text(&mut disk, source, sid, oid, 0..10, "🐈 mixed edit") | |
| 515 | .unwrap_err(); | |
| 516 | let observed = text_runs(&disk.durable, sid, oid); | |
| 517 | match error.state { | |
| 518 | CommitState::NotCommitted => assert_eq!(observed, before), | |
| 519 | CommitState::Committed => assert_eq!(observed, after), | |
| 520 | CommitState::Unknown => assert!(observed == before || observed == after), | |
| 521 | } | |
| 522 | } | |
| 523 | } | |
| 524 | } | |
| 525 | } | |
| 526 | ||
| 527 | #[test] | |
| 528 | fn empty_and_legacy_native_text_gain_unicode_without_losing_existing_properties() { | |
| 529 | use onestore::{ObjectData, PropertySets, Value}; | |
| 530 | for (path, original) in [ | |
| 531 | ( | |
| 532 | "../../corpus/m6/native-empty-link-01/notebook/synthetic.one", | |
| 533 | "", | |
| 534 | ), | |
| 535 | ( | |
| 536 | "../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one", | |
| 537 | "Fictitious plain text.", | |
| 538 | ), | |
| 539 | ] { | |
| 540 | let source = std::fs::read(path).unwrap(); | |
| 541 | let store = Store::parse(&source).unwrap(); | |
| 542 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 543 | let document = Document::parse(&index).unwrap(); | |
| 544 | let mut targets = Vec::new(); | |
| 545 | for (sid, space) in &document.spaces { | |
| 546 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 547 | for (oid, node) in &revision.nodes { | |
| 548 | if matches!(&node.kind, Kind::RichText { text, boilerplate: false, .. } if text == original) | |
| 549 | { | |
| 550 | targets.push((*sid, *oid)); | |
| 551 | } | |
| 552 | } | |
| 553 | } | |
| 554 | assert_eq!(targets.len(), 1); | |
| 555 | let (sid, oid) = targets[0]; | |
| 556 | let old_rid = index.spaces[&sid].labels[&(ExGuid::default(), 1)]; | |
| 557 | let old = index.resolve(sid, old_rid).unwrap(); | |
| 558 | let ObjectData::Properties(blob) = old.objects[&oid].data else { | |
| 559 | panic!() | |
| 560 | }; | |
| 561 | let properties = PropertySets::parse(blob).unwrap(); | |
| 562 | assert!(!properties.sets[0].iter().any(|p| p.id == 0x1c001c22)); | |
| 563 | let expected = format!("🦀 café {original}"); | |
| 564 | let written = onestore::replace_text(&source, sid, oid, 0..0, "🦀 café ").unwrap(); | |
| 565 | let after_store = Store::parse(&written).unwrap(); | |
| 566 | assert!(after_store.checksum_mismatches.is_empty()); | |
| 567 | let after = RevisionIndex::parse(&after_store).unwrap(); | |
| 568 | after.validate_current().unwrap(); | |
| 569 | let current = after | |
| 570 | .resolve(sid, after.spaces[&sid].labels[&(ExGuid::default(), 1)]) | |
| 571 | .unwrap(); | |
| 572 | let ObjectData::Properties(blob) = current.objects[&oid].data else { | |
| 573 | panic!() | |
| 574 | }; | |
| 575 | let updated = PropertySets::parse(blob).unwrap(); | |
| 576 | assert_eq!(updated.sets[0].len(), properties.sets[0].len() + 1); | |
| 577 | for property in &properties.sets[0] { | |
| 578 | if property.id != 0x14001d7a { | |
| 579 | assert!(updated.sets[0].iter().any(|p| p == property)); | |
| 580 | } | |
| 581 | } | |
| 582 | let encoded: Vec<_> = expected | |
| 583 | .encode_utf16() | |
| 584 | .chain([0]) | |
| 585 | .flat_map(u16::to_le_bytes) | |
| 586 | .collect(); | |
| 587 | assert!( | |
| 588 | updated.sets[0] | |
| 589 | .iter() | |
| 590 | .any(|p| p.id == 0x1c001c22 && p.value == Value::Bytes(&encoded)) | |
| 591 | ); | |
| 592 | assert_eq!( | |
| 593 | after.resolve(sid, old_rid).unwrap().objects[&oid].data, | |
| 594 | old.objects[&oid].data | |
| 595 | ); | |
| 596 | assert_other_objects_preserved(&old, &current, oid); | |
| 597 | let before = text_runs(&source, sid, oid); | |
| 598 | let observed = text_runs(&written, sid, oid); | |
| 599 | let mut intended = before.clone(); | |
| 600 | intended[0]["text"] = expected.into(); | |
| 601 | assert_eq!(observed, intended); | |
| 602 | let disk = |fail_at, random| Disk { | |
| 603 | visible: source.clone(), | |
| 604 | durable: source.clone(), | |
| 605 | operation: 0, | |
| 606 | fail_at, | |
| 607 | write_limit: 17, | |
| 608 | random, | |
| 609 | }; | |
| 610 | let mut success = disk(None, 1); | |
| 611 | onestore::commit_text(&mut success, &source, sid, oid, 0..0, "🦀 café ").unwrap(); | |
| 612 | for at in source.len().div_ceil(193)..=success.operation { | |
| 613 | for seed in [1, 42] { | |
| 614 | let mut interrupted = disk(Some(at), seed); | |
| 615 | let error = | |
| 616 | onestore::commit_text(&mut interrupted, &source, sid, oid, 0..0, "🦀 café ") | |
| 617 | .unwrap_err(); | |
| 618 | let actual = text_runs(&interrupted.durable, sid, oid); | |
| 619 | match error.state { | |
| 620 | CommitState::NotCommitted => assert_eq!(actual, before), | |
| 621 | CommitState::Committed => assert_eq!(actual, observed), | |
| 622 | CommitState::Unknown => assert!(actual == before || actual == observed), | |
| 623 | } | |
| 624 | } | |
| 625 | } | |
| 626 | } | |
| 627 | } |
crates/onestore/tests/fuzz_seeds.rs created+25| ... | ... | @@ -0,0 +1,25 @@ |
| 1 | use onestore::{Reference, Store}; | |
| 2 | use std::{collections::BTreeSet, fs}; | |
| 3 | ||
| 4 | #[test] | |
| 5 | #[ignore = "Generates the local fuzz corpus"] | |
| 6 | fn seed_property_fuzzer() { | |
| 7 | let bytes = | |
| 8 | fs::read("../../corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one") | |
| 9 | .unwrap(); | |
| 10 | let store = Store::parse(&bytes).unwrap(); | |
| 11 | let mut seeds = BTreeSet::new(); | |
| 12 | for node in store.lists.values().flat_map(|list| &list.nodes) { | |
| 13 | if matches!(node.id, 0xa4 | 0xa5 | 0xc4 | 0xc5) | |
| 14 | && let Some(Reference::Data(chunk)) = node.reference | |
| 15 | { | |
| 16 | let start = usize::try_from(chunk.offset).unwrap(); | |
| 17 | let end = start + usize::try_from(chunk.length).unwrap(); | |
| 18 | seeds.insert(&bytes[start..end]); | |
| 19 | } | |
| 20 | } | |
| 21 | fs::create_dir_all("../../fuzz/corpus/properties").unwrap(); | |
| 22 | for (index, seed) in seeds.iter().enumerate() { | |
| 23 | fs::write(format!("../../fuzz/corpus/properties/native-{index}"), seed).unwrap(); | |
| 24 | } | |
| 25 | } |
crates/onestore/tests/properties.rs created+99| ... | ... | @@ -0,0 +1,99 @@ |
| 1 | use onestore::{IdStream, PropertySets, Reference, Store, Value}; | |
| 2 | use std::fs; | |
| 3 | ||
| 4 | #[test] | |
| 5 | fn native_property_chunks_preserve_unicode_and_ascii_text() { | |
| 6 | let bytes = | |
| 7 | fs::read("../../corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one") | |
| 8 | .unwrap(); | |
| 9 | let store = Store::parse(&bytes).unwrap(); | |
| 10 | let mut strings = Vec::new(); | |
| 11 | for node in store.lists.values().flat_map(|list| &list.nodes) { | |
| 12 | if matches!(node.id, 0xa4 | 0xa5 | 0xc4 | 0xc5) | |
| 13 | && let Some(Reference::Data(chunk)) = node.reference | |
| 14 | { | |
| 15 | let start = usize::try_from(chunk.offset).unwrap(); | |
| 16 | let end = start + usize::try_from(chunk.length).unwrap(); | |
| 17 | let object = PropertySets::parse(&bytes[start..end]).unwrap(); | |
| 18 | for property in object.sets.iter().flatten() { | |
| 19 | if let Value::Bytes(data) = property.value { | |
| 20 | if property.id == 0x1c001c22 { | |
| 21 | let text = String::from_utf16( | |
| 22 | &data | |
| 23 | .chunks_exact(2) | |
| 24 | .map(|pair| u16::from_le_bytes([pair[0], pair[1]])) | |
| 25 | .collect::<Vec<_>>(), | |
| 26 | ) | |
| 27 | .unwrap(); | |
| 28 | assert!(text.ends_with('\0')); | |
| 29 | strings.push(text.trim_end_matches('\0').to_owned()); | |
| 30 | } else if property.id == 0x1c003498 && data.is_ascii() { | |
| 31 | strings.push(String::from_utf8(data.to_vec()).unwrap()); | |
| 32 | } | |
| 33 | } | |
| 34 | } | |
| 35 | } | |
| 36 | } | |
| 37 | for expected in [ | |
| 38 | "Fictitious: café, 東京, مرحبا", | |
| 39 | "Fictitious positioned outline.", | |
| 40 | "Left cell", | |
| 41 | "Right cell", | |
| 42 | ] { | |
| 43 | assert!( | |
| 44 | strings.iter().any(|text| text == expected), | |
| 45 | "{expected}: {strings:?}" | |
| 46 | ); | |
| 47 | } | |
| 48 | } | |
| 49 | ||
| 50 | #[test] | |
| 51 | fn property_nesting_does_not_use_the_call_stack() { | |
| 52 | let mut bytes = 0x80000000_u32.to_le_bytes().to_vec(); | |
| 53 | for _ in 0..100_000 { | |
| 54 | bytes.extend_from_slice(&1_u16.to_le_bytes()); | |
| 55 | bytes.extend_from_slice(&0x44000001_u32.to_le_bytes()); | |
| 56 | } | |
| 57 | bytes.extend_from_slice(&0_u16.to_le_bytes()); | |
| 58 | let properties = PropertySets::parse(&bytes).unwrap(); | |
| 59 | assert_eq!(properties.sets.len(), 100_001); | |
| 60 | drop(properties); | |
| 61 | } | |
| 62 | ||
| 63 | #[test] | |
| 64 | fn nested_sets_consume_reference_streams_in_property_order() { | |
| 65 | let mut bytes = 0x80000002_u32.to_le_bytes().to_vec(); | |
| 66 | bytes.extend_from_slice(&0x101_u32.to_le_bytes()); | |
| 67 | bytes.extend_from_slice(&0x202_u32.to_le_bytes()); | |
| 68 | bytes.extend_from_slice(&2_u16.to_le_bytes()); | |
| 69 | bytes.extend_from_slice(&0x44000001_u32.to_le_bytes()); | |
| 70 | bytes.extend_from_slice(&0x20000002_u32.to_le_bytes()); | |
| 71 | bytes.extend_from_slice(&1_u16.to_le_bytes()); | |
| 72 | bytes.extend_from_slice(&0x20000003_u32.to_le_bytes()); | |
| 73 | let properties = PropertySets::parse(&bytes).unwrap(); | |
| 74 | assert_eq!(properties.sets[0][0].value, Value::Sets(1..2)); | |
| 75 | assert_eq!( | |
| 76 | properties.sets[1][0].value, | |
| 77 | Value::References { | |
| 78 | stream: IdStream::Objects, | |
| 79 | compact_ids: &0x101_u32.to_le_bytes() | |
| 80 | } | |
| 81 | ); | |
| 82 | assert_eq!( | |
| 83 | properties.sets[0][1].value, | |
| 84 | Value::References { | |
| 85 | stream: IdStream::Objects, | |
| 86 | compact_ids: &0x202_u32.to_le_bytes() | |
| 87 | } | |
| 88 | ); | |
| 89 | } | |
| 90 | ||
| 91 | #[test] | |
| 92 | fn impossible_nested_array_sizes_are_rejected_before_allocation() { | |
| 93 | let mut bytes = 0x80000000_u32.to_le_bytes().to_vec(); | |
| 94 | bytes.extend_from_slice(&1_u16.to_le_bytes()); | |
| 95 | bytes.extend_from_slice(&0x40000001_u32.to_le_bytes()); | |
| 96 | bytes.extend_from_slice(&u32::MAX.to_le_bytes()); | |
| 97 | bytes.extend_from_slice(&0x44000000_u32.to_le_bytes()); | |
| 98 | assert!(PropertySets::parse(&bytes).is_err()); | |
| 99 | } |
crates/onestore/tests/revisions.rs created+214| ... | ... | @@ -0,0 +1,214 @@ |
| 1 | use onestore::{ExGuid, FileDataReference, ObjectData, PropertySets, RevisionIndex, Store, Value}; | |
| 2 | use std::fs; | |
| 3 | ||
| 4 | const TABLE: &str = "../../corpus/native/20260905-05/snapshots/07-table/notebook/synthetic.one"; | |
| 5 | ||
| 6 | #[test] | |
| 7 | fn native_encryption_remains_opaque() { | |
| 8 | let bytes = | |
| 9 | fs::read("../../corpus/native-encrypted/encrypted-01/notebook/synthetic.one").unwrap(); | |
| 10 | let store = Store::parse(&bytes).unwrap(); | |
| 11 | assert!(store.checksum_mismatches.is_empty()); | |
| 12 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 13 | let mut encrypted = 0; | |
| 14 | for (osid, space) in &index.spaces { | |
| 15 | for (rid, revision) in &space.revisions { | |
| 16 | let resolved = index.resolve(*osid, *rid).unwrap(); | |
| 17 | if revision.encrypted { | |
| 18 | encrypted += 1; | |
| 19 | assert!( | |
| 20 | resolved | |
| 21 | .objects | |
| 22 | .values() | |
| 23 | .any(|object| matches!(object.data, ObjectData::Encrypted(_))) | |
| 24 | ); | |
| 25 | assert_eq!( | |
| 26 | resolved.reachable().unwrap_err().message, | |
| 27 | "Encrypted property references are unavailable" | |
| 28 | ); | |
| 29 | } | |
| 30 | } | |
| 31 | } | |
| 32 | assert!(encrypted > 0); | |
| 33 | } | |
| 34 | ||
| 35 | #[test] | |
| 36 | fn external_payload_names_cannot_escape_the_onefiles_directory() { | |
| 37 | for (reference, valid) in [ | |
| 38 | ("<file>2a83ae62-6754-4383-8e2b-4033ff3cfba1.onebin", true), | |
| 39 | ( | |
| 40 | "<file>../2a83ae62-6754-4383-8e2b-4033ff3cfba1.onebin", | |
| 41 | false, | |
| 42 | ), | |
| 43 | ( | |
| 44 | "<file>C:\\2a83ae62-6754-4383-8e2b-4033ff3cfba1.onebin", | |
| 45 | false, | |
| 46 | ), | |
| 47 | ( | |
| 48 | "<file>2a83ae62-6754-4383-8e2b-4033ff3cfba1.onebin:stream", | |
| 49 | false, | |
| 50 | ), | |
| 51 | ("<ifndf>{2a83ae62-6754-4383-8e2b-4033ff3cfba1}", true), | |
| 52 | ("<invfdo>", true), | |
| 53 | ("<invfdo>garbage", false), | |
| 54 | ] { | |
| 55 | let bytes: Vec<_> = reference | |
| 56 | .encode_utf16() | |
| 57 | .flat_map(u16::to_le_bytes) | |
| 58 | .collect(); | |
| 59 | let object = onestore::Object { | |
| 60 | jcid: 0x80036, | |
| 61 | reference_count: 1, | |
| 62 | data: ObjectData::File { | |
| 63 | reference: &bytes, | |
| 64 | extension: &[], | |
| 65 | }, | |
| 66 | global_ids: Default::default(), | |
| 67 | }; | |
| 68 | assert_eq!(object.file_reference().is_ok(), valid, "{reference}"); | |
| 69 | } | |
| 70 | } | |
| 71 | ||
| 72 | #[test] | |
| 73 | fn active_revision_contains_current_text_and_exact_attachment_bytes() { | |
| 74 | let bytes = fs::read(TABLE).unwrap(); | |
| 75 | let store = Store::parse(&bytes).unwrap(); | |
| 76 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 77 | let mut strings = Vec::new(); | |
| 78 | let mut attachments = Vec::new(); | |
| 79 | let mut pages = 0; | |
| 80 | for (osid, space) in &index.spaces { | |
| 81 | let rid = space.labels[&(ExGuid::default(), 1)]; | |
| 82 | let revision = index.resolve(*osid, rid).unwrap(); | |
| 83 | for oid in revision.reachable().unwrap() { | |
| 84 | let object = &revision.objects[&oid]; | |
| 85 | pages += usize::from(object.jcid == 0x6000b); | |
| 86 | if let Some(FileDataReference::Internal(guid)) = object.file_reference().unwrap() | |
| 87 | && object.jcid == 0x80036 | |
| 88 | { | |
| 89 | attachments.push(store.file_data(guid).unwrap()); | |
| 90 | } | |
| 91 | if object.jcid != 0x6000e { | |
| 92 | continue; | |
| 93 | } | |
| 94 | let ObjectData::Properties(data) = object.data else { | |
| 95 | panic!() | |
| 96 | }; | |
| 97 | let props = PropertySets::parse(data).unwrap(); | |
| 98 | let unicode = props.sets[0] | |
| 99 | .iter() | |
| 100 | .find(|property| property.id == 0x1c001c22); | |
| 101 | if let Some(property) = unicode { | |
| 102 | let Value::Bytes(data) = property.value else { | |
| 103 | panic!() | |
| 104 | }; | |
| 105 | let text = String::from_utf16( | |
| 106 | &data | |
| 107 | .chunks_exact(2) | |
| 108 | .map(|pair| u16::from_le_bytes([pair[0], pair[1]])) | |
| 109 | .collect::<Vec<_>>(), | |
| 110 | ) | |
| 111 | .unwrap(); | |
| 112 | strings.push(text.strip_suffix('\0').unwrap().to_owned()); | |
| 113 | } else if let Some(property) = props.sets[0] | |
| 114 | .iter() | |
| 115 | .find(|property| property.id == 0x1c003498) | |
| 116 | { | |
| 117 | let Value::Bytes(data) = property.value else { | |
| 118 | panic!() | |
| 119 | }; | |
| 120 | strings.push(String::from_utf8(data.to_vec()).unwrap()); | |
| 121 | } | |
| 122 | } | |
| 123 | } | |
| 124 | strings.sort(); | |
| 125 | assert_eq!( | |
| 126 | strings, | |
| 127 | [ | |
| 128 | "Fictitious positioned outline.", | |
| 129 | "Fictitious: café, 東京, مرحبا", | |
| 130 | "Left cell", | |
| 131 | "Right cell" | |
| 132 | ] | |
| 133 | ); | |
| 134 | assert_eq!(pages, 1); | |
| 135 | assert_eq!( | |
| 136 | attachments, | |
| 137 | [fs::read("../../corpus/native/20260905-05/assets/fictitious-attachment.txt").unwrap()] | |
| 138 | ); | |
| 139 | } | |
| 140 | ||
| 141 | #[test] | |
| 142 | fn self_dependent_revision_is_rejected() { | |
| 143 | let mut bytes = fs::read(TABLE).unwrap(); | |
| 144 | let store = Store::parse(&bytes).unwrap(); | |
| 145 | let node = store | |
| 146 | .lists | |
| 147 | .values() | |
| 148 | .flat_map(|list| &list.nodes) | |
| 149 | .find(|node| node.id == 0x1e) | |
| 150 | .unwrap(); | |
| 151 | let start = node.payload.as_ptr().addr() - bytes.as_ptr().addr(); | |
| 152 | bytes.copy_within(start..start + 20, start + 20); | |
| 153 | let store = Store::parse(&bytes).unwrap(); | |
| 154 | assert_eq!( | |
| 155 | RevisionIndex::parse(&store).unwrap_err().message, | |
| 156 | "Revision dependency is not an earlier revision" | |
| 157 | ); | |
| 158 | } | |
| 159 | ||
| 160 | #[test] | |
| 161 | fn damaged_read_only_object_is_rejected_by_its_hash() { | |
| 162 | let mut bytes = fs::read(TABLE).unwrap(); | |
| 163 | let store = Store::parse(&bytes).unwrap(); | |
| 164 | let node = store | |
| 165 | .lists | |
| 166 | .values() | |
| 167 | .flat_map(|list| &list.nodes) | |
| 168 | .find(|node| node.id == 0xc4) | |
| 169 | .unwrap(); | |
| 170 | let onestore::Reference::Data(chunk) = node.reference.unwrap() else { | |
| 171 | panic!() | |
| 172 | }; | |
| 173 | bytes[usize::try_from(chunk.offset).unwrap()] ^= 1; | |
| 174 | let store = Store::parse(&bytes).unwrap(); | |
| 175 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 176 | assert!( | |
| 177 | index | |
| 178 | .spaces | |
| 179 | .iter() | |
| 180 | .any(|(osid, space)| space.revisions.keys().any(|rid| { | |
| 181 | index | |
| 182 | .resolve(*osid, *rid) | |
| 183 | .is_err_and(|error| error.message == "Read-only object checksum mismatch") | |
| 184 | })) | |
| 185 | ); | |
| 186 | } | |
| 187 | ||
| 188 | #[test] | |
| 189 | fn reference_counts_and_graph_cycles_are_checked_independently_of_chunk_hashes() { | |
| 190 | let bytes = fs::read(TABLE).unwrap(); | |
| 191 | let store = Store::parse(&bytes).unwrap(); | |
| 192 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 193 | let space = &index.spaces[&index.root]; | |
| 194 | let rid = space.labels[&(ExGuid::default(), 1)]; | |
| 195 | let mut revision = index.resolve(index.root, rid).unwrap(); | |
| 196 | revision.reachable().unwrap(); | |
| 197 | let root = revision.roots[&1]; | |
| 198 | revision.objects.get_mut(&root).unwrap().reference_count += 1; | |
| 199 | assert_eq!( | |
| 200 | revision.reachable().unwrap_err().message, | |
| 201 | "Stored object reference count disagrees with the reachable graph" | |
| 202 | ); | |
| 203 | let mut data = 0x80000001_u32.to_le_bytes().to_vec(); | |
| 204 | data.extend_from_slice(&(0x100 | root.n).to_le_bytes()); | |
| 205 | data.extend_from_slice(&1_u16.to_le_bytes()); | |
| 206 | data.extend_from_slice(&0x20000001_u32.to_le_bytes()); | |
| 207 | let object = revision.objects.get_mut(&root).unwrap(); | |
| 208 | object.data = ObjectData::Properties(&data); | |
| 209 | object.global_ids = std::sync::Arc::new([(1, root.guid)].into()); | |
| 210 | assert_eq!( | |
| 211 | revision.reachable().unwrap_err().message, | |
| 212 | "Object references form a cycle" | |
| 213 | ); | |
| 214 | } |
crates/onestore/tests/storage.rs created+246| ... | ... | @@ -0,0 +1,246 @@ |
| 1 | use onestore::{Chunk, FileDataReference, Reference, RevisionIndex, Store}; | |
| 2 | use std::{fs, path::Path}; | |
| 3 | ||
| 4 | const TEXT: &str = "../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one"; | |
| 5 | ||
| 6 | #[test] | |
| 7 | fn native_file_data_alignment_is_relative_to_the_object() { | |
| 8 | let source = | |
| 9 | fs::read("../../corpus/m6/native-template-controls-01/notebook/synthetic.one").unwrap(); | |
| 10 | let store = Store::parse(&source).unwrap(); | |
| 11 | let node = store | |
| 12 | .lists | |
| 13 | .values() | |
| 14 | .flat_map(|l| &l.nodes) | |
| 15 | .find(|n| n.id == 0x94) | |
| 16 | .unwrap(); | |
| 17 | let guid = node.payload[node.payload.len() - 16..].try_into().unwrap(); | |
| 18 | let Some(Reference::Data(chunk)) = node.reference else { | |
| 19 | panic!("Missing native image container") | |
| 20 | }; | |
| 21 | assert_eq!(chunk.offset % 8, 4); | |
| 22 | let payload = store.file_data(guid).unwrap(); | |
| 23 | assert_eq!(payload.len(), 10056); | |
| 24 | assert_eq!( | |
| 25 | format!("{:x}", md5::compute(payload)), | |
| 26 | "e1b57a8851177dd25dc05b50b904656a" | |
| 27 | ); | |
| 28 | let blob = store.chunk_data(chunk).unwrap(); | |
| 29 | for alignment in 0..8 { | |
| 30 | let mut bytes = source.clone(); | |
| 31 | let offset = bytes.len().next_multiple_of(8) + alignment; | |
| 32 | bytes.resize(offset, 0); | |
| 33 | bytes.extend_from_slice(blob); | |
| 34 | let mut relocated = Store::parse(&bytes).unwrap(); | |
| 35 | let node = relocated | |
| 36 | .lists | |
| 37 | .values_mut() | |
| 38 | .flat_map(|l| &mut l.nodes) | |
| 39 | .find(|n| n.id == 0x94) | |
| 40 | .unwrap(); | |
| 41 | node.reference = Some(Reference::Data(Chunk { | |
| 42 | offset: offset as u64, | |
| 43 | length: chunk.length, | |
| 44 | })); | |
| 45 | assert_eq!( | |
| 46 | relocated.file_data(guid).unwrap(), | |
| 47 | payload, | |
| 48 | "alignment {alignment}" | |
| 49 | ); | |
| 50 | } | |
| 51 | let mut corrupt = source.clone(); | |
| 52 | corrupt[(chunk.offset + chunk.length - 1) as usize] ^= 1; | |
| 53 | assert!(Store::parse(&corrupt).unwrap().file_data(guid).is_err()); | |
| 54 | } | |
| 55 | ||
| 56 | fn files(path: &Path, result: &mut Vec<std::path::PathBuf>) { | |
| 57 | for entry in fs::read_dir(path).unwrap() { | |
| 58 | let path = entry.unwrap().path(); | |
| 59 | if path.is_dir() { | |
| 60 | files(&path, result); | |
| 61 | } else if path | |
| 62 | .extension() | |
| 63 | .is_some_and(|ext| ext == "one" || ext == "onetoc2") | |
| 64 | { | |
| 65 | result.push(path); | |
| 66 | } | |
| 67 | } | |
| 68 | } | |
| 69 | ||
| 70 | #[test] | |
| 71 | fn native_corpus_has_committed_lists_and_matching_checksums() { | |
| 72 | let mut paths = Vec::new(); | |
| 73 | for path in [ | |
| 74 | "../../corpus/native", | |
| 75 | "../../corpus/native-ink", | |
| 76 | "../../corpus/native-delete", | |
| 77 | ] { | |
| 78 | files(Path::new(path), &mut paths); | |
| 79 | } | |
| 80 | assert!(paths.len() >= 35); | |
| 81 | for path in paths { | |
| 82 | let bytes = fs::read(&path).unwrap(); | |
| 83 | let store = | |
| 84 | Store::parse(&bytes).unwrap_or_else(|error| panic!("{}: {error}", path.display())); | |
| 85 | assert!(store.checksum_mismatches.is_empty(), "{}", path.display()); | |
| 86 | assert!(!store.lists.is_empty()); | |
| 87 | let index = RevisionIndex::parse(&store) | |
| 88 | .unwrap_or_else(|error| panic!("{}: {error}", path.display())); | |
| 89 | index | |
| 90 | .validate_current() | |
| 91 | .unwrap_or_else(|error| panic!("{}: {error}", path.display())); | |
| 92 | for (osid, space) in &index.spaces { | |
| 93 | for rid in space.revisions.keys() { | |
| 94 | let revision = index | |
| 95 | .resolve(*osid, *rid) | |
| 96 | .unwrap_or_else(|error| panic!("{}: {error}", path.display())); | |
| 97 | revision | |
| 98 | .reachable() | |
| 99 | .unwrap_or_else(|error| panic!("{}: {error}", path.display())); | |
| 100 | for object in revision.objects.values() { | |
| 101 | if let Some(FileDataReference::Internal(guid)) = | |
| 102 | object.file_reference().unwrap() | |
| 103 | { | |
| 104 | store.file_data(guid).unwrap(); | |
| 105 | } | |
| 106 | } | |
| 107 | } | |
| 108 | } | |
| 109 | } | |
| 110 | } | |
| 111 | ||
| 112 | #[test] | |
| 113 | fn compressed_nil_references_are_normalized_before_scaling() { | |
| 114 | let source = fs::read(TEXT).unwrap(); | |
| 115 | let store = Store::parse(&source).unwrap(); | |
| 116 | let node = store | |
| 117 | .lists | |
| 118 | .values() | |
| 119 | .flat_map(|list| &list.nodes) | |
| 120 | .find(|node| node.id == 0x84) | |
| 121 | .unwrap(); | |
| 122 | for (format, width) in [(0_u32, 8_usize), (1, 4), (2, 2), (3, 4)] { | |
| 123 | let mut bytes = source.clone(); | |
| 124 | let header = u32::from_le_bytes(bytes[node.offset..node.offset + 4].try_into().unwrap()); | |
| 125 | let changed = (header & !((3 << 23) | (3 << 25))) | (format << 23) | (2 << 25); | |
| 126 | bytes[node.offset..node.offset + 4].copy_from_slice(&changed.to_le_bytes()); | |
| 127 | bytes[node.offset + 4..node.offset + 4 + width].fill(0xff); | |
| 128 | bytes[node.offset + 4 + width] = 0; | |
| 129 | let parsed = Store::parse(&bytes).unwrap(); | |
| 130 | let changed = parsed | |
| 131 | .lists | |
| 132 | .values() | |
| 133 | .flat_map(|list| &list.nodes) | |
| 134 | .find(|candidate| candidate.offset == node.offset) | |
| 135 | .unwrap(); | |
| 136 | assert_eq!( | |
| 137 | changed.reference, | |
| 138 | Some(onestore::Reference::Data(onestore::Chunk { | |
| 139 | offset: u64::MAX, | |
| 140 | length: 0 | |
| 141 | })) | |
| 142 | ); | |
| 143 | } | |
| 144 | } | |
| 145 | ||
| 146 | #[test] | |
| 147 | fn native_log_prefixes_define_readable_states() { | |
| 148 | let mut bytes = | |
| 149 | fs::read("../../corpus/native/20260905-05/snapshots/00-empty/notebook/synthetic.one") | |
| 150 | .unwrap(); | |
| 151 | let transactions = Store::parse(&bytes).unwrap().header.transaction_count; | |
| 152 | assert_eq!(transactions, 4); | |
| 153 | for count in 1..=transactions { | |
| 154 | bytes[96..100].copy_from_slice(&count.to_le_bytes()); | |
| 155 | let store = | |
| 156 | Store::parse(&bytes).unwrap_or_else(|error| panic!("transaction {count}: {error}")); | |
| 157 | assert!(store.checksum_mismatches.is_empty()); | |
| 158 | } | |
| 159 | } | |
| 160 | ||
| 161 | #[test] | |
| 162 | fn unused_links_and_tail_bytes_are_ignored() { | |
| 163 | let mut bytes = fs::read(TEXT).unwrap(); | |
| 164 | let store = Store::parse(&bytes).unwrap(); | |
| 165 | let expected: Vec<_> = store | |
| 166 | .lists | |
| 167 | .iter() | |
| 168 | .map(|(id, list)| (*id, list.nodes.len())) | |
| 169 | .collect(); | |
| 170 | let tails: Vec<_> = store | |
| 171 | .lists | |
| 172 | .values() | |
| 173 | .map(|list| *list.fragments.last().unwrap()) | |
| 174 | .collect(); | |
| 175 | for tail in tails { | |
| 176 | let end = usize::try_from(tail.offset + tail.length).unwrap(); | |
| 177 | bytes[end - 20..end - 8].fill(0xfe); | |
| 178 | } | |
| 179 | bytes.extend_from_slice(&[0xff; 4096]); | |
| 180 | let store = Store::parse(&bytes).unwrap(); | |
| 181 | assert_eq!( | |
| 182 | store | |
| 183 | .lists | |
| 184 | .iter() | |
| 185 | .map(|(id, list)| (*id, list.nodes.len())) | |
| 186 | .collect::<Vec<_>>(), | |
| 187 | expected | |
| 188 | ); | |
| 189 | } | |
| 190 | ||
| 191 | #[test] | |
| 192 | fn malformed_structure_is_rejected() { | |
| 193 | let source = fs::read(TEXT).unwrap(); | |
| 194 | let root = usize::try_from(Store::parse(&source).unwrap().header.root.offset).unwrap(); | |
| 195 | for (offset, replacement) in [ | |
| 196 | (96, vec![0; 4]), | |
| 197 | (160, vec![0xff; 12]), | |
| 198 | (root, vec![0; 8]), | |
| 199 | (root + 12, 1_u32.to_le_bytes().to_vec()), | |
| 200 | (root + 16, vec![0; 4]), | |
| 201 | ] { | |
| 202 | let mut bytes = source.clone(); | |
| 203 | bytes[offset..offset + replacement.len()].copy_from_slice(&replacement); | |
| 204 | assert!(Store::parse(&bytes).is_err(), "offset {offset:#x}"); | |
| 205 | } | |
| 206 | for end in 0..1024 { | |
| 207 | assert!(Store::parse(&source[..end]).is_err()); | |
| 208 | } | |
| 209 | } | |
| 210 | ||
| 211 | #[test] | |
| 212 | fn bit_changes_in_header_and_first_chunks_do_not_panic() { | |
| 213 | let mut bytes = fs::read(TEXT).unwrap(); | |
| 214 | for index in 0..4096 { | |
| 215 | for bit in 0..8 { | |
| 216 | bytes[index] ^= 1 << bit; | |
| 217 | let _ = Store::parse(&bytes); | |
| 218 | bytes[index] ^= 1 << bit; | |
| 219 | } | |
| 220 | } | |
| 221 | } | |
| 222 | ||
| 223 | #[test] | |
| 224 | fn checksum_damage_is_reported_without_discarding_committed_content() { | |
| 225 | let mut bytes = fs::read(TEXT).unwrap(); | |
| 226 | bytes[2060] ^= 1; | |
| 227 | let store = Store::parse(&bytes).unwrap(); | |
| 228 | assert_eq!(store.checksum_mismatches[0], 2056); | |
| 229 | assert_eq!(store.header.transaction_count, 16); | |
| 230 | } | |
| 231 | ||
| 232 | #[test] | |
| 233 | fn native_toc_continuation_excludes_the_flushed_entry_from_crc() { | |
| 234 | let path = "../../corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2"; | |
| 235 | let mut bytes = fs::read(path).unwrap(); | |
| 236 | let store = Store::parse(&bytes).unwrap(); | |
| 237 | assert_eq!(store.header.transaction_log.length, 44); | |
| 238 | assert_eq!( | |
| 239 | u64::from_le_bytes(bytes[0x640..0x648].try_into().unwrap()), | |
| 240 | 0xac4 | |
| 241 | ); | |
| 242 | assert!(store.checksum_mismatches.is_empty()); | |
| 243 | assert_eq!(&bytes[0xacc..0xad4], &[1, 0, 0, 0, 0x29, 0x9d, 0xf0, 0x68]); | |
| 244 | bytes[0xad0] ^= 1; | |
| 245 | assert_eq!(Store::parse(&bytes).unwrap().checksum_mismatches, [0xacc]); | |
| 246 | } |
crates/onestore/tests/support/checkpoint.rs created+21| ... | ... | @@ -0,0 +1,21 @@ |
| 1 | use onestore::{ExGuid, RevisionIndex, Store}; | |
| 2 | ||
| 3 | pub fn pending(source: &[u8], sid: ExGuid, oid: ExGuid, property: u32) -> Vec<u8> { | |
| 4 | let mut source = source.to_vec(); | |
| 5 | for value in 1_000_000_u32.. { | |
| 6 | let store = Store::parse(&source).unwrap(); | |
| 7 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 8 | let rid = index.spaces[&sid].labels[&(ExGuid::default(), 1)]; | |
| 9 | let depth = | |
| 10 | std::iter::successors(Some(rid), |id| index.spaces[&sid].revisions[id].dependency) | |
| 11 | .count(); | |
| 12 | assert!(depth <= 512); | |
| 13 | if depth == 512 { | |
| 14 | return source; | |
| 15 | } | |
| 16 | source = | |
| 17 | onestore::replace_property_bytes(&source, sid, oid, property, &value.to_le_bytes()) | |
| 18 | .unwrap(); | |
| 19 | } | |
| 20 | unreachable!() | |
| 21 | } |
crates/onestore/tests/support/disk.rs created+54| ... | ... | @@ -0,0 +1,54 @@ |
| 1 | pub struct Disk { | |
| 2 | pub visible: Vec<u8>, | |
| 3 | pub durable: Vec<u8>, | |
| 4 | pub operation: usize, | |
| 5 | pub fail_at: Option<usize>, | |
| 6 | pub write_limit: usize, | |
| 7 | pub random: u64, | |
| 8 | } | |
| 9 | ||
| 10 | impl Disk { | |
| 11 | fn interrupt(&mut self) -> std::io::Result<()> { | |
| 12 | self.operation += 1; | |
| 13 | if self.fail_at != Some(self.operation) { | |
| 14 | return Ok(()); | |
| 15 | } | |
| 16 | self.durable.resize(self.visible.len(), 0); | |
| 17 | for (durable, visible) in self.durable.iter_mut().zip(&self.visible) { | |
| 18 | self.random ^= self.random << 13; | |
| 19 | self.random ^= self.random >> 7; | |
| 20 | self.random ^= self.random << 17; | |
| 21 | if self.random & 1 != 0 { | |
| 22 | *durable = *visible; | |
| 23 | } | |
| 24 | } | |
| 25 | Err(std::io::Error::other("Injected storage interruption")) | |
| 26 | } | |
| 27 | } | |
| 28 | ||
| 29 | impl onestore::CommitIo for Disk { | |
| 30 | fn read_at(&mut self, offset: u64, bytes: &mut [u8]) -> std::io::Result<usize> { | |
| 31 | self.interrupt()?; | |
| 32 | let offset = offset as usize; | |
| 33 | let size = bytes | |
| 34 | .len() | |
| 35 | .min(193) | |
| 36 | .min(self.visible.len().saturating_sub(offset)); | |
| 37 | bytes[..size].copy_from_slice(&self.visible[offset..offset + size]); | |
| 38 | Ok(size) | |
| 39 | } | |
| 40 | fn write_at(&mut self, offset: u64, bytes: &[u8]) -> std::io::Result<usize> { | |
| 41 | let offset = offset as usize; | |
| 42 | let size = bytes.len().min(self.write_limit); | |
| 43 | self.visible | |
| 44 | .resize(self.visible.len().max(offset + size), 0); | |
| 45 | self.visible[offset..offset + size].copy_from_slice(&bytes[..size]); | |
| 46 | self.interrupt()?; | |
| 47 | Ok(size) | |
| 48 | } | |
| 49 | fn flush(&mut self) -> std::io::Result<()> { | |
| 50 | self.interrupt()?; | |
| 51 | self.durable.clone_from(&self.visible); | |
| 52 | Ok(()) | |
| 53 | } | |
| 54 | } |
crates/onestore/tests/writer.rs created+450| ... | ... | @@ -0,0 +1,450 @@ |
| 1 | use onestore::{ | |
| 2 | ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, replace_property_bytes, | |
| 3 | }; | |
| 4 | use std::fs; | |
| 5 | ||
| 6 | #[test] | |
| 7 | fn scalar_edit_appends_a_revision_and_preserves_every_prior_object() { | |
| 8 | let source = | |
| 9 | fs::read("../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one") | |
| 10 | .unwrap(); | |
| 11 | let store = Store::parse(&source).unwrap(); | |
| 12 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 13 | let mut selected = None; | |
| 14 | for (osid, space) in &index.spaces { | |
| 15 | let revision = index | |
| 16 | .resolve(*osid, space.labels[&(ExGuid::default(), 1)]) | |
| 17 | .unwrap(); | |
| 18 | for oid in revision.reachable().unwrap() { | |
| 19 | let object = &revision.objects[&oid]; | |
| 20 | if let ObjectData::Properties(bytes) = object.data { | |
| 21 | for property in &PropertySets::parse(bytes).unwrap().sets[0] { | |
| 22 | if property.value == Value::Bytes(b"Fictitious plain text.") { | |
| 23 | assert!(selected.replace((*osid, oid, property.id)).is_none()); | |
| 24 | } | |
| 25 | } | |
| 26 | } | |
| 27 | } | |
| 28 | } | |
| 29 | let (osid, oid, property) = selected.unwrap(); | |
| 30 | assert_eq!( | |
| 31 | replace_property_bytes(&source, osid, oid, property, b"Fictitious plain text.").unwrap(), | |
| 32 | source | |
| 33 | ); | |
| 34 | for length in 0..=40 { | |
| 35 | let value = vec![b'x'; length]; | |
| 36 | let written = replace_property_bytes(&source, osid, oid, property, &value).unwrap(); | |
| 37 | assert_preserved_committed_bytes(&source, &written); | |
| 38 | let parsed = Store::parse(&written).unwrap(); | |
| 39 | assert!(parsed.checksum_mismatches.is_empty()); | |
| 40 | assert_eq!( | |
| 41 | parsed.header.transaction_count, | |
| 42 | store.header.transaction_count + 1 | |
| 43 | ); | |
| 44 | assert_eq!(parsed.header.generation, store.header.generation + 1); | |
| 45 | assert_ne!(parsed.header.deny_read_id, store.header.deny_read_id); | |
| 46 | let after = RevisionIndex::parse(&parsed).unwrap(); | |
| 47 | after.validate_current().unwrap(); | |
| 48 | for (space_id, space) in &index.spaces { | |
| 49 | for rid in space.revisions.keys() { | |
| 50 | let before = index.resolve(*space_id, *rid).unwrap(); | |
| 51 | let unchanged = after.resolve(*space_id, *rid).unwrap(); | |
| 52 | assert_eq!(before.roots, unchanged.roots); | |
| 53 | assert_eq!(before.objects.len(), unchanged.objects.len()); | |
| 54 | for (id, object) in before.objects { | |
| 55 | let same = &unchanged.objects[&id]; | |
| 56 | assert_eq!(object.jcid, same.jcid); | |
| 57 | assert_eq!(object.reference_count, same.reference_count); | |
| 58 | assert_eq!(object.global_ids, same.global_ids); | |
| 59 | assert_eq!(object.data, same.data); | |
| 60 | } | |
| 61 | } | |
| 62 | } | |
| 63 | let space = &after.spaces[&osid]; | |
| 64 | let active = after | |
| 65 | .resolve(osid, space.labels[&(ExGuid::default(), 1)]) | |
| 66 | .unwrap(); | |
| 67 | let ObjectData::Properties(data) = active.objects[&oid].data else { | |
| 68 | panic!() | |
| 69 | }; | |
| 70 | let properties = PropertySets::parse(data).unwrap(); | |
| 71 | assert_eq!( | |
| 72 | properties.sets[0] | |
| 73 | .iter() | |
| 74 | .find(|candidate| candidate.id == property) | |
| 75 | .unwrap() | |
| 76 | .value, | |
| 77 | Value::Bytes(&value) | |
| 78 | ); | |
| 79 | } | |
| 80 | } | |
| 81 | ||
| 82 | #[test] | |
| 83 | fn toc_color_edit_uses_its_native_revision_encoding_and_crc() { | |
| 84 | let source = fs::read( | |
| 85 | "../../corpus/native/20260905-05/snapshots/02-text/notebook/Open Notebook.onetoc2", | |
| 86 | ) | |
| 87 | .unwrap(); | |
| 88 | let store = Store::parse(&source).unwrap(); | |
| 89 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 90 | let rid = index.spaces[&index.root].labels[&(ExGuid::default(), 1)]; | |
| 91 | let revision = index.resolve(index.root, rid).unwrap(); | |
| 92 | let oid = revision.roots[&1]; | |
| 93 | let written = | |
| 94 | replace_property_bytes(&source, index.root, oid, 0x14001cbe, &[0x33, 0x66, 0x99, 0]) | |
| 95 | .unwrap(); | |
| 96 | let after = Store::parse(&written).unwrap(); | |
| 97 | assert!(after.checksum_mismatches.is_empty()); | |
| 98 | assert_preserved_committed_bytes(&source, &written); | |
| 99 | let current = RevisionIndex::parse(&after).unwrap(); | |
| 100 | current.validate_current().unwrap(); | |
| 101 | assert_eq!( | |
| 102 | current.resolve(index.root, rid).unwrap().objects[&oid].data, | |
| 103 | revision.objects[&oid].data | |
| 104 | ); | |
| 105 | let active = current | |
| 106 | .resolve( | |
| 107 | index.root, | |
| 108 | current.spaces[&index.root].labels[&(ExGuid::default(), 1)], | |
| 109 | ) | |
| 110 | .unwrap(); | |
| 111 | let ObjectData::Properties(blob) = active.objects[&oid].data else { | |
| 112 | panic!() | |
| 113 | }; | |
| 114 | assert!( | |
| 115 | PropertySets::parse(blob).unwrap().sets[0] | |
| 116 | .iter() | |
| 117 | .any(|p| p.id == 0x14001cbe && p.value == Value::Bytes(&[0x33, 0x66, 0x99, 0])) | |
| 118 | ); | |
| 119 | } | |
| 120 | ||
| 121 | #[test] | |
| 122 | fn fresh_section_has_unique_identities_and_exact_utf16_text() { | |
| 123 | let text = "Created in Rust: café 東京 🦀"; | |
| 124 | let first = onestore::create_section("synthetic.one", text, "Fixture Author").unwrap(); | |
| 125 | let second = onestore::create_section("synthetic.one", text, "Fixture Author").unwrap(); | |
| 126 | let a = Store::parse(&first).unwrap(); | |
| 127 | let b = Store::parse(&second).unwrap(); | |
| 128 | assert_ne!(a.header.file_id, b.header.file_id); | |
| 129 | assert!(a.checksum_mismatches.is_empty()); | |
| 130 | let index = RevisionIndex::parse(&a).unwrap(); | |
| 131 | index.validate_current().unwrap(); | |
| 132 | assert_eq!(index.spaces.len(), 2); | |
| 133 | let expected: Vec<_> = text | |
| 134 | .encode_utf16() | |
| 135 | .chain([0]) | |
| 136 | .flat_map(u16::to_le_bytes) | |
| 137 | .collect(); | |
| 138 | let mut found = 0; | |
| 139 | for (osid, space) in &index.spaces { | |
| 140 | let revision = index | |
| 141 | .resolve(*osid, space.labels[&(ExGuid::default(), 1)]) | |
| 142 | .unwrap(); | |
| 143 | for oid in revision.reachable().unwrap() { | |
| 144 | let object = &revision.objects[&oid]; | |
| 145 | if object.jcid == 0x6000e { | |
| 146 | let ObjectData::Properties(data) = object.data else { | |
| 147 | panic!() | |
| 148 | }; | |
| 149 | assert!( | |
| 150 | PropertySets::parse(data).unwrap().sets[0] | |
| 151 | .iter() | |
| 152 | .any(|p| p.id == 0x1c001c22 && p.value == Value::Bytes(&expected)) | |
| 153 | ); | |
| 154 | found += 1; | |
| 155 | } | |
| 156 | } | |
| 157 | } | |
| 158 | assert_eq!(found, 1); | |
| 159 | for text in ["line\nfeed", "embedded\0nul"] { | |
| 160 | assert!(onestore::create_section("a.one", text, "").is_err()); | |
| 161 | } | |
| 162 | for name in ["a.onetoc2", "../a.one", "a\\b.one", "a\0.one"] { | |
| 163 | assert!(onestore::create_section(name, "text", "").is_err()); | |
| 164 | } | |
| 165 | } | |
| 166 | ||
| 167 | #[test] | |
| 168 | fn malformed_creation_sequences_are_rejected_before_object_resolution() { | |
| 169 | let source = onestore::create_section("a.one", "text", "").unwrap(); | |
| 170 | let store = Store::parse(&source).unwrap(); | |
| 171 | let node = store | |
| 172 | .lists | |
| 173 | .values() | |
| 174 | .flat_map(|list| &list.nodes) | |
| 175 | .find(|node| node.id == 0x84) | |
| 176 | .unwrap(); | |
| 177 | let at = node.offset; | |
| 178 | let mut damaged = source.clone(); | |
| 179 | let header = u32::from_le_bytes(damaged[at..at + 4].try_into().unwrap()); | |
| 180 | damaged[at..at + 4].copy_from_slice(&((header & !0x3ff) | 0x5a).to_le_bytes()); | |
| 181 | let store = Store::parse(&damaged).unwrap(); | |
| 182 | assert_eq!( | |
| 183 | RevisionIndex::parse(&store).unwrap_err().message, | |
| 184 | "Object group lacks its dependency overrides" | |
| 185 | ); | |
| 186 | let store = Store::parse(&source).unwrap(); | |
| 187 | let root = store | |
| 188 | .lists | |
| 189 | .values() | |
| 190 | .find(|list| list.nodes.iter().any(|node| node.id == 4)) | |
| 191 | .unwrap(); | |
| 192 | let selector = root.nodes.iter().find(|node| node.id == 4).unwrap(); | |
| 193 | let start = root.nodes[0].offset; | |
| 194 | let end = selector.offset + 24; | |
| 195 | let mut damaged = source.clone(); | |
| 196 | damaged[start..end].rotate_right(24); | |
| 197 | let store = Store::parse(&damaged).unwrap(); | |
| 198 | assert_eq!( | |
| 199 | RevisionIndex::parse(&store).unwrap_err().message, | |
| 200 | "Root object space is referenced before its declaration" | |
| 201 | ); | |
| 202 | } | |
| 203 | ||
| 204 | #[test] | |
| 205 | fn created_toc_preserves_section_order_names_and_identities() { | |
| 206 | let entries = [("second.one", [2; 16]), ("first.one", [1; 16])]; | |
| 207 | let bytes = onestore::create_table_of_contents("Open Notebook.onetoc2", &entries).unwrap(); | |
| 208 | let store = Store::parse(&bytes).unwrap(); | |
| 209 | assert!(store.checksum_mismatches.is_empty()); | |
| 210 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 211 | index.validate_current().unwrap(); | |
| 212 | let revision = index | |
| 213 | .resolve( | |
| 214 | index.root, | |
| 215 | index.spaces[&index.root].labels[&(ExGuid::default(), 1)], | |
| 216 | ) | |
| 217 | .unwrap(); | |
| 218 | let root = &revision.objects[&revision.roots[&1]]; | |
| 219 | for (oid, (name, identity)) in root.references().unwrap().objects.iter().zip(entries) { | |
| 220 | let ObjectData::Properties(data) = revision.objects[oid].data else { | |
| 221 | panic!() | |
| 222 | }; | |
| 223 | let props = PropertySets::parse(data).unwrap(); | |
| 224 | let expected: Vec<_> = name | |
| 225 | .encode_utf16() | |
| 226 | .chain([0]) | |
| 227 | .flat_map(u16::to_le_bytes) | |
| 228 | .collect(); | |
| 229 | assert!( | |
| 230 | props.sets[0] | |
| 231 | .iter() | |
| 232 | .any(|p| p.id == 0x1c001d94 && p.value == Value::Bytes(&identity)) | |
| 233 | ); | |
| 234 | assert!( | |
| 235 | props.sets[0] | |
| 236 | .iter() | |
| 237 | .any(|p| p.id == 0x1c001d6b && p.value == Value::Bytes(&expected)) | |
| 238 | ); | |
| 239 | } | |
| 240 | assert_eq!(root.references().unwrap().objects.len(), entries.len()); | |
| 241 | assert!( | |
| 242 | onestore::create_table_of_contents( | |
| 243 | "Open Notebook.onetoc2", | |
| 244 | &[("same.one", [1; 16]), ("SAME.one", [2; 16])] | |
| 245 | ) | |
| 246 | .is_err() | |
| 247 | ); | |
| 248 | assert!( | |
| 249 | onestore::create_table_of_contents( | |
| 250 | "Open Notebook.onetoc2", | |
| 251 | &[("a.one", [1; 16]), ("b.one", [1; 16])] | |
| 252 | ) | |
| 253 | .is_err() | |
| 254 | ); | |
| 255 | let empty = onestore::create_table_of_contents("Open Notebook.onetoc2", &[]).unwrap(); | |
| 256 | let store = Store::parse(&empty).unwrap(); | |
| 257 | RevisionIndex::parse(&store) | |
| 258 | .unwrap() | |
| 259 | .validate_current() | |
| 260 | .unwrap(); | |
| 261 | } | |
| 262 | ||
| 263 | fn assert_preserved_committed_bytes(source: &[u8], written: &[u8]) { | |
| 264 | let before = Store::parse(source).unwrap(); | |
| 265 | let after = Store::parse(written).unwrap(); | |
| 266 | for node in before.lists.values().flat_map(|list| &list.nodes) { | |
| 267 | let header = u32::from_le_bytes(source[node.offset..node.offset + 4].try_into().unwrap()); | |
| 268 | let size = ((header >> 10) & 0x1fff) as usize; | |
| 269 | assert!( | |
| 270 | source[node.offset..node.offset + size] == written[node.offset..node.offset + size], | |
| 271 | "Committed node changed at {}", | |
| 272 | node.offset | |
| 273 | ); | |
| 274 | if let Some(onestore::Reference::Data(chunk)) = node.reference | |
| 275 | && chunk.length > 0 | |
| 276 | { | |
| 277 | assert_eq!( | |
| 278 | before.chunk_data(chunk).unwrap(), | |
| 279 | after.chunk_data(chunk).unwrap() | |
| 280 | ); | |
| 281 | } | |
| 282 | } | |
| 283 | let mut uncommitted = written.to_vec(); | |
| 284 | uncommitted[..1024].copy_from_slice(&source[..1024]); | |
| 285 | let old = Store::parse(&uncommitted).unwrap(); | |
| 286 | assert!(old.checksum_mismatches.is_empty()); | |
| 287 | RevisionIndex::parse(&old) | |
| 288 | .unwrap() | |
| 289 | .validate_current() | |
| 290 | .unwrap(); | |
| 291 | } | |
| 292 | ||
| 293 | #[test] | |
| 294 | fn toc_writes_cross_fragment_and_counter_boundaries_without_crc_drift() { | |
| 295 | let mut bytes = | |
| 296 | fs::read("../../corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2").unwrap(); | |
| 297 | for i in 0_u32..260 { | |
| 298 | let store = Store::parse(&bytes).unwrap(); | |
| 299 | assert!(store.checksum_mismatches.is_empty(), "edit {i}"); | |
| 300 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 301 | let root = index.root; | |
| 302 | let revision = index | |
| 303 | .resolve(root, index.spaces[&root].labels[&(ExGuid::default(), 1)]) | |
| 304 | .unwrap(); | |
| 305 | let oid = revision.roots[&1]; | |
| 306 | let written = | |
| 307 | replace_property_bytes(&bytes, root, oid, 0x14001cbe, &i.to_le_bytes()).unwrap(); | |
| 308 | assert_preserved_committed_bytes(&bytes, &written); | |
| 309 | bytes = written; | |
| 310 | } | |
| 311 | let store = Store::parse(&bytes).unwrap(); | |
| 312 | assert!(store.checksum_mismatches.is_empty()); | |
| 313 | assert!(store.header.transaction_count >= 262); | |
| 314 | } | |
| 315 | ||
| 316 | #[test] | |
| 317 | fn checkpoints_bound_dependencies_and_preserve_native_objects_and_history() { | |
| 318 | for (path, section) in [ | |
| 319 | ( | |
| 320 | "../../corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one", | |
| 321 | true, | |
| 322 | ), | |
| 323 | ( | |
| 324 | "../../corpus/m6/native-structure-01/notebook/Open Notebook.onetoc2", | |
| 325 | false, | |
| 326 | ), | |
| 327 | ] { | |
| 328 | let mut bytes = fs::read(path).unwrap(); | |
| 329 | let initial = Store::parse(&bytes).unwrap(); | |
| 330 | let index = RevisionIndex::parse(&initial).unwrap(); | |
| 331 | let mut candidates = Vec::new(); | |
| 332 | for (sid, space) in &index.spaces { | |
| 333 | let revision = index | |
| 334 | .resolve(*sid, space.labels[&(ExGuid::default(), 1)]) | |
| 335 | .unwrap(); | |
| 336 | for oid in revision.reachable().unwrap() { | |
| 337 | let object = &revision.objects[&oid]; | |
| 338 | if object.jcid != if section { 0x6000e } else { 0x20001 } { | |
| 339 | continue; | |
| 340 | } | |
| 341 | let ObjectData::Properties(blob) = object.data else { | |
| 342 | panic!() | |
| 343 | }; | |
| 344 | let property = if section { 0x14001d7a } else { 0x14001cbe }; | |
| 345 | if PropertySets::parse(blob).unwrap().sets[0] | |
| 346 | .iter() | |
| 347 | .any(|p| p.id == property) | |
| 348 | { | |
| 349 | candidates.push((*sid, oid, property)); | |
| 350 | } | |
| 351 | } | |
| 352 | } | |
| 353 | assert!(!candidates.is_empty()); | |
| 354 | let sid = candidates[0].0; | |
| 355 | candidates.retain(|candidate| candidate.0 == sid); | |
| 356 | if section { | |
| 357 | let revision = index | |
| 358 | .resolve(sid, index.spaces[&sid].labels[&(ExGuid::default(), 1)]) | |
| 359 | .unwrap(); | |
| 360 | assert!( | |
| 361 | revision | |
| 362 | .objects | |
| 363 | .values() | |
| 364 | .any(|o| matches!(o.data, ObjectData::File { .. })) | |
| 365 | ); | |
| 366 | assert!(revision.objects.values().any(|o| o.jcid & 0x100000 != 0)); | |
| 367 | } | |
| 368 | let mut checkpoints = 0; | |
| 369 | for operation in 0_u32..1025 { | |
| 370 | let (_, oid, property) = candidates[operation as usize % candidates.len()]; | |
| 371 | let store = Store::parse(&bytes).unwrap(); | |
| 372 | let before = RevisionIndex::parse(&store).unwrap(); | |
| 373 | let rid = before.spaces[&sid].labels[&(ExGuid::default(), 1)]; | |
| 374 | let value = (1_000_000 + operation).to_le_bytes(); | |
| 375 | let written = replace_property_bytes(&bytes, sid, oid, property, &value).unwrap(); | |
| 376 | let updated = Store::parse(&written).unwrap(); | |
| 377 | assert!(updated.checksum_mismatches.is_empty()); | |
| 378 | assert_eq!( | |
| 379 | updated.header.transaction_count, | |
| 380 | store.header.transaction_count + 1 | |
| 381 | ); | |
| 382 | let after = RevisionIndex::parse(&updated).unwrap(); | |
| 383 | after.validate_current().unwrap(); | |
| 384 | let next = after.spaces[&sid].labels[&(ExGuid::default(), 1)]; | |
| 385 | let depth = | |
| 386 | std::iter::successors(Some(next), |id| after.spaces[&sid].revisions[id].dependency) | |
| 387 | .count(); | |
| 388 | assert!(depth <= 512); | |
| 389 | if after.spaces[&sid].revisions[&next].dependency.is_none() { | |
| 390 | checkpoints += 1; | |
| 391 | assert_preserved_committed_bytes(&bytes, &written); | |
| 392 | let old = before.resolve(sid, rid).unwrap(); | |
| 393 | let current = after.resolve(sid, next).unwrap(); | |
| 394 | assert_eq!(old.roots, current.roots); | |
| 395 | assert_eq!(old.objects.len(), current.objects.len()); | |
| 396 | for (id, object) in &old.objects { | |
| 397 | let same = &current.objects[id]; | |
| 398 | assert_eq!(object.jcid, same.jcid); | |
| 399 | assert_eq!(object.reference_count, same.reference_count); | |
| 400 | let a = object.references().unwrap(); | |
| 401 | let b = same.references().unwrap(); | |
| 402 | assert_eq!(a.objects, b.objects); | |
| 403 | assert_eq!(a.object_spaces, b.object_spaces); | |
| 404 | assert_eq!(a.contexts, b.contexts); | |
| 405 | if section { | |
| 406 | assert_eq!(object.global_ids, same.global_ids); | |
| 407 | if *id != oid { | |
| 408 | assert_eq!(object.data, same.data); | |
| 409 | } | |
| 410 | } | |
| 411 | if let (ObjectData::Properties(a), ObjectData::Properties(b)) = | |
| 412 | (object.data, same.data) | |
| 413 | { | |
| 414 | let a = PropertySets::parse(a).unwrap(); | |
| 415 | let b = PropertySets::parse(b).unwrap(); | |
| 416 | assert_eq!(a.sets.len(), b.sets.len()); | |
| 417 | for (a, b) in a.sets.iter().zip(&b.sets) { | |
| 418 | assert_eq!(a.len(), b.len()); | |
| 419 | for (a, b) in a.iter().zip(b) { | |
| 420 | assert_eq!(a.id, b.id); | |
| 421 | if *id == oid && a.id == property { | |
| 422 | assert_eq!(b.value, Value::Bytes(&value)); | |
| 423 | } else if !matches!(a.value, Value::References { .. }) { | |
| 424 | assert_eq!(a.value, b.value); | |
| 425 | } | |
| 426 | } | |
| 427 | } | |
| 428 | } | |
| 429 | } | |
| 430 | for (space_id, space) in &before.spaces { | |
| 431 | for previous in space.revisions.keys() { | |
| 432 | let old = before.resolve(*space_id, *previous).unwrap(); | |
| 433 | let preserved = after.resolve(*space_id, *previous).unwrap(); | |
| 434 | assert_eq!(old.roots, preserved.roots); | |
| 435 | assert_eq!(old.objects.len(), preserved.objects.len()); | |
| 436 | for (id, object) in old.objects { | |
| 437 | let same = &preserved.objects[&id]; | |
| 438 | assert_eq!(object.jcid, same.jcid); | |
| 439 | assert_eq!(object.reference_count, same.reference_count); | |
| 440 | assert_eq!(object.global_ids, same.global_ids); | |
| 441 | assert_eq!(object.data, same.data); | |
| 442 | } | |
| 443 | } | |
| 444 | } | |
| 445 | } | |
| 446 | bytes = written; | |
| 447 | } | |
| 448 | assert_eq!(checkpoints, 2, "{path}"); | |
| 449 | } | |
| 450 | } |
fuzz/Cargo.lock created+196| ... | ... | @@ -0,0 +1,196 @@ |
| 1 | # This file is automatically @generated by Cargo. | |
| 2 | # It is not intended for manual editing. | |
| 3 | version = 4 | |
| 4 | ||
| 5 | [[package]] | |
| 6 | name = "arbitrary" | |
| 7 | version = "1.4.2" | |
| 8 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 9 | checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" | |
| 10 | ||
| 11 | [[package]] | |
| 12 | name = "bitflags" | |
| 13 | version = "2.13.1" | |
| 14 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 15 | checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" | |
| 16 | ||
| 17 | [[package]] | |
| 18 | name = "cc" | |
| 19 | version = "1.4.5" | |
| 20 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 21 | checksum = "005ec2760ca554fae18df7a11195552ec576cd665632a881bc011d5bb2fd4d80" | |
| 22 | dependencies = [ | |
| 23 | "find-msvc-tools", | |
| 24 | "jobserver", | |
| 25 | "libc", | |
| 26 | "shlex", | |
| 27 | ] | |
| 28 | ||
| 29 | [[package]] | |
| 30 | name = "cfg-if" | |
| 31 | version = "1.0.4" | |
| 32 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 33 | checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" | |
| 34 | ||
| 35 | [[package]] | |
| 36 | name = "cfg_aliases" | |
| 37 | version = "0.2.2" | |
| 38 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 39 | checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527" | |
| 40 | ||
| 41 | [[package]] | |
| 42 | name = "find-msvc-tools" | |
| 43 | version = "0.1.12" | |
| 44 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 45 | checksum = "3e0f1c7c3a72c66fd80abe965175f7523475c0489a87d3ff9d6e8c87d87a9d2d" | |
| 46 | ||
| 47 | [[package]] | |
| 48 | name = "getrandom" | |
| 49 | version = "0.4.3" | |
| 50 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 51 | checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" | |
| 52 | dependencies = [ | |
| 53 | "cfg-if", | |
| 54 | "libc", | |
| 55 | "r-efi", | |
| 56 | ] | |
| 57 | ||
| 58 | [[package]] | |
| 59 | name = "jobserver" | |
| 60 | version = "0.1.35" | |
| 61 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 62 | checksum = "1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3" | |
| 63 | dependencies = [ | |
| 64 | "getrandom", | |
| 65 | "libc", | |
| 66 | ] | |
| 67 | ||
| 68 | [[package]] | |
| 69 | name = "libc" | |
| 70 | version = "0.2.189" | |
| 71 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 72 | checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" | |
| 73 | ||
| 74 | [[package]] | |
| 75 | name = "libfuzzer-sys" | |
| 76 | version = "0.4.13" | |
| 77 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 78 | checksum = "a9fd2f41a1cba099f79a0b6b6c35656cf7c03351a7bae8ff0f28f25270f929d2" | |
| 79 | dependencies = [ | |
| 80 | "arbitrary", | |
| 81 | "cc", | |
| 82 | ] | |
| 83 | ||
| 84 | [[package]] | |
| 85 | name = "md5" | |
| 86 | version = "0.8.1" | |
| 87 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 88 | checksum = "7ebb8d8732c6a6df3d8f032a82911cfc747e00efb95cc46e8d0acd5b5b88570c" | |
| 89 | ||
| 90 | [[package]] | |
| 91 | name = "nix" | |
| 92 | version = "0.31.3" | |
| 93 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 94 | checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" | |
| 95 | dependencies = [ | |
| 96 | "bitflags", | |
| 97 | "cfg-if", | |
| 98 | "cfg_aliases", | |
| 99 | "libc", | |
| 100 | ] | |
| 101 | ||
| 102 | [[package]] | |
| 103 | name = "onestore" | |
| 104 | version = "0.1.0" | |
| 105 | dependencies = [ | |
| 106 | "getrandom", | |
| 107 | "md5", | |
| 108 | "nix", | |
| 109 | "serde", | |
| 110 | ] | |
| 111 | ||
| 112 | [[package]] | |
| 113 | name = "onestore-fuzz" | |
| 114 | version = "0.0.0" | |
| 115 | dependencies = [ | |
| 116 | "libfuzzer-sys", | |
| 117 | "md5", | |
| 118 | "onestore", | |
| 119 | ] | |
| 120 | ||
| 121 | [[package]] | |
| 122 | name = "proc-macro2" | |
| 123 | version = "1.0.107" | |
| 124 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 125 | checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" | |
| 126 | dependencies = [ | |
| 127 | "unicode-ident", | |
| 128 | ] | |
| 129 | ||
| 130 | [[package]] | |
| 131 | name = "quote" | |
| 132 | version = "1.0.47" | |
| 133 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 134 | checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" | |
| 135 | dependencies = [ | |
| 136 | "proc-macro2", | |
| 137 | ] | |
| 138 | ||
| 139 | [[package]] | |
| 140 | name = "r-efi" | |
| 141 | version = "6.0.0" | |
| 142 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 143 | checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" | |
| 144 | ||
| 145 | [[package]] | |
| 146 | name = "serde" | |
| 147 | version = "1.0.229" | |
| 148 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 149 | checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" | |
| 150 | dependencies = [ | |
| 151 | "serde_core", | |
| 152 | "serde_derive", | |
| 153 | ] | |
| 154 | ||
| 155 | [[package]] | |
| 156 | name = "serde_core" | |
| 157 | version = "1.0.229" | |
| 158 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 159 | checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" | |
| 160 | dependencies = [ | |
| 161 | "serde_derive", | |
| 162 | ] | |
| 163 | ||
| 164 | [[package]] | |
| 165 | name = "serde_derive" | |
| 166 | version = "1.0.229" | |
| 167 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 168 | checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" | |
| 169 | dependencies = [ | |
| 170 | "proc-macro2", | |
| 171 | "quote", | |
| 172 | "syn", | |
| 173 | ] | |
| 174 | ||
| 175 | [[package]] | |
| 176 | name = "shlex" | |
| 177 | version = "2.0.1" | |
| 178 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 179 | checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" | |
| 180 | ||
| 181 | [[package]] | |
| 182 | name = "syn" | |
| 183 | version = "3.0.5" | |
| 184 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 185 | checksum = "12df2e0110f65b775f769bb17ef989067a1d931b2eb822bd4346631eeada89f9" | |
| 186 | dependencies = [ | |
| 187 | "proc-macro2", | |
| 188 | "quote", | |
| 189 | "unicode-ident", | |
| 190 | ] | |
| 191 | ||
| 192 | [[package]] | |
| 193 | name = "unicode-ident" | |
| 194 | version = "1.0.24" | |
| 195 | source = "registry+https://github.com/rust-lang/crates.io-index" | |
| 196 | checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" |
fuzz/Cargo.toml created+71| ... | ... | @@ -0,0 +1,71 @@ |
| 1 | [package] | |
| 2 | name = "onestore-fuzz" | |
| 3 | version = "0.0.0" | |
| 4 | edition = "2024" | |
| 5 | publish = false | |
| 6 | ||
| 7 | [package.metadata] | |
| 8 | cargo-fuzz = true | |
| 9 | ||
| 10 | [dependencies] | |
| 11 | libfuzzer-sys = "0.4" | |
| 12 | onestore = { path = "../crates/onestore" } | |
| 13 | md5 = "0.8.1" | |
| 14 | ||
| 15 | [[bin]] | |
| 16 | name = "store" | |
| 17 | path = "fuzz_targets/store.rs" | |
| 18 | test = false | |
| 19 | doc = false | |
| 20 | bench = false | |
| 21 | ||
| 22 | [workspace] | |
| 23 | ||
| 24 | [[bin]] | |
| 25 | name = "properties" | |
| 26 | path = "fuzz_targets/properties.rs" | |
| 27 | test = false | |
| 28 | doc = false | |
| 29 | bench = false | |
| 30 | ||
| 31 | [[bin]] | |
| 32 | name = "revisions" | |
| 33 | path = "fuzz_targets/revisions.rs" | |
| 34 | test = false | |
| 35 | doc = false | |
| 36 | bench = false | |
| 37 | ||
| 38 | [[bin]] | |
| 39 | name = "write_scalar" | |
| 40 | path = "fuzz_targets/write_scalar.rs" | |
| 41 | test = false | |
| 42 | doc = false | |
| 43 | bench = false | |
| 44 | ||
| 45 | [[bin]] | |
| 46 | name = "create" | |
| 47 | path = "fuzz_targets/create.rs" | |
| 48 | test = false | |
| 49 | doc = false | |
| 50 | bench = false | |
| 51 | ||
| 52 | [[bin]] | |
| 53 | name = "commit" | |
| 54 | path = "fuzz_targets/commit.rs" | |
| 55 | test = false | |
| 56 | doc = false | |
| 57 | bench = false | |
| 58 | ||
| 59 | [[bin]] | |
| 60 | name = "document" | |
| 61 | path = "fuzz_targets/document.rs" | |
| 62 | test = false | |
| 63 | doc = false | |
| 64 | bench = false | |
| 65 | ||
| 66 | [[bin]] | |
| 67 | name = "edit_text" | |
| 68 | path = "fuzz_targets/edit_text.rs" | |
| 69 | test = false | |
| 70 | doc = false | |
| 71 | bench = false |
fuzz/fuzz_targets/commit.rs created+89| ... | ... | @@ -0,0 +1,89 @@ |
| 1 | #![no_main] | |
| 2 | use libfuzzer_sys::fuzz_target; | |
| 3 | use onestore::{CommitState, ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value}; | |
| 4 | use std::sync::LazyLock; | |
| 5 | ||
| 6 | #[path = "../../crates/onestore/tests/support/disk.rs"] | |
| 7 | mod disk; | |
| 8 | use disk::Disk; | |
| 9 | ||
| 10 | const SOURCES: [&[u8]; 2] = [ | |
| 11 | include_bytes!("../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one"), | |
| 12 | include_bytes!("../../corpus/append/round-01/tx-255/notebook/synthetic.one"), | |
| 13 | ]; | |
| 14 | static TARGET: LazyLock<(ExGuid, ExGuid, u32)> = LazyLock::new(|| { | |
| 15 | let store = Store::parse(SOURCES[0]).unwrap(); | |
| 16 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 17 | for (osid, space) in &index.spaces { | |
| 18 | let revision = index | |
| 19 | .resolve(*osid, space.labels[&(ExGuid::default(), 1)]) | |
| 20 | .unwrap(); | |
| 21 | for (oid, object) in revision.objects { | |
| 22 | if let ObjectData::Properties(blob) = object.data { | |
| 23 | for property in &PropertySets::parse(blob).unwrap().sets[0] { | |
| 24 | if property.value == Value::Bytes(b"Fictitious plain text.") { | |
| 25 | return (*osid, oid, property.id); | |
| 26 | } | |
| 27 | } | |
| 28 | } | |
| 29 | } | |
| 30 | } | |
| 31 | panic!("Missing native seed property") | |
| 32 | }); | |
| 33 | ||
| 34 | fn current(bytes: &[u8]) -> Vec<u8> { | |
| 35 | let store = Store::parse(bytes).unwrap(); | |
| 36 | assert!(store.checksum_mismatches.is_empty()); | |
| 37 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 38 | index.validate_current().unwrap(); | |
| 39 | let (osid, oid, property) = *TARGET; | |
| 40 | let revision = index | |
| 41 | .resolve(osid, index.spaces[&osid].labels[&(ExGuid::default(), 1)]) | |
| 42 | .unwrap(); | |
| 43 | let ObjectData::Properties(blob) = revision.objects[&oid].data else { | |
| 44 | panic!() | |
| 45 | }; | |
| 46 | let properties = PropertySets::parse(blob).unwrap(); | |
| 47 | let Value::Bytes(value) = properties.sets[0] | |
| 48 | .iter() | |
| 49 | .find(|p| p.id == property) | |
| 50 | .unwrap() | |
| 51 | .value | |
| 52 | else { | |
| 53 | panic!() | |
| 54 | }; | |
| 55 | value.to_vec() | |
| 56 | } | |
| 57 | ||
| 58 | fuzz_target!(|input: &[u8]| { | |
| 59 | if input.len() < 12 { | |
| 60 | return; | |
| 61 | } | |
| 62 | let mut source = SOURCES[usize::from(input[0].is_multiple_of(4))].to_vec(); | |
| 63 | let (osid, oid, property) = *TARGET; | |
| 64 | for step in 0..=input[1] % 4 { | |
| 65 | let mut value = input[12..].to_vec(); | |
| 66 | value.push(step); | |
| 67 | let before = current(&source); | |
| 68 | let mut storage = Disk { | |
| 69 | visible: source.clone(), | |
| 70 | durable: source.clone(), | |
| 71 | operation: 0, | |
| 72 | fail_at: Some(usize::from(u16::from_le_bytes([input[2], input[3]]))), | |
| 73 | write_limit: usize::from(input[4]) + 1, | |
| 74 | random: u64::from_le_bytes(input[4..12].try_into().unwrap()), | |
| 75 | }; | |
| 76 | let result = | |
| 77 | onestore::commit_property_bytes(&mut storage, &source, osid, oid, property, &value); | |
| 78 | let persisted = current(&storage.durable); | |
| 79 | match result { | |
| 80 | Ok(()) => assert_eq!(persisted, value), | |
| 81 | Err(error) => match error.state { | |
| 82 | CommitState::NotCommitted => assert_eq!(persisted, before), | |
| 83 | CommitState::Committed => assert_eq!(persisted, value), | |
| 84 | CommitState::Unknown => assert!(persisted == before || persisted == value), | |
| 85 | }, | |
| 86 | } | |
| 87 | source = storage.durable; | |
| 88 | } | |
| 89 | }); |
fuzz/fuzz_targets/create.rs created+72| ... | ... | @@ -0,0 +1,72 @@ |
| 1 | #![no_main] | |
| 2 | use libfuzzer_sys::fuzz_target; | |
| 3 | use onestore::{ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, create_section}; | |
| 4 | fuzz_target!(|input: &[u8]| { | |
| 5 | let count = input.first().copied().unwrap_or(0) as usize % 32; | |
| 6 | let entries: Vec<_> = (0..count) | |
| 7 | .map(|i| (format!("section-{i}.one"), [i as u8 + 1; 16])) | |
| 8 | .collect(); | |
| 9 | let sections: Vec<_> = entries | |
| 10 | .iter() | |
| 11 | .map(|(name, id)| (name.as_str(), *id)) | |
| 12 | .collect(); | |
| 13 | let toc = onestore::create_table_of_contents("Open Notebook.onetoc2", &sections).unwrap(); | |
| 14 | let store = Store::parse(&toc).unwrap(); | |
| 15 | assert!(store.checksum_mismatches.is_empty()); | |
| 16 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 17 | index.validate_current().unwrap(); | |
| 18 | let revision = index | |
| 19 | .resolve( | |
| 20 | index.root, | |
| 21 | index.spaces[&index.root].labels[&(ExGuid::default(), 1)], | |
| 22 | ) | |
| 23 | .unwrap(); | |
| 24 | assert_eq!( | |
| 25 | revision.objects[&revision.roots[&1]] | |
| 26 | .references() | |
| 27 | .unwrap() | |
| 28 | .objects | |
| 29 | .len(), | |
| 30 | count | |
| 31 | ); | |
| 32 | let Ok(text) = std::str::from_utf8(input) else { | |
| 33 | return; | |
| 34 | }; | |
| 35 | let result = create_section("synthetic.one", text, "Fuzz author"); | |
| 36 | if text.contains(['\0', '\n']) { | |
| 37 | assert!(result.is_err()); | |
| 38 | return; | |
| 39 | } | |
| 40 | let bytes = result.unwrap(); | |
| 41 | let store = Store::parse(&bytes).unwrap(); | |
| 42 | assert!(store.checksum_mismatches.is_empty()); | |
| 43 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 44 | index.validate_current().unwrap(); | |
| 45 | let expected: Vec<_> = text | |
| 46 | .encode_utf16() | |
| 47 | .chain([0]) | |
| 48 | .flat_map(u16::to_le_bytes) | |
| 49 | .collect(); | |
| 50 | let mut found = 0; | |
| 51 | for (osid, space) in &index.spaces { | |
| 52 | let revision = index | |
| 53 | .resolve(*osid, space.labels[&(ExGuid::default(), 1)]) | |
| 54 | .unwrap(); | |
| 55 | for object in revision | |
| 56 | .objects | |
| 57 | .values() | |
| 58 | .filter(|object| object.jcid == 0x6000e) | |
| 59 | { | |
| 60 | let ObjectData::Properties(data) = object.data else { | |
| 61 | panic!() | |
| 62 | }; | |
| 63 | assert!( | |
| 64 | PropertySets::parse(data).unwrap().sets[0] | |
| 65 | .iter() | |
| 66 | .any(|p| p.id == 0x1c001c22 && p.value == Value::Bytes(&expected)) | |
| 67 | ); | |
| 68 | found += 1; | |
| 69 | } | |
| 70 | } | |
| 71 | assert_eq!(found, 1); | |
| 72 | }); |
fuzz/fuzz_targets/document.rs created+100| ... | ... | @@ -0,0 +1,100 @@ |
| 1 | #![no_main] | |
| 2 | use libfuzzer_sys::fuzz_target; | |
| 3 | use onestore::{ObjectData, Reference, RevisionIndex, Store, document::Document}; | |
| 4 | use std::sync::LazyLock; | |
| 5 | ||
| 6 | static SOURCES: LazyLock<Vec<Vec<u8>>> = LazyLock::new(|| { | |
| 7 | let mut sources = vec![ | |
| 8 | include_bytes!("../../corpus/append/round-01/complex/notebook/synthetic.one").to_vec(), | |
| 9 | include_bytes!("../../corpus/m6/native-probes-01/notebook/synthetic.one").to_vec(), | |
| 10 | include_bytes!("../../corpus/m6/native-structure-01/notebook/synthetic.one").to_vec(), | |
| 11 | include_bytes!("../../corpus/m6/native-features-01/notebook/Features.one").to_vec(), | |
| 12 | include_bytes!("../../corpus/m6/native-template-controls-01/notebook/synthetic.one") | |
| 13 | .to_vec(), | |
| 14 | include_bytes!("../../corpus/m6/native-break-controls-02/notebook/synthetic.one").to_vec(), | |
| 15 | include_bytes!("../../corpus/m6/native-empty-link-01/notebook/synthetic.one").to_vec(), | |
| 16 | include_bytes!("../../corpus/m6/native-origin-controls-01/input/notebook/synthetic.one") | |
| 17 | .to_vec(), | |
| 18 | include_bytes!("../../corpus/m6/native-page-direction-03/notebook/synthetic.one").to_vec(), | |
| 19 | include_bytes!("../../corpus/m6/native-math-01/notebook/synthetic.one").to_vec(), | |
| 20 | include_bytes!("../../corpus/collaboration/round-01/offline/notebook/synthetic.one") | |
| 21 | .to_vec(), | |
| 22 | ]; | |
| 23 | if let Some(paths) = std::env::var_os("ONESTORE_DOCUMENT_SEEDS") { | |
| 24 | sources.extend(std::env::split_paths(&paths).map(|path| std::fs::read(path).unwrap())); | |
| 25 | } | |
| 26 | sources | |
| 27 | }); | |
| 28 | static RANGES: LazyLock<Vec<(usize, std::ops::Range<usize>, Vec<usize>)>> = LazyLock::new(|| { | |
| 29 | let mut ranges = Vec::new(); | |
| 30 | for (source_index, source) in SOURCES.iter().enumerate() { | |
| 31 | let store = Store::parse(source).unwrap(); | |
| 32 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 33 | let document = Document::parse(&index).unwrap(); | |
| 34 | for (sid, space) in &document.spaces { | |
| 35 | for rid in space.revisions.keys() { | |
| 36 | let revision = index.resolve(*sid, *rid).unwrap(); | |
| 37 | for oid in revision.reachable().unwrap() { | |
| 38 | let object = &revision.objects[&oid]; | |
| 39 | if let ObjectData::Properties(bytes) = object.data { | |
| 40 | let start = bytes.as_ptr().addr() - source.as_ptr().addr(); | |
| 41 | let hashes = store | |
| 42 | .lists | |
| 43 | .values() | |
| 44 | .flat_map(|list| &list.nodes) | |
| 45 | .filter_map(|node| { | |
| 46 | if matches!(node.id, 0xc2 | 0xc4 | 0xc5) | |
| 47 | && let Some(Reference::Data(chunk)) = node.reference | |
| 48 | && chunk.offset == start as u64 | |
| 49 | && chunk.length == bytes.len() as u64 | |
| 50 | { | |
| 51 | Some( | |
| 52 | node.payload.as_ptr().addr() - source.as_ptr().addr() | |
| 53 | + node.payload.len() | |
| 54 | - 16, | |
| 55 | ) | |
| 56 | } else { | |
| 57 | None | |
| 58 | } | |
| 59 | }) | |
| 60 | .collect(); | |
| 61 | if !ranges.iter().any(|(s, r, _)| { | |
| 62 | *s == source_index && *r == (start..start + bytes.len()) | |
| 63 | }) { | |
| 64 | ranges.push((source_index, start..start + bytes.len(), hashes)); | |
| 65 | } | |
| 66 | } | |
| 67 | } | |
| 68 | } | |
| 69 | } | |
| 70 | } | |
| 71 | ranges | |
| 72 | }); | |
| 73 | ||
| 74 | fuzz_target!(|data: &[u8]| { | |
| 75 | if data.len() < 4 { | |
| 76 | return; | |
| 77 | } | |
| 78 | let (source, range, hashes) = | |
| 79 | &RANGES[usize::from(u16::from_le_bytes([data[0], data[1]])) % RANGES.len()]; | |
| 80 | let offset = usize::from(u16::from_le_bytes([data[2], data[3]])) % range.len(); | |
| 81 | let mut bytes = SOURCES[*source].to_vec(); | |
| 82 | let size = (range.len() - offset).min(data.len() - 4); | |
| 83 | bytes[range.start + offset..range.start + offset + size].copy_from_slice(&data[4..4 + size]); | |
| 84 | let digest = md5::compute(&bytes[range.clone()]).0; | |
| 85 | for offset in hashes { | |
| 86 | bytes[*offset..*offset + 16].copy_from_slice(&digest); | |
| 87 | } | |
| 88 | let store = Store::parse(&bytes).unwrap(); | |
| 89 | if let Ok(index) = RevisionIndex::parse(&store) { | |
| 90 | if let Ok(document) = Document::parse(&index) { | |
| 91 | for space in document.spaces.values().flat_map(|s| s.revisions.values()) { | |
| 92 | for (id, node) in &space.nodes { | |
| 93 | if matches!(node.kind, onestore::document::Kind::RichText { .. }) { | |
| 94 | let _ = space.text_runs(*id); | |
| 95 | } | |
| 96 | } | |
| 97 | } | |
| 98 | } | |
| 99 | } | |
| 100 | }); |
fuzz/fuzz_targets/edit_text.rs created+186| ... | ... | @@ -0,0 +1,186 @@ |
| 1 | #![no_main] | |
| 2 | use libfuzzer_sys::fuzz_target; | |
| 3 | use onestore::{ | |
| 4 | CommitState, ExGuid, RevisionIndex, Store, | |
| 5 | document::{Document, Kind}, | |
| 6 | }; | |
| 7 | use std::sync::LazyLock; | |
| 8 | ||
| 9 | #[path = "../../crates/onestore/tests/support/checkpoint.rs"] | |
| 10 | mod checkpoint; | |
| 11 | #[path = "../../crates/onestore/tests/support/disk.rs"] | |
| 12 | mod disk; | |
| 13 | use disk::Disk; | |
| 14 | ||
| 15 | const SOURCE: &[u8] = include_bytes!( | |
| 16 | "../../corpus/native/20260905-05/snapshots/03-format-unicode/notebook/synthetic.one" | |
| 17 | ); | |
| 18 | static CASES: LazyLock<[(Vec<u8>, ExGuid, ExGuid); 7]> = LazyLock::new(|| { | |
| 19 | let fixtures: [(&[u8], &str); 6] = [ | |
| 20 | (SOURCE, "Fictitious"), | |
| 21 | ( | |
| 22 | include_bytes!( | |
| 23 | "../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one" | |
| 24 | ), | |
| 25 | "Fictitious", | |
| 26 | ), | |
| 27 | ( | |
| 28 | include_bytes!("../../corpus/m6/native-empty-link-01/notebook/synthetic.one"), | |
| 29 | "", | |
| 30 | ), | |
| 31 | ( | |
| 32 | include_bytes!("../../corpus/m6/native-structure-01/notebook/synthetic.one"), | |
| 33 | "Native feature probes", | |
| 34 | ), | |
| 35 | ( | |
| 36 | include_bytes!("../../corpus/m7/automatic-titles/widths-and-limits.one"), | |
| 37 | "Right narrow.", | |
| 38 | ), | |
| 39 | ( | |
| 40 | include_bytes!("../../corpus/m7/automatic-titles/widths-and-limits.one"), | |
| 41 | "Left wide.", | |
| 42 | ), | |
| 43 | ]; | |
| 44 | let [ordinary, legacy, empty, title, rtl_title, rtl_body] = fixtures.map(|(source, prefix)| { | |
| 45 | let store = Store::parse(source).unwrap(); | |
| 46 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 47 | let document = Document::parse(&index).unwrap(); | |
| 48 | for (sid, space) in &document.spaces { | |
| 49 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 50 | for (oid, node) in &revision.nodes { | |
| 51 | if matches!(&node.kind, Kind::RichText { text, boilerplate: false, .. } | |
| 52 | if if prefix.is_empty() { text.is_empty() } else { text.starts_with(prefix) }) | |
| 53 | { | |
| 54 | return (source.to_vec(), *sid, *oid); | |
| 55 | } | |
| 56 | } | |
| 57 | } | |
| 58 | panic!("Missing text fixture") | |
| 59 | }); | |
| 60 | let checkpoint = ( | |
| 61 | checkpoint::pending(&ordinary.0, ordinary.1, ordinary.2, 0x14001d7a), | |
| 62 | ordinary.1, | |
| 63 | ordinary.2, | |
| 64 | ); | |
| 65 | [ | |
| 66 | ordinary, legacy, empty, checkpoint, title, rtl_title, rtl_body, | |
| 67 | ] | |
| 68 | }); | |
| 69 | ||
| 70 | fn characters(source: &[u8], sid: ExGuid, oid: ExGuid) -> Vec<(char, String)> { | |
| 71 | let store = Store::parse(source).unwrap(); | |
| 72 | assert!(store.checksum_mismatches.is_empty()); | |
| 73 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 74 | index.validate_current().unwrap(); | |
| 75 | let document = Document::parse(&index).unwrap(); | |
| 76 | let space = &document.spaces[&sid]; | |
| 77 | let revision = &space.revisions[&space.contexts[&ExGuid::default()]]; | |
| 78 | let node = &revision.nodes[&oid]; | |
| 79 | if node.extra[0].iter().any(|field| field.id == 0x88001cb4) { | |
| 80 | let Kind::RichText { text, .. } = &node.kind else { | |
| 81 | panic!() | |
| 82 | }; | |
| 83 | let text = text.trim_start().split('\r').next().unwrap(); | |
| 84 | let Kind::Metadata { title, .. } = &revision.nodes[&revision.roots[&2]].kind else { | |
| 85 | panic!() | |
| 86 | }; | |
| 87 | let pages: Vec<_> = document | |
| 88 | .pages() | |
| 89 | .unwrap() | |
| 90 | .into_iter() | |
| 91 | .filter(|(id, _)| *id == sid) | |
| 92 | .collect(); | |
| 93 | let [(_, page)] = pages.as_slice() else { | |
| 94 | panic!() | |
| 95 | }; | |
| 96 | let Kind::Page { | |
| 97 | alternate_title, .. | |
| 98 | } = &revision.nodes[page].kind | |
| 99 | else { | |
| 100 | panic!() | |
| 101 | }; | |
| 102 | assert_eq!( | |
| 103 | title.as_deref().unwrap(), | |
| 104 | if text.is_empty() { | |
| 105 | alternate_title.as_deref().unwrap_or("") | |
| 106 | } else { | |
| 107 | text | |
| 108 | } | |
| 109 | ); | |
| 110 | if !text.is_empty() { | |
| 111 | assert!(alternate_title.as_deref().unwrap_or("").is_empty()); | |
| 112 | } | |
| 113 | } | |
| 114 | let runs = revision.text_runs(oid).unwrap(); | |
| 115 | let mut characters: Vec<_> = runs | |
| 116 | .iter() | |
| 117 | .flat_map(|run| { | |
| 118 | run.text | |
| 119 | .chars() | |
| 120 | .map(move |c| (c, format!("{:?}", run.format))) | |
| 121 | }) | |
| 122 | .collect(); | |
| 123 | // The terminal marker retains insertion formatting when the final run is empty. | |
| 124 | characters.push(('\0', format!("{:?}", runs.last().unwrap().format))); | |
| 125 | characters | |
| 126 | } | |
| 127 | ||
| 128 | fuzz_target!(|input: &[u8]| { | |
| 129 | let (source, sid, oid) = &CASES[usize::from(input.last().copied().unwrap_or(0)) % CASES.len()]; | |
| 130 | let (sid, oid) = (*sid, *oid); | |
| 131 | let mut persisted_source = source.clone(); | |
| 132 | let mut caches = std::array::from_fn::<_, 6, _>(|_| source.clone()); | |
| 133 | for step in input.chunks_exact(8).take(16) { | |
| 134 | let actor = usize::from(step[6]) % caches.len(); | |
| 135 | if step[7] % 3 == 0 { | |
| 136 | caches[actor].clone_from(&persisted_source); | |
| 137 | continue; | |
| 138 | } | |
| 139 | let source = &caches[actor]; | |
| 140 | let current = characters(&persisted_source, sid, oid); | |
| 141 | let before = characters(source, sid, oid); | |
| 142 | let a = usize::from(step[0]) % before.len(); | |
| 143 | let b = usize::from(step[1]) % before.len(); | |
| 144 | let start = a.min(b); | |
| 145 | let end = a.max(b); | |
| 146 | let offset = before[..start] | |
| 147 | .iter() | |
| 148 | .map(|(c, _)| c.len_utf16() as u32) | |
| 149 | .sum::<u32>(); | |
| 150 | let removed = before[start..end] | |
| 151 | .iter() | |
| 152 | .map(|(c, _)| c.len_utf16() as u32) | |
| 153 | .sum::<u32>(); | |
| 154 | let replacement = ["", "a", "🦀e\u{301}", "日本語", "\n", "\0"][usize::from(step[2]) % 6]; | |
| 155 | let mut expected = before.clone(); | |
| 156 | let format = before[start].1.clone(); | |
| 157 | expected.splice(start..end, replacement.chars().map(|c| (c, format.clone()))); | |
| 158 | let mut storage = Disk { | |
| 159 | visible: persisted_source.clone(), | |
| 160 | durable: persisted_source.clone(), | |
| 161 | operation: 0, | |
| 162 | fail_at: (step[3] & 1 != 0) | |
| 163 | .then_some(source.len().div_ceil(193) + usize::from(step[4]) + 1), | |
| 164 | write_limit: usize::from(step[5]) + 1, | |
| 165 | random: u64::from_le_bytes(step.try_into().unwrap()), | |
| 166 | }; | |
| 167 | let result = onestore::commit_text( | |
| 168 | &mut storage, | |
| 169 | source, | |
| 170 | sid, | |
| 171 | oid, | |
| 172 | offset..offset + removed, | |
| 173 | replacement, | |
| 174 | ); | |
| 175 | let persisted = characters(&storage.durable, sid, oid); | |
| 176 | match result { | |
| 177 | Ok(()) => assert_eq!(persisted, expected), | |
| 178 | Err(error) => match error.state { | |
| 179 | CommitState::NotCommitted => assert_eq!(persisted, current), | |
| 180 | CommitState::Committed => assert_eq!(persisted, expected), | |
| 181 | CommitState::Unknown => assert!(persisted == current || persisted == expected), | |
| 182 | }, | |
| 183 | } | |
| 184 | persisted_source = storage.durable; | |
| 185 | } | |
| 186 | }); |
fuzz/fuzz_targets/properties.rs created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | #![no_main] | |
| 2 | ||
| 3 | use libfuzzer_sys::fuzz_target; | |
| 4 | ||
| 5 | fuzz_target!(|data: &[u8]| { | |
| 6 | let _ = onestore::PropertySets::parse(data); | |
| 7 | }); |
fuzz/fuzz_targets/revisions.rs created+12| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | #![no_main] | |
| 2 | use libfuzzer_sys::fuzz_target; | |
| 3 | use onestore::{RevisionIndex, Store}; | |
| 4 | ||
| 5 | fuzz_target!(|data: &[u8]| { | |
| 6 | if let Ok(store) = Store::parse(data) | |
| 7 | && let Ok(index) = RevisionIndex::parse(&store) | |
| 8 | { | |
| 9 | let _ = index.validate_current(); | |
| 10 | let _ = onestore::document::Document::parse(&index); | |
| 11 | } | |
| 12 | }); |
fuzz/fuzz_targets/store.rs created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | #![no_main] | |
| 2 | ||
| 3 | use libfuzzer_sys::fuzz_target; | |
| 4 | ||
| 5 | fuzz_target!(|data: &[u8]| { | |
| 6 | let _ = onestore::Store::parse(data); | |
| 7 | }); |
fuzz/fuzz_targets/write_scalar.rs created+58| ... | ... | @@ -0,0 +1,58 @@ |
| 1 | #![no_main] | |
| 2 | use libfuzzer_sys::fuzz_target; | |
| 3 | use onestore::{ | |
| 4 | ExGuid, ObjectData, PropertySets, RevisionIndex, Store, Value, replace_property_bytes, | |
| 5 | }; | |
| 6 | use std::sync::LazyLock; | |
| 7 | ||
| 8 | const SOURCE: &[u8] = | |
| 9 | include_bytes!("../../corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one"); | |
| 10 | static TARGET: LazyLock<(ExGuid, ExGuid, u32)> = LazyLock::new(|| { | |
| 11 | let store = Store::parse(SOURCE).unwrap(); | |
| 12 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 13 | for (osid, space) in &index.spaces { | |
| 14 | let revision = index | |
| 15 | .resolve(*osid, space.labels[&(ExGuid::default(), 1)]) | |
| 16 | .unwrap(); | |
| 17 | for (oid, object) in revision.objects { | |
| 18 | if let ObjectData::Properties(data) = object.data { | |
| 19 | for property in &PropertySets::parse(data).unwrap().sets[0] { | |
| 20 | if property.value == Value::Bytes(b"Fictitious plain text.") { | |
| 21 | return (*osid, oid, property.id); | |
| 22 | } | |
| 23 | } | |
| 24 | } | |
| 25 | } | |
| 26 | } | |
| 27 | panic!("Missing native seed property") | |
| 28 | }); | |
| 29 | ||
| 30 | fuzz_target!(|value: &[u8]| { | |
| 31 | let (osid, oid, property) = *TARGET; | |
| 32 | let bytes = replace_property_bytes(SOURCE, osid, oid, property, value).unwrap(); | |
| 33 | let mut before_commit = bytes.clone(); | |
| 34 | before_commit[..1024].copy_from_slice(&SOURCE[..1024]); | |
| 35 | let old = Store::parse(&before_commit).unwrap(); | |
| 36 | assert!(old.checksum_mismatches.is_empty()); | |
| 37 | RevisionIndex::parse(&old) | |
| 38 | .unwrap() | |
| 39 | .validate_current() | |
| 40 | .unwrap(); | |
| 41 | let store = Store::parse(&bytes).unwrap(); | |
| 42 | assert!(store.checksum_mismatches.is_empty()); | |
| 43 | let index = RevisionIndex::parse(&store).unwrap(); | |
| 44 | let rid = index.spaces[&osid].labels[&(ExGuid::default(), 1)]; | |
| 45 | let current = index.resolve(osid, rid).unwrap(); | |
| 46 | let ObjectData::Properties(data) = current.objects[&oid].data else { | |
| 47 | panic!() | |
| 48 | }; | |
| 49 | let properties = PropertySets::parse(data).unwrap(); | |
| 50 | assert_eq!( | |
| 51 | properties.sets[0] | |
| 52 | .iter() | |
| 53 | .find(|candidate| candidate.id == property) | |
| 54 | .unwrap() | |
| 55 | .value, | |
| 56 | Value::Bytes(value) | |
| 57 | ); | |
| 58 | }); |
tools/compare_native.py created+53| ... | ... | @@ -0,0 +1,53 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Compare native captures while excluding cache identities and selection state.""" | |
| 3 | import argparse | |
| 4 | import base64 | |
| 5 | import difflib | |
| 6 | import hashlib | |
| 7 | import json | |
| 8 | from pathlib import Path | |
| 9 | import xml.etree.ElementTree as ET | |
| 10 | from native_xml import ns, pages | |
| 11 | ||
| 12 | ||
| 13 | def content(node): | |
| 14 | attrs = {key: value for key, value in node.attrib.items() | |
| 15 | if key not in ('ID', 'objectID', 'pathCache', 'selected', 'isCurrentlyViewed')} | |
| 16 | text = node.text | |
| 17 | if node.tag == '{%s}Data' % ns['one'] and text: | |
| 18 | text = hashlib.sha256(base64.b64decode(''.join(text.split()), validate=True)).hexdigest() | |
| 19 | elif text is not None and not text.strip() and node.tag != '{%s}T' % ns['one']: | |
| 20 | text = None | |
| 21 | return node.tag, sorted(attrs.items()), text, [content(child) for child in node] | |
| 22 | ||
| 23 | ||
| 24 | def compare(actual, expected): | |
| 25 | captured = [] | |
| 26 | for directory in (actual, expected): | |
| 27 | by_id = {page.get('ID'): page for page in pages(directory)} | |
| 28 | hierarchy = ET.parse(directory / 'hierarchy.xml') | |
| 29 | ordered = [page.get('ID') for page in hierarchy.findall('.//one:Page', ns)] | |
| 30 | if len(ordered) != len(by_id) or set(ordered) != set(by_id): | |
| 31 | raise ValueError('Native page capture does not match its hierarchy: ' + str(directory)) | |
| 32 | captured.append({ | |
| 33 | 'pages': [content(by_id[key]) for key in ordered], | |
| 34 | 'attachments': sorted(hashlib.sha256(path.read_bytes()).hexdigest() | |
| 35 | for path in directory.glob('*.attachment')), | |
| 36 | }) | |
| 37 | if captured[0] != captured[1]: | |
| 38 | difference = '\n'.join(difflib.unified_diff( | |
| 39 | json.dumps(captured[1], indent=2, ensure_ascii=False).splitlines(), | |
| 40 | json.dumps(captured[0], indent=2, ensure_ascii=False).splitlines(), | |
| 41 | fromfile=str(expected), tofile=str(actual), | |
| 42 | )) | |
| 43 | (actual.parent / 'native.diff').write_text(difference + '\n') | |
| 44 | raise AssertionError('Native content differs; inspect ' + str(actual.parent / 'native.diff')) | |
| 45 | ||
| 46 | ||
| 47 | if __name__ == '__main__': | |
| 48 | parser = argparse.ArgumentParser(description=__doc__) | |
| 49 | parser.add_argument('actual', type=Path) | |
| 50 | parser.add_argument('expected', type=Path) | |
| 51 | args = parser.parse_args() | |
| 52 | compare(args.actual, args.expected) | |
| 53 | print('Native document content and attachment bytes match') |
tools/concurrent_rust.py created+163| ... | ... | @@ -0,0 +1,163 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Race independent Rust clients and verify every observed append against committed operations.""" | |
| 3 | import argparse | |
| 4 | from collections import Counter | |
| 5 | from contextlib import contextmanager | |
| 6 | import hashlib | |
| 7 | import json | |
| 8 | import os | |
| 9 | from pathlib import Path | |
| 10 | import subprocess | |
| 11 | import time | |
| 12 | ||
| 13 | ROOT = Path(__file__).resolve().parent.parent | |
| 14 | CLIENT = ROOT / 'target/debug/examples/concurrent_client' | |
| 15 | ||
| 16 | ||
| 17 | def verify(logs, initial_transaction, writers, operations, edit=False): | |
| 18 | commits = [(actor, event) for actor, events in logs.items() for event in events if event['event'] == 'commit'] | |
| 19 | assert Counter(actor for actor, _ in commits) == {f'w{i}': operations for i in range(writers)}, 'Missing or extra acknowledged operations' | |
| 20 | ordered = sorted(commits, key=lambda pair: pair[1]['source_transaction']) | |
| 21 | versions = {initial_transaction: 'Concurrent edits:'} | |
| 22 | seen = set() | |
| 23 | for i, (actor, event) in enumerate(ordered): | |
| 24 | transaction = initial_transaction + i | |
| 25 | assert event['source_transaction'] == transaction, 'Two writers committed the same snapshot or skipped a transaction' | |
| 26 | assert event['token'] == f' [{actor}:{event["operation"]}]', 'Committed token differs from intended operation' | |
| 27 | assert (actor, event['operation']) not in seen, 'An operation committed twice' | |
| 28 | seen.add((actor, event['operation'])) | |
| 29 | if edit: | |
| 30 | intent, = [e for e in logs[actor] if e['event'] == 'intent' and e['attempt'] == event['attempt']] | |
| 31 | assert intent['before'] == versions[transaction] and intent['source_transaction'] == transaction, 'Intent used another snapshot' | |
| 32 | assert intent['operation'] == event['operation'] and intent['token'] == event['token'], 'Acknowledgement differs from intent' | |
| 33 | assert intent['replacement'] == ' café 🦀' + event['token'], 'Unexpected replacement text' | |
| 34 | start, end = intent['range'] | |
| 35 | units = intent['before'].encode('utf-16-le') | |
| 36 | assert len(versions[initial_transaction]) <= start <= end <= len(units) // 2, 'Invalid edit range' | |
| 37 | units[:start * 2].decode('utf-16-le') | |
| 38 | units[end * 2:].decode('utf-16-le') | |
| 39 | versions[transaction + 1] = (units[:start * 2] + intent['replacement'].encode('utf-16-le') + units[end * 2:]).decode('utf-16-le') | |
| 40 | else: | |
| 41 | versions[transaction + 1] = versions[transaction] + event['token'] | |
| 42 | observations = 0 | |
| 43 | intervals = [] | |
| 44 | for actor, events in logs.items(): | |
| 45 | assert events and events[0]['event'] == 'ready' and events[-1]['event'] == 'done', 'Client did not finish' | |
| 46 | previous = initial_transaction | |
| 47 | for event in events: | |
| 48 | if event['event'] in ('commit', 'retry'): | |
| 49 | intervals.append((actor, event['started_us'], event['finished_us'])) | |
| 50 | if event['event'] != 'read': | |
| 51 | continue | |
| 52 | transaction = event['transaction'] | |
| 53 | assert transaction >= previous, 'A reader went backwards' | |
| 54 | previous = transaction | |
| 55 | assert transaction in versions and event['text'] == versions[transaction], 'A reader observed a lost, partial, duplicated or invented edit' | |
| 56 | for _, commit in ordered: | |
| 57 | published = commit['source_transaction'] + 1 | |
| 58 | if commit['finished_us'] < event['started_us']: | |
| 59 | assert transaction >= published, 'Read missed an already acknowledged commit' | |
| 60 | if commit['started_us'] > event['finished_us']: | |
| 61 | assert transaction < published, 'Read observed a future commit' | |
| 62 | observations += 1 | |
| 63 | overlap = sum(a != b and max(start, other_start) < min(end, other_end) | |
| 64 | for i, (a, start, end) in enumerate(intervals) | |
| 65 | for b, other_start, other_end in intervals[i + 1:]) | |
| 66 | assert overlap, 'Writer calls never overlapped' | |
| 67 | return {'commits': len(commits), 'observations': observations, 'overlapping_writer_calls': overlap, | |
| 68 | 'retries': sum(e['event'] == 'retry' for events in logs.values() for e in events), | |
| 69 | 'final_transaction': initial_transaction + len(commits), 'final_text': versions[max(versions)]} | |
| 70 | ||
| 71 | ||
| 72 | @contextmanager | |
| 73 | def running_clients(output, source, writers, readers, operations, seed, timeout=600, edit=False): | |
| 74 | start, stop = output / 'start', output / 'stop' | |
| 75 | (output / 'clients.json').write_text(json.dumps({'writers': writers, 'readers': readers, 'operations': operations, | |
| 76 | 'seed': seed, 'edit': edit, 'client_sha256': hashlib.sha256(CLIENT.read_bytes()).hexdigest()}, indent=2)) | |
| 77 | processes = {} | |
| 78 | streams = [] | |
| 79 | try: | |
| 80 | for mode, count in [('write', writers), ('read', readers)]: | |
| 81 | for i in range(count): | |
| 82 | actor = mode[0] + str(i) | |
| 83 | out = (output / f'{actor}.jsonl').open('w') | |
| 84 | err = (output / f'{actor}.stderr').open('w') | |
| 85 | streams.extend([out, err]) | |
| 86 | processes[actor] = subprocess.Popen([CLIENT, 'edit' if edit and mode == 'write' else mode, source, actor, str(operations), start, stop, | |
| 87 | str(seed + i + (10000 if mode == 'read' else 0))], stdout=out, stderr=err) | |
| 88 | deadline = time.monotonic() + timeout | |
| 89 | while not all((output / f'{actor}.jsonl').stat().st_size for actor in processes): | |
| 90 | if any(p.poll() is not None for p in processes.values()) or time.monotonic() > deadline: | |
| 91 | raise RuntimeError('A client failed before the start barrier.') | |
| 92 | time.sleep(.01) | |
| 93 | yield processes | |
| 94 | while any(p.poll() is None for p in processes.values()): | |
| 95 | failed = {actor: p.returncode for actor, p in processes.items() if p.returncode not in (None, 0)} | |
| 96 | if failed or time.monotonic() > deadline: | |
| 97 | raise RuntimeError(f'Concurrent clients failed or timed out: {failed}') | |
| 98 | if all(p.poll() == 0 for actor, p in processes.items() if actor.startswith('w')): | |
| 99 | stop.touch(exist_ok=True) | |
| 100 | time.sleep(.05) | |
| 101 | assert all(p.returncode == 0 for p in processes.values()), 'A client exited unsuccessfully' | |
| 102 | finally: | |
| 103 | for process in processes.values(): | |
| 104 | if process.poll() is None: | |
| 105 | process.terminate() | |
| 106 | for process in processes.values(): | |
| 107 | try: | |
| 108 | process.wait(timeout=5) | |
| 109 | except subprocess.TimeoutExpired: | |
| 110 | process.kill() | |
| 111 | process.wait() | |
| 112 | for stream in streams: | |
| 113 | stream.close() | |
| 114 | (output / 'teardown.json').write_text(json.dumps({actor: p.returncode for actor, p in processes.items()}, indent=2)) | |
| 115 | ||
| 116 | ||
| 117 | def run(output, writers, readers, operations, seed, notebook=None, timeout=600, edit=False): | |
| 118 | if min(writers, readers, operations) < 1 or writers < 2: | |
| 119 | raise ValueError('Choose at least two writers, one reader and one operation.') | |
| 120 | output = output.resolve() | |
| 121 | output.mkdir(parents=True, exist_ok=False) | |
| 122 | notebook = output / 'notebook' if notebook is None else notebook.resolve() | |
| 123 | notebook.mkdir() | |
| 124 | source = notebook / 'synthetic.one' | |
| 125 | seed_file = output / 'initial.one' | |
| 126 | subprocess.run([CLIENT, 'init', seed_file], check=True) | |
| 127 | initial = seed_file.read_bytes() | |
| 128 | with source.open('xb') as stream: | |
| 129 | stream.write(initial) | |
| 130 | stream.flush() | |
| 131 | os.fsync(stream.fileno()) | |
| 132 | start, stop = output / 'start', output / 'stop' | |
| 133 | (output / 'run.json').write_text(json.dumps({'initial_sha256': hashlib.sha256(initial).hexdigest(), | |
| 134 | 'generator_sha256': hashlib.sha256(CLIENT.read_bytes()).hexdigest()}, indent=2)) | |
| 135 | started = time.monotonic() | |
| 136 | with running_clients(output, source, writers, readers, operations, seed, timeout, edit) as processes: | |
| 137 | start.touch() | |
| 138 | logs = {actor: [json.loads(line) for line in (output / f'{actor}.jsonl').read_text().splitlines()] for actor in processes} | |
| 139 | result = verify(logs, int.from_bytes(initial[96:100], 'little'), writers, operations, edit) | |
| 140 | final = subprocess.run([CLIENT, 'read', source, 'final', '1', start, stop, str(seed)], check=True, capture_output=True, text=True) | |
| 141 | (output / 'final.jsonl').write_text(final.stdout) | |
| 142 | final_read, = [json.loads(line) for line in final.stdout.splitlines() if json.loads(line)['event'] == 'read'] | |
| 143 | assert final_read['text'] == result['final_text'] and final_read['transaction'] == result['final_transaction'], 'Final file lost an acknowledged edit' | |
| 144 | result['elapsed_seconds'] = time.monotonic() - started | |
| 145 | final_bytes = source.read_bytes() | |
| 146 | result['final_sha256'] = hashlib.sha256(final_bytes).hexdigest() | |
| 147 | (output / 'final.one').write_bytes(final_bytes) | |
| 148 | (output / 'result.json').write_text(json.dumps(result, indent=2)) | |
| 149 | print(json.dumps({k: v for k, v in result.items() if k != 'final_text'}), flush=True) | |
| 150 | ||
| 151 | ||
| 152 | if __name__ == '__main__': | |
| 153 | parser = argparse.ArgumentParser(description=__doc__) | |
| 154 | parser.add_argument('output', type=Path) | |
| 155 | parser.add_argument('--writers', type=int, default=4) | |
| 156 | parser.add_argument('--readers', type=int, default=3) | |
| 157 | parser.add_argument('--operations', type=int, default=30) | |
| 158 | parser.add_argument('--seed', type=int, default=1) | |
| 159 | parser.add_argument('--notebook-dir', type=Path) | |
| 160 | parser.add_argument('--timeout', type=int, default=600) | |
| 161 | parser.add_argument('--edit', action='store_true') | |
| 162 | args = parser.parse_args() | |
| 163 | run(args.output, args.writers, args.readers, args.operations, args.seed, args.notebook_dir, args.timeout, args.edit) |
tools/crash_recovery.py created+40| ... | ... | @@ -0,0 +1,40 @@ |
| 1 | """Independent append-intent accounting across an abrupt storage interruption.""" | |
| 2 | from collections import Counter | |
| 3 | import re | |
| 4 | ||
| 5 | ||
| 6 | def verify_text(baseline, current, logs): | |
| 7 | events = [event for rows in logs.values() for event in rows] | |
| 8 | intents = {event['token'] for event in events if event['event'] == 'intent'} | |
| 9 | possible = set() | |
| 10 | for rows in logs.values(): | |
| 11 | outcomes = {event['attempt']: event for event in rows if event['event'] in ('commit', 'retry', 'commit_error')} | |
| 12 | for event in rows: | |
| 13 | if event['event'] != 'intent': continue | |
| 14 | outcome = outcomes.get(event['attempt']) | |
| 15 | if outcome is None or outcome['event'] == 'commit' or (outcome['event'] == 'commit_error' and outcome['state'] != 'NotCommitted'): | |
| 16 | possible.add(event['token']) | |
| 17 | acknowledged = [event for event in events if event['event'] == 'commit' or | |
| 18 | (event['event'] == 'commit_error' and event['state'] == 'Committed')] | |
| 19 | assert len({event['token'] for event in acknowledged}) == len(acknowledged), 'An edit was acknowledged twice' | |
| 20 | ||
| 21 | def tokens(text): | |
| 22 | assert text.startswith(baseline), 'Previously retained content changed' | |
| 23 | suffix = text[len(baseline):] | |
| 24 | found = re.findall(r' \[w\d+:\d+\]', suffix) | |
| 25 | assert ''.join(found) == suffix, 'Unexpected or partially persisted text' | |
| 26 | assert all(count == 1 for count in Counter(found).values()), 'An edit was replayed twice' | |
| 27 | assert set(found) <= intents, 'Text has no matching editing intent' | |
| 28 | return set(found) | |
| 29 | ||
| 30 | persisted = tokens(current) | |
| 31 | assert persisted <= possible, 'A definitively uncommitted edit appeared in storage' | |
| 32 | assert {event['token'] for event in acknowledged} <= persisted, 'A durability-acknowledged edit was lost' | |
| 33 | reads = [event for event in events if event['event'] == 'read'] | |
| 34 | for read in reads: | |
| 35 | observed = tokens(read['text']) | |
| 36 | assert {event['token'] for event in acknowledged if event['finished_us'] < read['started_us']} <= observed, 'A read missed an acknowledged edit' | |
| 37 | assert not {event['token'] for event in acknowledged if event['started_us'] > read['finished_us']} & observed, 'A read observed a future edit' | |
| 38 | return {'acknowledged': len(acknowledged), 'retained': len(persisted), | |
| 39 | 'unacknowledged_retained': sorted(persisted - {event['token'] for event in acknowledged}), | |
| 40 | 'reads': len(reads), 'text': current} |
tools/document_model.py created+58| ... | ... | @@ -0,0 +1,58 @@ |
| 1 | """Traversal of the exported document's referenced revisions.""" | |
| 2 | import os | |
| 3 | from pathlib import Path | |
| 4 | ||
| 5 | EXPORTER = Path(os.environ.get('ONESTORE_DOCUMENT', Path(__file__).resolve().parent.parent / 'target/debug/examples/document')) | |
| 6 | ||
| 7 | DEFAULT_CONTEXT = '{00000000-0000-0000-0000-000000000000},0' | |
| 8 | ||
| 9 | ||
| 10 | def view(document, sid, context=DEFAULT_CONTEXT): | |
| 11 | space = document['spaces'][sid] | |
| 12 | rid = space['contexts'][context] | |
| 13 | return rid, space['revisions'][rid] | |
| 14 | ||
| 15 | ||
| 16 | def ordered_pages(document): | |
| 17 | _, root = view(document, document['root']) | |
| 18 | section = root['nodes'][root['roots']['1']] | |
| 19 | if section['kind']['type'] == 'Encrypted': | |
| 20 | return | |
| 21 | assert section['kind']['type'] == 'Section' | |
| 22 | for series in section['children']: | |
| 23 | for space in root['nodes'][series]['spaces']: | |
| 24 | rid, page = view(document, space) | |
| 25 | manifest = page['nodes'][page['roots']['1']] | |
| 26 | assert manifest['kind']['type'] == 'Manifest' | |
| 27 | for oid in manifest['content']: | |
| 28 | assert page['nodes'][oid]['kind']['type'] == 'Page' | |
| 29 | yield space, rid, page, oid | |
| 30 | ||
| 31 | ||
| 32 | def version_pages(document, sid, revision): | |
| 33 | manifest = revision['nodes'][revision['roots']['1']]['kind'] | |
| 34 | context = manifest['history'] | |
| 35 | if context is None: | |
| 36 | return | |
| 37 | _, history = view(document, sid, context) | |
| 38 | root = history['nodes'][history['roots']['1']] | |
| 39 | assert root['kind']['type'] == 'VersionHistory' | |
| 40 | for proxy_id in root['children']: | |
| 41 | proxy = history['nodes'][proxy_id] | |
| 42 | assert proxy['kind']['type'] == 'VersionProxy' | |
| 43 | context = proxy['kind']['context'] | |
| 44 | rid, revision = view(document, sid, context) | |
| 45 | manifest = revision['nodes'][revision['roots']['1']] | |
| 46 | assert manifest['kind']['type'] == 'Manifest' | |
| 47 | for oid in manifest['content']: | |
| 48 | assert revision['nodes'][oid]['kind']['type'] == 'Page' | |
| 49 | yield context, rid, revision, oid, proxy | |
| 50 | ||
| 51 | ||
| 52 | def walk(space, root): | |
| 53 | pending = [root] | |
| 54 | while pending: | |
| 55 | oid = pending.pop() | |
| 56 | node = space['nodes'][oid] | |
| 57 | yield oid, node | |
| 58 | pending.extend(reversed(node['structure'] + node['content'] + node['children'])) |
tools/feature_fixture.py created+64| ... | ... | @@ -0,0 +1,64 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Generate schema-validated inputs for native document feature controls.""" | |
| 3 | import argparse | |
| 4 | import json | |
| 5 | from pathlib import Path | |
| 6 | import shutil | |
| 7 | import wave | |
| 8 | ||
| 9 | from lxml import etree as ET | |
| 10 | from PIL import Image | |
| 11 | ||
| 12 | ROOT = Path(__file__).resolve().parent.parent | |
| 13 | NS = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 14 | ||
| 15 | ||
| 16 | def generate(destination): | |
| 17 | destination.mkdir(parents=True, exist_ok=False) | |
| 18 | notebook = destination / 'notebook' | |
| 19 | shutil.copytree(ROOT / 'corpus/writer/create-notebook-01/notebook', notebook) | |
| 20 | assets = notebook / 'fixture-data'; assets.mkdir() | |
| 21 | image = Image.new('RGB', (96, 64)) | |
| 22 | image.putdata([(x * 2, y * 3, (x + y) % 256) for y in range(64) for x in range(96)]) | |
| 23 | for extension in ('png', 'jpg', 'bmp', 'tiff', 'gif'): | |
| 24 | image.save(assets / ('pattern.' + extension)) | |
| 25 | (assets / 'attachment.txt').write_bytes(b'Fictitious attachment\r\n\x00\xff\r\n') | |
| 26 | with wave.open(str(assets / 'silence.wav'), 'wb') as sound: | |
| 27 | sound.setparams((1, 2, 8000, 8000, 'NONE', 'not compressed')) | |
| 28 | sound.writeframes(b'\0' * 16000) | |
| 29 | fixture = {'sections': ['Features.one', 'Group A/Duplicate.one', 'Group B/Nested/Duplicate.one', 'Empty.one'], 'pages': []} | |
| 30 | schema = ET.XMLSchema(ET.parse(str(ROOT / 'resources/onenote2010-com/OneNote2010.xsd'))) | |
| 31 | ||
| 32 | def page(title, content, section='Features.one', attributes='', definitions=''): | |
| 33 | xml = f'<one:Page xmlns:one="{NS}" {attributes}>{definitions}<one:Title><one:OE><one:T>{title}</one:T></one:OE></one:Title>{content}</one:Page>' | |
| 34 | schema.assertValid(ET.fromstring(xml.encode())) | |
| 35 | fixture['pages'].append({'section': section, 'xml': xml}) | |
| 36 | ||
| 37 | def outline(body, x=72, y=108): | |
| 38 | return f'<one:Outline><one:Position x="{x}" y="{y}"/><one:Size width="480" height="400"/><one:OEChildren>{body}</one:OEChildren></one:Outline>' | |
| 39 | ||
| 40 | for extension in ('png', 'jpg', 'bmp', 'tiff', 'gif'): | |
| 41 | body = f'<one:Image format="auto" alt="Pattern {extension}" hyperlink="https://example.invalid/image/{extension}"><one:Position x="72" y="108"/><one:Size width="144" height="48"/><one:File path="__ASSETS__\\pattern.{extension}"/></one:Image>' | |
| 42 | page('Image ' + extension, body) | |
| 43 | for background, printout in [('false', 'false'), ('true', 'false'), ('false', 'true'), ('true', 'true')]: | |
| 44 | page(f'Image role background={background}, printout={printout}', f'<one:Image format="auto" backgroundImage="{background}" isPrintOut="{printout}" originalPageNumber="2" alt="Role pattern"><one:Position x="36" y="36"/><one:Size width="288" height="192"/><one:File path="__ASSETS__\\pattern.png"/></one:Image>' + outline('<one:OE><one:T>Foreground role control</one:T></one:OE>')) | |
| 45 | page('Files and recording', outline('<one:OE><one:InsertedFile pathSource="__ASSETS__\\attachment.txt" preferredName="Fictitious attachment.txt"/></one:OE><one:OE><one:MediaFile pathSource="__ASSETS__\\silence.wav" preferredName="silence.wav"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaFile></one:OE><one:OE><one:MediaIndex timeIndex="500"><one:MediaReference mediaID="{9A418E57-7F64-40C5-87D0-8A8F7C1E5422}"/></one:MediaIndex><one:T>Recording annotation</one:T></one:OE>')) | |
| 46 | page('Paragraph controls', outline('<one:OE quickStyleIndex="0"><one:T>Inherited strike and spacing</one:T></one:OE><one:OE alignment="center" spaceBefore="12" spaceAfter="6"><one:T>Centered paragraph</one:T></one:OE><one:OE RTL="true" alignment="right"><one:T>مرحبا بالعالم</one:T></one:OE><one:OE collapsed="true"><one:T>Collapsed parent</one:T><one:OEChildren indent="2"><one:OE><one:T>Hidden child remains stored</one:T><one:OEChildren><one:OE><one:T>Grandchild</one:T></one:OE></one:OEChildren></one:OE></one:OEChildren></one:OE><one:OE><one:T><![CDATA[A<br><br>B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C]]></one:T></one:OE>'), definitions='<one:QuickStyleDef index="0" name="Fixture style" font="Calibri" fontSize="14" strikethrough="true" spaceBefore="0.25" spaceAfter="0.125"/>') | |
| 47 | body = '' | |
| 48 | for sequence in range(5): | |
| 49 | for index in range(2): | |
| 50 | restart = ' restartNumberingAt="3"' if index == 0 else '' | |
| 51 | body += f'<one:OE><one:List><one:Number numberSequence="{sequence}" numberFormat="##"{restart} font="Calibri"/></one:List><one:T>Sequence {sequence}, item {index}</one:T></one:OE>' | |
| 52 | page('Numbering controls', outline(body)) | |
| 53 | page('Task controls', outline('<one:OE><one:OutlookTask guidTask="{45AF40E3-1D54-463C-90D3-C454F2F71A2E}" completed="false" disabled="true" creationDate="2020-01-02T03:04:05Z" startDate="2020-01-02T00:00:00Z" dueDate="2020-01-03T00:00:00Z"/><one:T>Disabled standalone task</one:T></one:OE>')) | |
| 54 | for section in ('Group A/Duplicate.one', 'Group B/Nested/Duplicate.one'): | |
| 55 | for level in (1, 2, 3): | |
| 56 | page('Repeated title', outline(f'<one:OE><one:T>Group path {section}, level {level}</one:T></one:OE>'), section, f'pageLevel="{level}"') | |
| 57 | (notebook / 'fixture.json').write_text(json.dumps(fixture, ensure_ascii=False, indent=2)) | |
| 58 | print(f'Generated {len(fixture["pages"])} schema-validated native pages; expected total {len(fixture["pages"]) + 1}.') | |
| 59 | ||
| 60 | ||
| 61 | if __name__ == '__main__': | |
| 62 | parser = argparse.ArgumentParser(description=__doc__) | |
| 63 | parser.add_argument('destination', type=Path) | |
| 64 | generate(parser.parse_args().destination) |
tools/history_campaign.py created+221| ... | ... | @@ -0,0 +1,221 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Generate and compare independently specified native edit histories.""" | |
| 3 | import argparse | |
| 4 | import copy | |
| 5 | import json | |
| 6 | from pathlib import Path | |
| 7 | import random | |
| 8 | import shutil | |
| 9 | import signal | |
| 10 | import subprocess | |
| 11 | import tempfile | |
| 12 | import xml.etree.ElementTree as ET | |
| 13 | ||
| 14 | from document_model import EXPORTER, ordered_pages | |
| 15 | from native_xml import ns, Text, project_text | |
| 16 | ||
| 17 | ROOT = Path(__file__).resolve().parent.parent | |
| 18 | ||
| 19 | ||
| 20 | def reduce_history(history): | |
| 21 | state = copy.deepcopy(history['initial']) | |
| 22 | for op in history['operations']: | |
| 23 | kind = op['kind'] | |
| 24 | if kind == 'insert': state['paragraphs'].insert(op['index'], copy.deepcopy(op['paragraph'])) | |
| 25 | elif kind == 'delete': state['paragraphs'].pop(op['index']) | |
| 26 | elif kind == 'move': state['paragraphs'].insert(op['to'], state['paragraphs'].pop(op['index'])) | |
| 27 | elif kind == 'position': state['x'], state['y'] = op['x'], op['y'] | |
| 28 | elif kind == 'cell': state['table'][op['row']][op['column']] = op['text'] | |
| 29 | else: state['paragraphs'][op['index']][kind] = op['value'] | |
| 30 | return state | |
| 31 | ||
| 32 | ||
| 33 | def generate(destination, count, start=0): | |
| 34 | destination.mkdir(parents=True, exist_ok=False) | |
| 35 | notebook = destination / 'notebook' | |
| 36 | shutil.copytree(ROOT / 'corpus/writer/create-notebook-01/notebook', notebook) | |
| 37 | histories = [] | |
| 38 | samples = ['Repeated words', 'café 東京 مرحبا', 'A😀e\u0301Z', 'literal <b> & "quotes"', 'tabs\there', ' ]]> end', 'simple text'] | |
| 39 | def paragraph(identifier, text): | |
| 40 | return {'id': identifier, 'text': text, 'bold': False, 'italic': False, 'underline': False, | |
| 41 | 'strike': False, 'color': '#000000', 'highlight': '#ffff00', 'font_size': 11, | |
| 42 | 'link': '', 'tag': False} | |
| 43 | kinds = ['text', 'bold', 'italic', 'underline', 'strike', 'color', 'highlight', 'font_size', 'link', 'tag', 'insert', 'delete', 'move', 'position', 'cell'] | |
| 44 | for seed in range(start, start + count): | |
| 45 | rng = random.Random(seed) | |
| 46 | history = {'seed': seed, 'title': f'History {seed:06}', 'initial': { | |
| 47 | 'paragraphs': [paragraph(f'p{i}', f'Initial {i}') for i in range(4)], | |
| 48 | 'table': [[f'Cell {row},{column}' for column in range(2)] for row in range(2)], 'x': 72, 'y': 108}, 'operations': []} | |
| 49 | for step in range(20): | |
| 50 | state = reduce_history(history) | |
| 51 | kind = kinds[step % len(kinds)] if seed < 3 else rng.choice(kinds) | |
| 52 | index = rng.randrange(len(state['paragraphs'])) | |
| 53 | op = {'kind': kind, 'index': index} | |
| 54 | if kind == 'insert': op['paragraph'] = paragraph(f'new{step}', rng.choice(samples)) | |
| 55 | elif kind == 'delete' and len(state['paragraphs']) == 1: op = {'kind': 'text', 'index': 0, 'value': rng.choice(samples)} | |
| 56 | elif kind == 'move': op['to'] = rng.randrange(len(state['paragraphs'])) | |
| 57 | elif kind == 'position': op.update(x=rng.randrange(1, 7) * 36, y=rng.randrange(2, 10) * 36) | |
| 58 | elif kind == 'cell': op.update(row=rng.randrange(2), column=rng.randrange(2), text=rng.choice(samples)) | |
| 59 | elif kind == 'text': op['value'] = rng.choice(samples) | |
| 60 | elif kind in ('bold', 'italic', 'underline', 'strike', 'tag'): op['value'] = not state['paragraphs'][index][kind] | |
| 61 | elif kind in ('color', 'highlight'): op['value'] = rng.choice(['#000000', '#ff0000', '#00ffff', '#ffff00', '#00ff00']) | |
| 62 | elif kind == 'font_size': op['value'] = rng.choice([9, 11, 14, 18]) | |
| 63 | elif kind == 'link': op['value'] = '' if state['paragraphs'][index]['link'] else f'https://example.invalid/{seed}/{step}?a=1&b=2' | |
| 64 | history['operations'].append(op) | |
| 65 | histories.append(history) | |
| 66 | (notebook / 'histories.json').write_text(json.dumps(histories, ensure_ascii=False, indent=2)) | |
| 67 | ||
| 68 | ||
| 69 | def compare(capture, seed=None): | |
| 70 | histories = json.loads((capture / 'notebook/histories.json').read_text()) | |
| 71 | if seed is not None: | |
| 72 | histories = [h for h in histories if h['seed'] == seed] | |
| 73 | if len(histories) != 1: | |
| 74 | raise ValueError('The capture must contain exactly one history with this seed.') | |
| 75 | native = {ET.parse(p).getroot().get('name'): ET.parse(p).getroot() for p in (capture / 'read').glob('page-*.xml')} | |
| 76 | with tempfile.TemporaryDirectory() as temporary: | |
| 77 | export = Path(temporary) / 'model' | |
| 78 | subprocess.run([EXPORTER, capture / 'notebook/synthetic.one', export], check=True) | |
| 79 | document = json.loads((export / 'document.json').read_text()) | |
| 80 | resolved = json.loads((export / 'text.json').read_text()) | |
| 81 | actual = {} | |
| 82 | for sid, rid, space, oid in ordered_pages(document): | |
| 83 | title = ''.join(n['kind']['text'] for n in space['nodes'].values() if n['kind']['type'] == 'RichText' and n['kind']['text'].startswith('History ')) | |
| 84 | if title: actual[title] = (sid, rid, space, oid) | |
| 85 | failures = [] | |
| 86 | for history in histories: | |
| 87 | try: | |
| 88 | expected = reduce_history(history) | |
| 89 | title = history['title']; page = native[title] | |
| 90 | sid, rid, space, oid = actual[title] | |
| 91 | outlines = [space['nodes'][i] for i in space['nodes'][oid]['children'] if space['nodes'][i]['kind']['type'] == 'Outline'] | |
| 92 | assert len(outlines) == 1, (title, 'outline count') | |
| 93 | native_outline = page.find('one:Outline', ns) | |
| 94 | native_oes = native_outline.findall('one:OEChildren/one:OE', ns) | |
| 95 | native_text = [n.find('one:T', ns) for n in native_oes if n.find('one:T', ns) is not None] | |
| 96 | paragraphs = [space['nodes'][i] for i in outlines[0]['children']] | |
| 97 | content = [p['content'][0] for p in paragraphs] | |
| 98 | text_ids = [i for i in content if space['nodes'][i]['kind']['type'] == 'RichText'] | |
| 99 | assert len(text_ids) == len(native_text) == len(expected['paragraphs']), (title, 'paragraph count') | |
| 100 | for wanted, oid, native_t in zip(expected['paragraphs'], text_ids, native_text, strict=True): | |
| 101 | runs = [r for r in resolved[sid][rid][oid] if not r['format']['hidden']] | |
| 102 | assert ''.join(r['text'] for r in runs) == wanted['text'], (title, wanted['id'], 'Rust text') | |
| 103 | assert ''.join(Text(native_t.text or '').parts) == project_text(wanted['text']), (title, wanted['id'], 'native text') | |
| 104 | leading = len(wanted['text']) - len(wanted['text'].lstrip(' \t')) | |
| 105 | actual_links = [r['link'] or '' for r in runs for _ in r['text']] | |
| 106 | expected_links = ['' if index < leading else wanted['link'] for index in range(len(wanted['text']))] | |
| 107 | assert actual_links == expected_links, (title, wanted['id'], 'hyperlink', actual_links, expected_links) | |
| 108 | for r in runs: | |
| 109 | if not r['text']: | |
| 110 | continue | |
| 111 | for flag in ('bold', 'italic', 'underline', 'strike'): | |
| 112 | assert bool(r['format'][flag]) == (False if flag == 'underline' and wanted['link'] else wanted[flag]), (title, wanted['id'], flag) | |
| 113 | assert r['format']['font_size'] == wanted['font_size'], (title, wanted['id'], 'font size') | |
| 114 | for field in ('color', 'highlight'): | |
| 115 | value = '#dbdb00' if field == 'color' and wanted[field] == '#ffff00' else wanted[field] | |
| 116 | rgb = bytes.fromhex(value[1:]) | |
| 117 | assert r['format'][field] == (0xff000000 if field == 'color' and wanted['link'] else int.from_bytes(rgb, 'little')), (title, wanted['id'], field, r['format'][field], wanted[field]) | |
| 118 | tags = space['nodes'][oid]['tags'] | |
| 119 | assert bool(tags) == wanted['tag'], (title, wanted['id'], 'tag') | |
| 120 | table = [space['nodes'][i] for i in content if space['nodes'][i]['kind']['type'] == 'Table'] | |
| 121 | assert len(table) == 1, (title, 'table count') | |
| 122 | cells = [[ ''.join(r['text'] for paragraph in space['nodes'][cell]['children'] | |
| 123 | for text in space['nodes'][paragraph]['content'] for r in resolved[sid][rid][text] if not r['format']['hidden']) | |
| 124 | for cell in space['nodes'][row]['children']] for row in table[0]['children']] | |
| 125 | assert cells == expected['table'], (title, 'table contents') | |
| 126 | for axis in ('x', 'y'): | |
| 127 | assert abs(outlines[0]['layout'][axis] - expected[axis]) < .002, (title, axis) | |
| 128 | except AssertionError as failure: | |
| 129 | failures.append(failure.args[0]) | |
| 130 | (capture / 'history-differences.json').write_text(json.dumps(failures, ensure_ascii=False, indent=2)) | |
| 131 | if failures: | |
| 132 | raise AssertionError(failures[0]) | |
| 133 | print(f'Passed {len(histories)} independently specified native histories, {sum(len(h["operations"]) for h in histories)} operations.') | |
| 134 | ||
| 135 | ||
| 136 | def shrink(capture, destination, seed): | |
| 137 | from native_runner import capture as native_capture | |
| 138 | histories = json.loads((capture / 'notebook/histories.json').read_text()) | |
| 139 | history, = [h for h in histories if h['seed'] == seed] | |
| 140 | try: | |
| 141 | compare(capture, seed) | |
| 142 | except AssertionError as failure: | |
| 143 | signature = failure.args[0][:3] | |
| 144 | else: | |
| 145 | raise ValueError('The selected history passes; there is no discrepancy to shrink.') | |
| 146 | destination.mkdir(parents=True, exist_ok=False) | |
| 147 | (destination / 'source.json').write_text(json.dumps({'capture': str(capture.resolve()), 'seed': seed, | |
| 148 | 'signature': signature}, indent=2)) | |
| 149 | attempt = 0 | |
| 150 | ||
| 151 | def reproduces(candidate): | |
| 152 | nonlocal attempt | |
| 153 | try: | |
| 154 | reduce_history(candidate) | |
| 155 | except IndexError: | |
| 156 | return False | |
| 157 | attempt += 1 | |
| 158 | root = destination / f'attempt-{attempt:03}' | |
| 159 | root.mkdir() | |
| 160 | shutil.copytree(ROOT / 'corpus/writer/create-notebook-01/notebook', root / 'input') | |
| 161 | (root / 'input/histories.json').write_text(json.dumps([candidate], ensure_ascii=False, indent=2)) | |
| 162 | native_capture(root / 'input', root / 'capture', 2, ROOT / 'tools/native/history.ps1') | |
| 163 | observed = None | |
| 164 | try: | |
| 165 | compare(root / 'capture', seed) | |
| 166 | except AssertionError as failure: | |
| 167 | observed = failure.args[0] | |
| 168 | matches = observed is not None and observed[:3] == signature | |
| 169 | (root / 'comparison.json').write_text(json.dumps({'discrepancy': observed, 'same_failure': matches}, indent=2)) | |
| 170 | print(f'Shrink attempt {attempt}: {len(candidate["operations"])} operations; same discrepancy: {matches}', flush=True) | |
| 171 | return matches | |
| 172 | ||
| 173 | if not reproduces(history): | |
| 174 | raise ValueError('The original discrepancy did not reproduce in a fresh clone.') | |
| 175 | granularity = 2 | |
| 176 | while history['operations']: | |
| 177 | operations = history['operations'] | |
| 178 | width = max(1, (len(operations) + granularity - 1) // granularity) | |
| 179 | for start in range(0, len(operations), width): | |
| 180 | candidate = {**history, 'operations': operations[:start] + operations[start + width:]} | |
| 181 | if reproduces(candidate): | |
| 182 | history = candidate | |
| 183 | granularity = max(2, granularity - 1) | |
| 184 | break | |
| 185 | else: | |
| 186 | if width == 1: | |
| 187 | break | |
| 188 | granularity = min(len(operations), granularity * 2) | |
| 189 | (destination / 'minimal.json').write_text(json.dumps(history, ensure_ascii=False, indent=2)) | |
| 190 | for index, operation in enumerate(history['operations']): | |
| 191 | choices = [] | |
| 192 | if operation['kind'] == 'text': choices = [{'value': ''}, {'value': 'A'}] | |
| 193 | elif operation['kind'] == 'cell': choices = [{'text': ''}, {'text': 'A'}] | |
| 194 | elif operation['kind'] == 'position': choices = [{'x': 0, 'y': 0}] | |
| 195 | elif operation['kind'] == 'font_size': choices = [{'value': 11}] | |
| 196 | for replacement in choices: | |
| 197 | candidate = copy.deepcopy(history) | |
| 198 | candidate['operations'][index].update(replacement) | |
| 199 | if candidate != history and reproduces(candidate): | |
| 200 | history = candidate | |
| 201 | break | |
| 202 | (destination / 'minimal.json').write_text(json.dumps(history, ensure_ascii=False, indent=2)) | |
| 203 | ||
| 204 | ||
| 205 | if __name__ == '__main__': | |
| 206 | parser = argparse.ArgumentParser(description=__doc__) | |
| 207 | sub = parser.add_subparsers(dest='command', required=True) | |
| 208 | generation = sub.add_parser('generate'); generation.add_argument('destination', type=Path) | |
| 209 | generation.add_argument('--count', type=int, default=100); generation.add_argument('--start', type=int, default=0) | |
| 210 | comparison = sub.add_parser('compare'); comparison.add_argument('capture', type=Path) | |
| 211 | comparison.add_argument('--seed', type=int) | |
| 212 | shrinking = sub.add_parser('shrink'); shrinking.add_argument('capture', type=Path) | |
| 213 | shrinking.add_argument('destination', type=Path); shrinking.add_argument('--seed', type=int, required=True) | |
| 214 | args = parser.parse_args() | |
| 215 | if args.command == 'generate': generate(args.destination, args.count, args.start) | |
| 216 | elif args.command == 'compare': compare(args.capture, args.seed) | |
| 217 | else: | |
| 218 | def interrupted(_signal, _frame): | |
| 219 | raise KeyboardInterrupt | |
| 220 | signal.signal(signal.SIGTERM, interrupted) | |
| 221 | shrink(args.capture, args.destination, args.seed) |
tools/import-corpus.py created+30| ... | ... | @@ -0,0 +1,30 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Extract a native capture with links for identical files.""" | |
| 3 | import hashlib | |
| 4 | import os | |
| 5 | from pathlib import Path, PurePosixPath | |
| 6 | import sys | |
| 7 | import zipfile | |
| 8 | ||
| 9 | archive, destination = map(Path, sys.argv[1:]) | |
| 10 | destination.mkdir(parents=True, exist_ok=False) | |
| 11 | seen = {} | |
| 12 | with zipfile.ZipFile(archive) as captured: | |
| 13 | for entry in captured.infolist(): | |
| 14 | relative = PurePosixPath(entry.filename.replace('\\', '/')) | |
| 15 | if relative.is_absolute() or '..' in relative.parts: | |
| 16 | raise ValueError('Archive path escapes the corpus directory') | |
| 17 | target = destination.joinpath(*relative.parts) | |
| 18 | if entry.filename.endswith(('/', '\\')): | |
| 19 | target.mkdir(parents=True, exist_ok=True) | |
| 20 | continue | |
| 21 | target.parent.mkdir(parents=True, exist_ok=True) | |
| 22 | data = captured.read(entry) | |
| 23 | digest = hashlib.sha256(data).digest() | |
| 24 | if digest in seen: | |
| 25 | target.symlink_to(os.path.relpath(seen[digest], target.parent)) | |
| 26 | else: | |
| 27 | target.write_bytes(data) | |
| 28 | target.chmod(0o444) | |
| 29 | seen[digest] = target | |
| 30 | print(f'Imported {len(seen)} distinct files into {destination}') |
tools/native/cold.ps1 created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '') | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 6 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 7 | } | |
| 8 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' } | |
| 9 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 10 | if ($CloneHost) { | |
| 11 | if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) { | |
| 12 | throw 'The disposable clone hostname does not match this machine.' | |
| 13 | } | |
| 14 | New-Item "$key\Options\Paths" -Force | Out-Null | |
| 15 | New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null | |
| 16 | } elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 17 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 18 | throw 'Park the personal OneNote profile before resetting the test cache.' | |
| 19 | } | |
| 20 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 21 | $parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root)) | |
| 22 | if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' } | |
| 23 | New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null | |
| 24 | if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked } | |
| 25 | if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse } | |
| 26 | New-Item "$key\OpenNotebooks" | Out-Null | |
| 27 | New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null |
tools/native/collaborate.ps1 created+105| ... | ... | @@ -0,0 +1,105 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, | |
| 2 | [Parameter(Mandatory=$true)][string]$SharedPath, | |
| 3 | [Parameter(Mandatory=$true)][string]$CloneHost, | |
| 4 | [switch]$ResumeCache, | |
| 5 | [int]$StartSequence = 1) | |
| 6 | function Keep-Container($page, $target) { | |
| 7 | $container = $target | |
| 8 | while ($container.ParentNode -ne $page.DocumentElement) { $container = $container.ParentNode } | |
| 9 | foreach ($sibling in @($page.DocumentElement.ChildNodes)) { | |
| 10 | if ($sibling -ne $container -and $sibling.LocalName -in @('Outline', 'Title', 'Image', 'InkDrawing')) { | |
| 11 | [void]$page.DocumentElement.RemoveChild($sibling) | |
| 12 | } | |
| 13 | } | |
| 14 | } | |
| 15 | Set-StrictMode -Version Latest | |
| 16 | $ErrorActionPreference = 'Stop' | |
| 17 | . "$PSScriptRoot\text.ps1" | |
| 18 | if ($SharedPath -notmatch '^\\\\192\.168\.77\.1\\agent\\m6-[a-z0-9-]+$') { throw 'Choose a disposable Linux lab notebook.' } | |
| 19 | if ($env:COMPUTERNAME -ne $CloneHost) { throw 'The collaboration controller requires its owned clone.' } | |
| 20 | if (-not $ResumeCache) { & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost } | |
| 21 | $shared = $SharedPath | |
| 22 | if (-not (Test-Path "$shared\synthetic.one")) { throw 'Create the shared fixture first.' } | |
| 23 | New-Item -ItemType Directory "$Root\inbox", "$Root\outbox" -Force | Out-Null | |
| 24 | $user = 'HKCU:\Software\Microsoft\Office\Common\UserInfo' | |
| 25 | New-Item $user -Force | Out-Null | |
| 26 | New-ItemProperty $user -Name UserName -Value $CloneHost -PropertyType String -Force | Out-Null | |
| 27 | New-ItemProperty $user -Name UserInitials -Value $CloneHost.Substring($CloneHost.Length - 3) -PropertyType String -Force | Out-Null | |
| 28 | $app = New-Object -ComObject OneNote.Application | |
| 29 | $notebook = '' | |
| 30 | try { | |
| 31 | $app.OpenHierarchy($shared, '', [ref]$notebook, 0) | |
| 32 | $section = '' | |
| 33 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 34 | [IO.File]::WriteAllText("$Root\ready", 'ready') | |
| 35 | $deadline = [DateTime]::UtcNow.AddMinutes(30) | |
| 36 | $sequence = $StartSequence | |
| 37 | while ([DateTime]::UtcNow -lt $deadline) { | |
| 38 | $name = '{0:d4}.json' -f $sequence | |
| 39 | $input = "$Root\inbox\$name" | |
| 40 | if (-not (Test-Path $input)) { Start-Sleep -Milliseconds 100; continue } | |
| 41 | $command = Get-Content -Raw -Encoding UTF8 $input | ConvertFrom-Json | |
| 42 | $output = "$Root\outbox\$sequence" | |
| 43 | New-Item -ItemType Directory $output | Out-Null | |
| 44 | try { | |
| 45 | if ($command.action -in @('prepare-stress', 'stress')) { | |
| 46 | . "$PSScriptRoot\stress.ps1" | |
| 47 | Invoke-Stress $app $section $command $output $shared | |
| 48 | } | |
| 49 | elseif ($command.action -eq 'sync') { $app.SyncHierarchy($notebook) } | |
| 50 | elseif ($command.action -eq 'kill-process') { | |
| 51 | Get-Process ONENOTE | Stop-Process -Force | |
| 52 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 53 | $app = New-Object -ComObject OneNote.Application | |
| 54 | $app.OpenHierarchy($shared, '', [ref]$notebook, 0) | |
| 55 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 56 | } | |
| 57 | elseif ($command.action -eq 'edit' -or $command.action -eq 'snapshot') { | |
| 58 | $hierarchy = '' | |
| 59 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 60 | [IO.File]::WriteAllText("$output\hierarchy.xml", $hierarchy, [Text.Encoding]::UTF8) | |
| 61 | [xml]$tree = $hierarchy | |
| 62 | $matches = 0 | |
| 63 | $editedPage = $null | |
| 64 | $i = 0 | |
| 65 | foreach ($node in $tree.SelectNodes('//*[local-name()="Page"]')) { | |
| 66 | $content = '' | |
| 67 | $app.GetPageContent($node.GetAttribute('ID'), [ref]$content, 1, 1) | |
| 68 | [IO.File]::WriteAllText("$output\page-$i.xml", $content, [Text.Encoding]::UTF8) | |
| 69 | [xml]$page = $content | |
| 70 | if ($command.action -eq 'edit') { | |
| 71 | $targets = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object { | |
| 72 | (Get-ParagraphText $_.InnerText) -eq $command.expected | |
| 73 | }) | |
| 74 | if ($targets.Count -gt 1) { throw 'Expected one matching text object.' } | |
| 75 | if ($targets.Count -eq 1) { | |
| 76 | $matches++ | |
| 77 | if ($matches -gt 1) { throw 'The text occurs on multiple pages.' } | |
| 78 | $targets[0].InnerText = [Security.SecurityElement]::Escape($command.text) | |
| 79 | Keep-Container $page $targets[0] | |
| 80 | $editedPage = $page | |
| 81 | } | |
| 82 | } | |
| 83 | $i++ | |
| 84 | } | |
| 85 | if ($command.action -eq 'edit' -and $matches -ne 1) { throw 'Expected one matching text object.' } | |
| 86 | if ($editedPage) { $app.UpdatePageContent($editedPage.OuterXml, [DateTime]::MinValue, 1, $false) } | |
| 87 | } elseif ($command.action -ne 'close') { throw 'Unknown collaboration command.' } | |
| 88 | [IO.File]::WriteAllText("$output\done", 'ok') | |
| 89 | } catch { | |
| 90 | [IO.File]::WriteAllText("$output\error", $_.Exception.ToString()) | |
| 91 | } | |
| 92 | if ($command.action -eq 'close') { break } | |
| 93 | $sequence++ | |
| 94 | } | |
| 95 | } finally { | |
| 96 | try { if ($notebook) { $app.CloseNotebook($notebook, $false) } } | |
| 97 | finally { | |
| 98 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 99 | $app = $null | |
| 100 | [GC]::Collect() | |
| 101 | [GC]::WaitForPendingFinalizers() | |
| 102 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 103 | [IO.File]::WriteAllText("$Root\closed", 'closed') | |
| 104 | } | |
| 105 | } |
tools/native/corpus.ps1 created+667| ... | ... | @@ -0,0 +1,667 @@ |
| 1 | <# | |
| 2 | Usage: .\corpus.ps1 -Mode Create -Root C:\one-tests\runs\20260904-01 | |
| 3 | .\corpus.ps1 -Mode Capture -Root C:\one-tests\runs\20260904-01 -Step 08-manual-ink | |
| 4 | #> | |
| 5 | [CmdletBinding()] | |
| 6 | param( | |
| 7 | [ValidateSet('Create', 'Capture')] | |
| 8 | [string]$Mode = 'Create', | |
| 9 | ||
| 10 | [Parameter(Mandatory = $true)] | |
| 11 | [string]$Root, | |
| 12 | ||
| 13 | [string]$Step | |
| 14 | ) | |
| 15 | ||
| 16 | Set-StrictMode -Version Latest | |
| 17 | $ErrorActionPreference = 'Stop' | |
| 18 | ||
| 19 | $schema = 1 | |
| 20 | $namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 21 | $runs = [IO.Path]::GetFullPath('C:\one-tests\runs').TrimEnd('\') | |
| 22 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 23 | $markerPath = Join-Path $root '.native-corpus.json' | |
| 24 | $manifestPath = Join-Path $root 'manifest.json' | |
| 25 | $logPath = Join-Path $root 'operation-log.jsonl' | |
| 26 | $notebookPath = Join-Path $root 'notebook' | |
| 27 | $sectionName = 'synthetic.one' | |
| 28 | $sectionPath = Join-Path $notebookPath $sectionName | |
| 29 | $script:app = $null | |
| 30 | $script:openedNotebookId = $null | |
| 31 | $script:sectionId = $null | |
| 32 | $script:manifest = $null | |
| 33 | ||
| 34 | function Write-Json { | |
| 35 | param( | |
| 36 | $Value, | |
| 37 | [string]$Path | |
| 38 | ) | |
| 39 | ||
| 40 | $Value | ConvertTo-Json -Depth 20 | Set-Content -LiteralPath $Path -Encoding UTF8 | |
| 41 | } | |
| 42 | ||
| 43 | function Save-Manifest { | |
| 44 | if ($null -ne $script:manifest) { | |
| 45 | Write-Json $script:manifest $manifestPath | |
| 46 | } | |
| 47 | } | |
| 48 | ||
| 49 | function Add-Log { | |
| 50 | param( | |
| 51 | [string]$Action, | |
| 52 | [string]$Fixture, | |
| 53 | $Details | |
| 54 | ) | |
| 55 | ||
| 56 | $entry = [pscustomobject][ordered]@{ | |
| 57 | at_utc = [DateTime]::UtcNow.ToString('o') | |
| 58 | fixture = $Fixture | |
| 59 | action = $Action | |
| 60 | details = $Details | |
| 61 | } | |
| 62 | $entry | ConvertTo-Json -Depth 12 -Compress | Add-Content -LiteralPath $logPath -Encoding UTF8 | |
| 63 | } | |
| 64 | ||
| 65 | function Add-Fixture { | |
| 66 | param( | |
| 67 | [string]$Name, | |
| 68 | [string]$Status, | |
| 69 | [string]$Description, | |
| 70 | $Details | |
| 71 | ) | |
| 72 | ||
| 73 | $script:manifest.fixtures = @($script:manifest.fixtures) + [pscustomobject][ordered]@{ | |
| 74 | name = $Name | |
| 75 | status = $Status | |
| 76 | description = $Description | |
| 77 | at_utc = [DateTime]::UtcNow.ToString('o') | |
| 78 | details = $Details | |
| 79 | } | |
| 80 | Save-Manifest | |
| 81 | } | |
| 82 | ||
| 83 | function Assert-RunRoot { | |
| 84 | $parent = [IO.Path]::GetDirectoryName($root) | |
| 85 | if (-not [String]::Equals($parent, $runs, [StringComparison]::OrdinalIgnoreCase)) { | |
| 86 | throw 'Choose a new direct child of C:\one-tests\runs.' | |
| 87 | } | |
| 88 | if ([String]::Equals($root, $runs, [StringComparison]::OrdinalIgnoreCase)) { | |
| 89 | throw 'Choose a run directory below C:\one-tests\runs.' | |
| 90 | } | |
| 91 | ||
| 92 | $oneTests = [IO.Path]::GetDirectoryName($runs) | |
| 93 | if (-not (Test-Path -LiteralPath $oneTests -PathType Container)) { | |
| 94 | throw 'Create C:\one-tests before running this harness.' | |
| 95 | } | |
| 96 | if (-not (Test-Path -LiteralPath $runs -PathType Container)) { | |
| 97 | New-Item -ItemType Directory -Path $runs | Out-Null | |
| 98 | } | |
| 99 | if (((Get-Item -LiteralPath $runs -Force).Attributes -band [IO.FileAttributes]::ReparsePoint) -ne 0) { | |
| 100 | throw 'C:\one-tests\runs cannot be a reparse point.' | |
| 101 | } | |
| 102 | } | |
| 103 | ||
| 104 | function Assert-PathUnderRoot { | |
| 105 | param([string]$Path) | |
| 106 | ||
| 107 | $full = [IO.Path]::GetFullPath($Path) | |
| 108 | if (-not $full.StartsWith("$root\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 109 | throw 'The harness can write only below its run root.' | |
| 110 | } | |
| 111 | return $full | |
| 112 | } | |
| 113 | ||
| 114 | function Get-TreeState { | |
| 115 | param([string]$Path) | |
| 116 | ||
| 117 | $full = Assert-PathUnderRoot $Path | |
| 118 | $files = @(Get-ChildItem -LiteralPath $full -Force -File -Recurse | Sort-Object FullName) | |
| 119 | $entries = @( | |
| 120 | foreach ($file in $files) { | |
| 121 | $relative = $file.FullName.Substring($full.Length).TrimStart('\') | |
| 122 | [pscustomobject][ordered]@{ | |
| 123 | path = $relative | |
| 124 | bytes = [int64]$file.Length | |
| 125 | sha256 = (Get-FileHash -LiteralPath $file.FullName -Algorithm SHA256).Hash.ToLowerInvariant() | |
| 126 | } | |
| 127 | } | |
| 128 | ) | |
| 129 | $lines = @($entries | ForEach-Object { "$($_.path)`t$($_.bytes)`t$($_.sha256)" }) | |
| 130 | $bytes = [Text.Encoding]::UTF8.GetBytes([String]::Join("`n", $lines)) | |
| 131 | $treeHash = [Security.Cryptography.SHA256]::Create().ComputeHash($bytes) | |
| 132 | [pscustomobject][ordered]@{ | |
| 133 | file_count = $entries.Count | |
| 134 | byte_count = [int64](($entries | Measure-Object -Property bytes -Sum).Sum) | |
| 135 | sha256 = ([BitConverter]::ToString($treeHash) -replace '-', '').ToLowerInvariant() | |
| 136 | files = $entries | |
| 137 | } | |
| 138 | } | |
| 139 | ||
| 140 | function Copy-Snapshot { | |
| 141 | param([string]$Fixture) | |
| 142 | ||
| 143 | $snapshot = Join-Path (Join-Path $root 'snapshots') $Fixture | |
| 144 | Assert-PathUnderRoot $snapshot | Out-Null | |
| 145 | if (Test-Path -LiteralPath $snapshot) { | |
| 146 | throw "Snapshot '$Fixture' already exists." | |
| 147 | } | |
| 148 | $before = Get-TreeState $notebookPath | |
| 149 | New-Item -ItemType Directory -Path $snapshot | Out-Null | |
| 150 | Copy-Item -LiteralPath $notebookPath -Destination $snapshot -Recurse -Force | |
| 151 | $copied = Get-TreeState (Join-Path $snapshot 'notebook') | |
| 152 | $after = Get-TreeState $notebookPath | |
| 153 | if ($before.sha256 -ne $copied.sha256 -or $before.sha256 -ne $after.sha256) { | |
| 154 | throw "Snapshot '$Fixture' changed while copying." | |
| 155 | } | |
| 156 | $state = [pscustomobject][ordered]@{ | |
| 157 | source_before = [pscustomobject][ordered]@{ file_count = $before.file_count; byte_count = $before.byte_count; sha256 = $before.sha256 } | |
| 158 | copied = [pscustomobject][ordered]@{ file_count = $copied.file_count; byte_count = $copied.byte_count; sha256 = $copied.sha256 } | |
| 159 | source_after = [pscustomobject][ordered]@{ file_count = $after.file_count; byte_count = $after.byte_count; sha256 = $after.sha256 } | |
| 160 | files = $copied.files | |
| 161 | } | |
| 162 | Write-Json $state (Join-Path $snapshot 'snapshot.json') | |
| 163 | return $state | |
| 164 | } | |
| 165 | ||
| 166 | function Assert-NotebookPaths { | |
| 167 | param([string]$Hierarchy) | |
| 168 | ||
| 169 | [xml]$document = $Hierarchy | |
| 170 | foreach ($node in @($document.SelectNodes('//*[@path]'))) { | |
| 171 | $path = $node.GetAttribute('path') | |
| 172 | if (-not [String]::IsNullOrWhiteSpace($path)) { | |
| 173 | $full = [IO.Path]::GetFullPath($path) | |
| 174 | if (-not $full.StartsWith("$notebookPath\", [StringComparison]::OrdinalIgnoreCase) -and | |
| 175 | -not [String]::Equals($full.TrimEnd('\'), $notebookPath, [StringComparison]::OrdinalIgnoreCase)) { | |
| 176 | throw 'OneNote returned a hierarchy path outside the generated notebook.' | |
| 177 | } | |
| 178 | } | |
| 179 | } | |
| 180 | return $document | |
| 181 | } | |
| 182 | ||
| 183 | function Get-PageXml { | |
| 184 | param([string]$PageId) | |
| 185 | ||
| 186 | $page = '' | |
| 187 | $script:app.GetPageContent($PageId, [ref]$page, 3, $schema) | |
| 188 | return $page | |
| 189 | } | |
| 190 | ||
| 191 | function Get-PageIds { | |
| 192 | param([xml]$Hierarchy) | |
| 193 | ||
| 194 | $manager = New-Object Xml.XmlNamespaceManager($Hierarchy.NameTable) | |
| 195 | $manager.AddNamespace('one', $namespace) | |
| 196 | return @($Hierarchy.SelectNodes('//one:Page', $manager) | ForEach-Object { $_.GetAttribute('ID') }) | |
| 197 | } | |
| 198 | ||
| 199 | function Read-ReadyGeneratedNotebook { | |
| 200 | param([int]$ExpectedPageCount = -1) | |
| 201 | ||
| 202 | if ([String]::IsNullOrWhiteSpace($script:openedNotebookId) -or [String]::IsNullOrWhiteSpace($script:sectionId)) { | |
| 203 | throw 'The generated notebook and section must be open before readiness is checked.' | |
| 204 | } | |
| 205 | $deadline = (Get-Date).AddSeconds(15) | |
| 206 | $lastError = $null | |
| 207 | while ((Get-Date) -lt $deadline) { | |
| 208 | try { | |
| 209 | $hierarchy = '' | |
| 210 | $script:app.GetHierarchy($script:openedNotebookId, 4, [ref]$hierarchy, $schema) | |
| 211 | $document = Assert-NotebookPaths $hierarchy | |
| 212 | $manager = New-Object Xml.XmlNamespaceManager($document.NameTable) | |
| 213 | $manager.AddNamespace('one', $namespace) | |
| 214 | $sections = @($document.SelectNodes('//one:Section', $manager) | Where-Object { | |
| 215 | [String]::Equals($_.GetAttribute('ID'), $script:sectionId, [StringComparison]::OrdinalIgnoreCase) -and | |
| 216 | [String]::Equals([IO.Path]::GetFullPath($_.GetAttribute('path')).TrimEnd('\'), $sectionPath, [StringComparison]::OrdinalIgnoreCase) | |
| 217 | }) | |
| 218 | if ($sections.Count -ne 1) { throw 'OneNote has not returned the generated section in the hierarchy.' } | |
| 219 | $pageIds = @(Get-PageIds $document | Where-Object { -not [String]::IsNullOrWhiteSpace($_) }) | |
| 220 | if ($ExpectedPageCount -ge 0 -and $pageIds.Count -ne $ExpectedPageCount) { | |
| 221 | throw "Expected $ExpectedPageCount persisted pages, found $($pageIds.Count)." | |
| 222 | } | |
| 223 | $pageContents = @() | |
| 224 | foreach ($pageId in $pageIds) { | |
| 225 | $pageContents += Get-PageXml $pageId | |
| 226 | } | |
| 227 | return [pscustomobject][ordered]@{ | |
| 228 | hierarchy = $hierarchy | |
| 229 | page_ids = $pageIds | |
| 230 | page_contents = $pageContents | |
| 231 | } | |
| 232 | } | |
| 233 | catch { | |
| 234 | $lastError = $_.Exception.Message | |
| 235 | Start-Sleep -Milliseconds 250 | |
| 236 | } | |
| 237 | } | |
| 238 | throw "OneNote did not return the generated section ready for capture: $lastError" | |
| 239 | } | |
| 240 | ||
| 241 | function Get-SolePageId { | |
| 242 | $state = Read-ReadyGeneratedNotebook | |
| 243 | $pages = @($state.page_ids) | |
| 244 | if ($pages.Count -ne 1 -or [String]::IsNullOrWhiteSpace($pages[0])) { | |
| 245 | throw 'The generated notebook must contain exactly one page.' | |
| 246 | } | |
| 247 | return $pages[0] | |
| 248 | } | |
| 249 | ||
| 250 | function Confirm-Closed { | |
| 251 | param([string]$NotebookId) | |
| 252 | ||
| 253 | $probe = '' | |
| 254 | $closed = $false | |
| 255 | try { | |
| 256 | $script:app.GetHierarchy($NotebookId, 0, [ref]$probe, $schema) | |
| 257 | $closed = [String]::IsNullOrWhiteSpace($probe) | |
| 258 | } | |
| 259 | catch { | |
| 260 | $closed = $true | |
| 261 | } | |
| 262 | if (-not $closed) { | |
| 263 | throw 'OneNote still reports the generated notebook as open.' | |
| 264 | } | |
| 265 | } | |
| 266 | ||
| 267 | function Write-PageEvidence { | |
| 268 | param( | |
| 269 | [string]$Directory, | |
| 270 | [string]$Hierarchy, | |
| 271 | [string[]]$PageIds, | |
| 272 | [string[]]$PageContents | |
| 273 | ) | |
| 274 | ||
| 275 | if ($PageIds.Count -ne $PageContents.Count) { | |
| 276 | throw 'Page evidence is incomplete.' | |
| 277 | } | |
| 278 | Assert-PathUnderRoot $Directory | Out-Null | |
| 279 | $pagesDirectory = Join-Path $Directory 'pages' | |
| 280 | New-Item -ItemType Directory -Path $pagesDirectory | Out-Null | |
| 281 | [IO.File]::WriteAllText((Join-Path $Directory 'hierarchy.xml'), $Hierarchy, [Text.Encoding]::UTF8) | |
| 282 | $pages = @() | |
| 283 | for ($index = 0; $index -lt $PageIds.Count; $index++) { | |
| 284 | $pageFile = 'page-{0:d2}.xml' -f $index | |
| 285 | [IO.File]::WriteAllText((Join-Path $pagesDirectory $pageFile), $PageContents[$index], [Text.Encoding]::UTF8) | |
| 286 | $pages += [pscustomobject][ordered]@{ id = $PageIds[$index]; file = "pages\\$pageFile" } | |
| 287 | } | |
| 288 | return $pages | |
| 289 | } | |
| 290 | ||
| 291 | function Open-GeneratedNotebook { | |
| 292 | param([int]$ExpectedPageCount = -1) | |
| 293 | ||
| 294 | $opened = '' | |
| 295 | $script:app.OpenHierarchy($notebookPath, '', [ref]$opened, 0) | |
| 296 | if ([String]::IsNullOrWhiteSpace($opened)) { | |
| 297 | throw 'OneNote did not open the generated notebook.' | |
| 298 | } | |
| 299 | $script:openedNotebookId = $opened | |
| 300 | $section = '' | |
| 301 | $script:app.OpenHierarchy($sectionName, $opened, [ref]$section, 0) | |
| 302 | if ([String]::IsNullOrWhiteSpace($section)) { | |
| 303 | throw 'OneNote did not find the generated section.' | |
| 304 | } | |
| 305 | $script:sectionId = $section | |
| 306 | $state = Read-ReadyGeneratedNotebook $ExpectedPageCount | |
| 307 | Add-Log 'open_notebook' $null @{ notebook_id = $opened; path = $notebookPath; expected_page_count = if ($ExpectedPageCount -ge 0) { $ExpectedPageCount } else { $null }; actual_page_count = $state.page_ids.Count } | |
| 308 | return $state | |
| 309 | } | |
| 310 | ||
| 311 | function Sync-CloseGeneratedNotebook { | |
| 312 | param( | |
| 313 | [string]$Fixture, | |
| 314 | [string]$Phase | |
| 315 | ) | |
| 316 | ||
| 317 | $closingId = $script:openedNotebookId | |
| 318 | if ([String]::IsNullOrWhiteSpace($closingId)) { throw 'The generated notebook must be open before it is synced.' } | |
| 319 | $script:app.SyncHierarchy($closingId) | |
| 320 | Add-Log 'sync_hierarchy' $Fixture @{ notebook_id = $closingId; phase = $Phase } | |
| 321 | $script:app.CloseNotebook($closingId, $false) | |
| 322 | $script:openedNotebookId = $null | |
| 323 | Confirm-Closed $closingId | |
| 324 | Add-Log 'close_notebook' $Fixture @{ notebook_id = $closingId; phase = $Phase; confirmed = $true } | |
| 325 | } | |
| 326 | ||
| 327 | function Capture-Notebook { | |
| 328 | param([string]$Fixture) | |
| 329 | ||
| 330 | $evidence = Join-Path (Join-Path $root 'evidence') $Fixture | |
| 331 | Assert-PathUnderRoot $evidence | Out-Null | |
| 332 | if (Test-Path -LiteralPath $evidence) { | |
| 333 | throw "Evidence '$Fixture' already exists." | |
| 334 | } | |
| 335 | $baseline = Read-ReadyGeneratedNotebook | |
| 336 | $expectedPageCount = $baseline.page_ids.Count | |
| 337 | Sync-CloseGeneratedNotebook $Fixture 'stabilize' | |
| 338 | $snapshot = Copy-Snapshot $Fixture | |
| 339 | Add-Log 'copy_snapshot' $Fixture @{ sha256 = $snapshot.copied.sha256; file_count = $snapshot.copied.file_count; byte_count = $snapshot.copied.byte_count } | |
| 340 | $state = Open-GeneratedNotebook $expectedPageCount | |
| 341 | ||
| 342 | New-Item -ItemType Directory -Path $evidence | Out-Null | |
| 343 | $pages = @(Write-PageEvidence $evidence $state.hierarchy $state.page_ids $state.page_contents) | |
| 344 | if ($Fixture -eq '06-attachment') { | |
| 345 | $cachePaths = @( | |
| 346 | foreach ($pageXml in @($state.page_contents)) { | |
| 347 | [xml]$pageDocument = $pageXml | |
| 348 | $manager = New-Object Xml.XmlNamespaceManager($pageDocument.NameTable) | |
| 349 | $manager.AddNamespace('one', $namespace) | |
| 350 | foreach ($file in @($pageDocument.SelectNodes('//one:InsertedFile', $manager))) { | |
| 351 | if ($file.GetAttribute('preferredName') -eq 'fictitious-attachment.txt' -and -not [String]::IsNullOrWhiteSpace($file.GetAttribute('pathCache'))) { | |
| 352 | $file.GetAttribute('pathCache') | |
| 353 | } | |
| 354 | } | |
| 355 | } | |
| 356 | ) | |
| 357 | if ($cachePaths.Count -ne 1 -or -not (Test-Path -LiteralPath $cachePaths[0] -PathType Leaf)) { | |
| 358 | throw 'OneNote did not return one readable cached generated attachment.' | |
| 359 | } | |
| 360 | $attachment = [IO.File]::ReadAllBytes($cachePaths[0]) | |
| 361 | [IO.File]::WriteAllBytes((Join-Path $evidence 'attachment.txt'), $attachment) | |
| 362 | Add-Log 'capture_attachment_cache' $Fixture @{ bytes = $attachment.Length } | |
| 363 | } | |
| 364 | $native = [pscustomobject][ordered]@{ | |
| 365 | fixture = $Fixture | |
| 366 | notebook_id = $script:openedNotebookId | |
| 367 | section_id = $script:sectionId | |
| 368 | hierarchy_file = 'hierarchy.xml' | |
| 369 | pages = $pages | |
| 370 | } | |
| 371 | Write-Json $native (Join-Path $evidence 'native.json') | |
| 372 | Add-Log 'capture_native_api' $Fixture @{ page_count = $pages.Count; schema = $schema } | |
| 373 | ||
| 374 | Sync-CloseGeneratedNotebook $Fixture 'persist' | |
| 375 | $reopened = Open-GeneratedNotebook $expectedPageCount | |
| 376 | $reopenedDirectory = Join-Path $evidence 'reopened' | |
| 377 | if (Test-Path -LiteralPath $reopenedDirectory) { throw "Reopened evidence for '$Fixture' already exists." } | |
| 378 | New-Item -ItemType Directory -Path $reopenedDirectory | Out-Null | |
| 379 | $reopenedPages = @(Write-PageEvidence $reopenedDirectory $reopened.hierarchy $reopened.page_ids $reopened.page_contents) | |
| 380 | Write-Json ([pscustomobject][ordered]@{ | |
| 381 | expected_page_count = $expectedPageCount | |
| 382 | actual_page_count = $reopenedPages.Count | |
| 383 | hierarchy_file = 'hierarchy.xml' | |
| 384 | pages = $reopenedPages | |
| 385 | }) (Join-Path $reopenedDirectory 'native.json') | |
| 386 | Add-Log 'reopen_ready' $Fixture @{ expected_page_count = $expectedPageCount; actual_page_count = $reopenedPages.Count } | |
| 387 | return [pscustomobject][ordered]@{ | |
| 388 | evidence = $evidence.Substring($root.Length).TrimStart('\') | |
| 389 | reopened_evidence = (Join-Path (Join-Path 'evidence' $Fixture) 'reopened') | |
| 390 | snapshot = (Join-Path 'snapshots' $Fixture) | |
| 391 | } | |
| 392 | } | |
| 393 | ||
| 394 | function Invoke-Step { | |
| 395 | param( | |
| 396 | [string]$Name, | |
| 397 | [string]$Description, | |
| 398 | [scriptblock]$Action | |
| 399 | ) | |
| 400 | ||
| 401 | try { | |
| 402 | Add-Log 'begin_fixture' $Name @{ description = $Description } | |
| 403 | & $Action | |
| 404 | $capture = Capture-Notebook $Name | |
| 405 | Add-Fixture $Name 'captured' $Description $capture | |
| 406 | } | |
| 407 | catch { | |
| 408 | Add-Log 'fixture_failed' $Name @{ error = $_.Exception.Message } | |
| 409 | Add-Fixture $Name 'failed' $Description @{ error = $_.Exception.Message } | |
| 410 | throw | |
| 411 | } | |
| 412 | } | |
| 413 | ||
| 414 | function Invoke-PageUpdate { | |
| 415 | param( | |
| 416 | [string]$Fixture, | |
| 417 | [string]$Xml, | |
| 418 | $Details | |
| 419 | ) | |
| 420 | ||
| 421 | $input = Join-Path (Join-Path $root 'inputs') "$Fixture.xml" | |
| 422 | Assert-PathUnderRoot $input | Out-Null | |
| 423 | [IO.File]::WriteAllText($input, $Xml, [Text.Encoding]::UTF8) | |
| 424 | $script:app.UpdatePageContent($Xml, [DateTime]::MinValue, $schema, $false) | |
| 425 | Add-Log 'update_page_content' $Fixture $Details | |
| 426 | } | |
| 427 | ||
| 428 | function Get-OfficeMetadata { | |
| 429 | $clsid = (Get-Item -LiteralPath 'Registry::HKEY_CLASSES_ROOT\OneNote.Application\CLSID').GetValue('') | |
| 430 | $server = (Get-Item -LiteralPath "Registry::HKEY_CLASSES_ROOT\CLSID\$clsid\LocalServer32").GetValue('') | |
| 431 | $match = [regex]::Match($server, '^"(?<path>[^"]+\.exe)"|^(?<path>[^\s]+\.exe)', [Text.RegularExpressions.RegexOptions]::IgnoreCase) | |
| 432 | if (-not $match.Success) { | |
| 433 | throw 'OneNote LocalServer32 does not resolve an executable.' | |
| 434 | } | |
| 435 | $path = $match.Groups['path'].Value | |
| 436 | if (-not (Test-Path -LiteralPath $path -PathType Leaf)) { | |
| 437 | throw 'OneNote LocalServer32 executable is unavailable.' | |
| 438 | } | |
| 439 | $version = (Get-Item -LiteralPath $path).VersionInfo.FileVersion | |
| 440 | if ([String]::IsNullOrWhiteSpace($version)) { | |
| 441 | throw 'OneNote executable has no file version.' | |
| 442 | } | |
| 443 | return [pscustomobject][ordered]@{ | |
| 444 | prog_id = 'OneNote.Application' | |
| 445 | clsid = $clsid | |
| 446 | local_server = $server | |
| 447 | executable = $path | |
| 448 | file_version = $version | |
| 449 | xml_schema = 'xs2010' | |
| 450 | xml_schema_value = $schema | |
| 451 | xml_namespace = $namespace | |
| 452 | } | |
| 453 | } | |
| 454 | ||
| 455 | function Wait-ForStableFile { | |
| 456 | param([string]$Path) | |
| 457 | ||
| 458 | $full = Assert-PathUnderRoot $Path | |
| 459 | $deadline = (Get-Date).AddSeconds(30) | |
| 460 | while ((Get-Date) -lt $deadline) { | |
| 461 | if (Test-Path -LiteralPath $full -PathType Leaf) { | |
| 462 | $first = Get-Item -LiteralPath $full | |
| 463 | $firstHash = (Get-FileHash -LiteralPath $full -Algorithm SHA256).Hash.ToLowerInvariant() | |
| 464 | Start-Sleep -Milliseconds 500 | |
| 465 | $second = Get-Item -LiteralPath $full | |
| 466 | $secondHash = (Get-FileHash -LiteralPath $full -Algorithm SHA256).Hash.ToLowerInvariant() | |
| 467 | if ($first.Length -eq $second.Length -and $firstHash -eq $secondHash) { | |
| 468 | return [pscustomobject][ordered]@{ bytes = [int64]$second.Length; sha256 = $secondHash } | |
| 469 | } | |
| 470 | } | |
| 471 | Start-Sleep -Milliseconds 500 | |
| 472 | } | |
| 473 | throw 'OneNote did not finish writing the package within 30 seconds.' | |
| 474 | } | |
| 475 | ||
| 476 | $profile = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 477 | if ((Get-ItemProperty "$profile\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or | |
| 478 | -not (Test-Path 'C:\one-tests\profile-original-cache')) { | |
| 479 | throw 'Park the personal OneNote profile before running native tests.' | |
| 480 | } | |
| 481 | if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before creating fixtures.' } | |
| 482 | Assert-RunRoot | |
| 483 | ||
| 484 | if ($Mode -eq 'Create') { | |
| 485 | if (Test-Path -LiteralPath $root) { | |
| 486 | throw 'Choose a root that does not exist.' | |
| 487 | } | |
| 488 | New-Item -ItemType Directory -Path $root | Out-Null | |
| 489 | foreach ($directory in 'assets', 'evidence', 'inputs', 'snapshots') { | |
| 490 | New-Item -ItemType Directory -Path (Join-Path $root $directory) | Out-Null | |
| 491 | } | |
| 492 | Write-Json ([pscustomobject][ordered]@{ | |
| 493 | format = 'onenote-native-stage1-root-v1' | |
| 494 | root = $root | |
| 495 | generated = $true | |
| 496 | }) $markerPath | |
| 497 | $script:manifest = [pscustomobject][ordered]@{ | |
| 498 | format = 'onenote-native-stage1-v1' | |
| 499 | status = 'running' | |
| 500 | root = $root | |
| 501 | created_at_utc = [DateTime]::UtcNow.ToString('o') | |
| 502 | office = Get-OfficeMetadata | |
| 503 | harness = [pscustomobject][ordered]@{ | |
| 504 | source_path = $PSCommandPath | |
| 505 | source_sha256 = (Get-FileHash -LiteralPath $PSCommandPath -Algorithm SHA256).Hash.ToLowerInvariant() | |
| 506 | } | |
| 507 | notebook = [pscustomobject][ordered]@{ path = 'notebook'; section = $sectionName } | |
| 508 | fixtures = @() | |
| 509 | operation_log = 'operation-log.jsonl' | |
| 510 | } | |
| 511 | Save-Manifest | |
| 512 | } | |
| 513 | else { | |
| 514 | if (-not (Test-Path -LiteralPath $root -PathType Container) -or -not (Test-Path -LiteralPath $markerPath -PathType Leaf)) { | |
| 515 | throw 'Capture requires a generated corpus root.' | |
| 516 | } | |
| 517 | if (((Get-Item -LiteralPath $root -Force).Attributes -band [IO.FileAttributes]::ReparsePoint) -ne 0) { | |
| 518 | throw 'Capture root cannot be a reparse point.' | |
| 519 | } | |
| 520 | if (-not (Test-Path -LiteralPath $manifestPath -PathType Leaf) -or -not (Test-Path -LiteralPath $notebookPath -PathType Container)) { | |
| 521 | throw 'Capture requires the generated manifest and notebook.' | |
| 522 | } | |
| 523 | try { | |
| 524 | $marker = Get-Content -LiteralPath $markerPath -Raw | ConvertFrom-Json | |
| 525 | } | |
| 526 | catch { | |
| 527 | throw 'Capture requires a readable generated corpus marker.' | |
| 528 | } | |
| 529 | if ($marker.format -ne 'onenote-native-stage1-root-v1' -or $marker.generated -ne $true -or | |
| 530 | -not [String]::Equals([IO.Path]::GetFullPath($marker.root).TrimEnd('\'), $root, [StringComparison]::OrdinalIgnoreCase)) { | |
| 531 | throw 'Capture root marker does not match this generated corpus.' | |
| 532 | } | |
| 533 | if ([String]::IsNullOrWhiteSpace($Step) -or $Step -notmatch '^[0-9]{2}-[a-z0-9-]+$') { | |
| 534 | throw 'Choose a lowercase numbered fixture name for -Step.' | |
| 535 | } | |
| 536 | $script:manifest = Get-Content -LiteralPath $manifestPath -Raw | ConvertFrom-Json | |
| 537 | } | |
| 538 | ||
| 539 | try { | |
| 540 | $script:app = New-Object -ComObject OneNote.Application | |
| 541 | Add-Log 'connect_com' $null @{ prog_id = 'OneNote.Application'; schema = $schema } | |
| 542 | ||
| 543 | if ($Mode -eq 'Capture') { | |
| 544 | Open-GeneratedNotebook | |
| 545 | $capture = Capture-Notebook $Step | |
| 546 | Add-Fixture $Step 'captured' 'Manual native fixture.' $capture | |
| 547 | } | |
| 548 | else { | |
| 549 | $attachmentPath = Join-Path $root 'assets\fictitious-attachment.txt' | |
| 550 | $imagePath = Join-Path $root 'assets\fictitious-image.png' | |
| 551 | [IO.File]::WriteAllText($attachmentPath, 'Fictitious attachment for native corpus.', [Text.Encoding]::UTF8) | |
| 552 | [IO.File]::WriteAllBytes($imagePath, [Convert]::FromBase64String('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9Y9J1uoAAAAASUVORK5CYII=')) | |
| 553 | Add-Log 'generate_assets' $null @{ attachment = 'assets\fictitious-attachment.txt'; image = 'assets\fictitious-image.png' } | |
| 554 | ||
| 555 | Invoke-Step '00-empty' 'New notebook and section.' { | |
| 556 | $notebook = '' | |
| 557 | $script:app.OpenHierarchy($notebookPath, '', [ref]$notebook, 1) | |
| 558 | if ([String]::IsNullOrWhiteSpace($notebook)) { throw 'OneNote did not create the generated notebook.' } | |
| 559 | $script:openedNotebookId = $notebook | |
| 560 | $section = '' | |
| 561 | $script:app.OpenHierarchy($sectionName, $notebook, [ref]$section, 3) | |
| 562 | if ([String]::IsNullOrWhiteSpace($section)) { throw 'OneNote did not create the generated section.' } | |
| 563 | $script:sectionId = $section | |
| 564 | Add-Log 'create_notebook_section' '00-empty' @{ notebook_id = $notebook; section_id = $section; path = $notebookPath } | |
| 565 | } | |
| 566 | ||
| 567 | Invoke-Step '01-blank-page' 'Blank page with no title.' { | |
| 568 | $page = '' | |
| 569 | $script:app.CreateNewPage($script:sectionId, [ref]$page, 2) | |
| 570 | if ([String]::IsNullOrWhiteSpace($page)) { throw 'OneNote did not create the blank page.' } | |
| 571 | Add-Log 'create_new_page' '01-blank-page' @{ page_id = $page; style = 'npsBlankPageNoTitle'; value = 2 } | |
| 572 | } | |
| 573 | ||
| 574 | Invoke-Step '02-text' 'Plain text outline.' { | |
| 575 | $pageId = Get-SolePageId | |
| 576 | $body = '<one:Outline><one:OEChildren><one:OE><one:T><![CDATA[Fictitious plain text.]]></one:T></one:OE></one:OEChildren></one:Outline>' | |
| 577 | $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>" | |
| 578 | Invoke-PageUpdate '02-text' $xml @{ page_id = $pageId; kind = 'plain_text_outline'; input = 'inputs\\02-text.xml' } | |
| 579 | } | |
| 580 | ||
| 581 | Invoke-Step '03-format-unicode' 'Formatted Unicode text replacing the fetched outline.' { | |
| 582 | $pageId = Get-SolePageId | |
| 583 | $before = Get-PageXml $pageId | |
| 584 | [IO.File]::WriteAllText((Join-Path $root 'evidence\03-format-unicode-before.xml'), $before, [Text.Encoding]::UTF8) | |
| 585 | [xml]$source = $before | |
| 586 | $manager = New-Object Xml.XmlNamespaceManager($source.NameTable) | |
| 587 | $manager.AddNamespace('one', $namespace) | |
| 588 | $outline = $source.SelectSingleNode('//one:Outline[@objectID]', $manager) | |
| 589 | if ($null -eq $outline) { throw 'OneNote did not assign an objectID to the text outline.' } | |
| 590 | $text = $outline.SelectSingleNode('.//one:T', $manager) | |
| 591 | if ($null -eq $text) { throw 'The fetched text outline has no text node.' } | |
| 592 | foreach ($child in @($text.ChildNodes)) { [void]$text.RemoveChild($child) } | |
| 593 | $unicode = 'Fictitious: caf' + [char]0x00E9 + ', ' + [char]0x6771 + [char]0x4EAC + ', ' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 | |
| 594 | $html = '<span style="font-family:Calibri;font-size:11.0pt;font-weight:bold;color:#1F4E79">' + $unicode + '</span>' | |
| 595 | [void]$text.AppendChild($source.CreateCDataSection($html)) | |
| 596 | $change = New-Object Xml.XmlDocument | |
| 597 | $page = $change.CreateElement('one', 'Page', $namespace) | |
| 598 | $page.SetAttribute('ID', $pageId) | |
| 599 | [void]$page.AppendChild($change.ImportNode($outline, $true)) | |
| 600 | [void]$change.AppendChild($page) | |
| 601 | Invoke-PageUpdate '03-format-unicode' $change.OuterXml @{ page_id = $pageId; object_id = $outline.GetAttribute('objectID'); kind = 'full_outline_replace'; input = 'inputs\\03-format-unicode.xml' } | |
| 602 | } | |
| 603 | ||
| 604 | Invoke-Step '04-positioned-outline' 'Positioned text outline.' { | |
| 605 | $pageId = Get-SolePageId | |
| 606 | $body = '<one:Outline><one:Position x="144" y="96"/><one:Size width="260" height="72"/><one:OEChildren><one:OE><one:T><![CDATA[Fictitious positioned outline.]]></one:T></one:OE></one:OEChildren></one:Outline>' | |
| 607 | $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>" | |
| 608 | Invoke-PageUpdate '04-positioned-outline' $xml @{ page_id = $pageId; x = 144; y = 96; input = 'inputs\\04-positioned-outline.xml' } | |
| 609 | } | |
| 610 | ||
| 611 | Invoke-Step '05-image' 'Generated PNG in a positioned outline.' { | |
| 612 | $pageId = Get-SolePageId | |
| 613 | $data = [Convert]::ToBase64String([IO.File]::ReadAllBytes($imagePath)) | |
| 614 | $body = '<one:Outline><one:Position x="144" y="192"/><one:Size width="96" height="96"/><one:OEChildren><one:OE><one:Image format="png"><one:Data>' + $data + '</one:Data></one:Image></one:OE></one:OEChildren></one:Outline>' | |
| 615 | $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>" | |
| 616 | Invoke-PageUpdate '05-image' $xml @{ page_id = $pageId; asset = 'assets\fictitious-image.png'; x = 144; y = 192; input = 'inputs\\05-image.xml' } | |
| 617 | } | |
| 618 | ||
| 619 | Invoke-Step '06-attachment' 'Generated attachment in a positioned outline.' { | |
| 620 | $pageId = Get-SolePageId | |
| 621 | $body = '<one:Outline><one:Position x="264" y="192"/><one:OEChildren><one:OE><one:InsertedFile pathSource="' + [Security.SecurityElement]::Escape($attachmentPath) + '" preferredName="fictitious-attachment.txt"/></one:OE></one:OEChildren></one:Outline>' | |
| 622 | $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>" | |
| 623 | Invoke-PageUpdate '06-attachment' $xml @{ page_id = $pageId; asset = 'assets\fictitious-attachment.txt'; x = 264; y = 192; input = 'inputs\\06-attachment.xml' } | |
| 624 | } | |
| 625 | ||
| 626 | Invoke-Step '07-table' 'Two-cell native table.' { | |
| 627 | $pageId = Get-SolePageId | |
| 628 | $body = '<one:Outline><one:Position x="144" y="312"/><one:OEChildren><one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="37.11"/><one:Column index="1" width="37.11"/></one:Columns><one:Row><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Left cell]]></one:T></one:OE></one:OEChildren></one:Cell><one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Right cell]]></one:T></one:OE></one:OEChildren></one:Cell></one:Row></one:Table></one:OE></one:OEChildren></one:Outline>' | |
| 629 | $xml = "<one:Page xmlns:one=`"$namespace`" ID=`"$pageId`">$body</one:Page>" | |
| 630 | Invoke-PageUpdate '07-table' $xml @{ page_id = $pageId; x = 144; y = 312; input = 'inputs\\07-table.xml'; kind = 'two_cell_table' } | |
| 631 | } | |
| 632 | ||
| 633 | try { | |
| 634 | $packagePath = Join-Path $root 'notebook.onepkg' | |
| 635 | $script:app.Publish($script:openedNotebookId, $packagePath, 1, '') | |
| 636 | $package = Wait-ForStableFile $packagePath | |
| 637 | $capture = Capture-Notebook '08-onepkg' | |
| 638 | Add-Fixture '08-onepkg' 'captured' 'Published OneNote package.' @{ package = 'notebook.onepkg'; bytes = $package.bytes; sha256 = $package.sha256; capture = $capture } | |
| 639 | Add-Log 'publish_package' '08-onepkg' @{ package = 'notebook.onepkg'; bytes = $package.bytes; sha256 = $package.sha256 } | |
| 640 | } | |
| 641 | catch { | |
| 642 | Add-Log 'fixture_failed' '08-onepkg' @{ error = $_.Exception.Message } | |
| 643 | Add-Fixture '08-onepkg' 'failed' 'Published OneNote package.' @{ error = $_.Exception.Message } | |
| 644 | } | |
| 645 | } | |
| 646 | ||
| 647 | $script:manifest.status = if (@($script:manifest.fixtures | Where-Object { $_.status -eq 'failed' }).Count -gt 0) { 'completed-with-failures' } else { 'completed' } | |
| 648 | $script:manifest | Add-Member -NotePropertyName completed_at_utc -NotePropertyValue ([DateTime]::UtcNow.ToString('o')) -Force | |
| 649 | Save-Manifest | |
| 650 | } | |
| 651 | catch { | |
| 652 | if ($null -ne $script:manifest) { | |
| 653 | $script:manifest.status = 'failed' | |
| 654 | $script:manifest | Add-Member -NotePropertyName failure -NotePropertyValue $_.Exception.Message -Force | |
| 655 | Save-Manifest | |
| 656 | } | |
| 657 | throw | |
| 658 | } | |
| 659 | finally { | |
| 660 | if ($null -ne $script:app -and -not [String]::IsNullOrWhiteSpace($script:openedNotebookId)) { | |
| 661 | try { | |
| 662 | $script:app.CloseNotebook($script:openedNotebookId, $false) | |
| 663 | } | |
| 664 | catch { | |
| 665 | } | |
| 666 | } | |
| 667 | } |
tools/native/delete-fixture.ps1 created+36| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 5 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { throw 'Choose a run directly below C:\one-tests\runs.' } | |
| 6 | & "$PSScriptRoot\cold-current.ps1" -Root $root | |
| 7 | $app = New-Object -ComObject OneNote.Application | |
| 8 | $notebook = '' | |
| 9 | try { | |
| 10 | $app.OpenHierarchy("$root\notebook", '', [ref]$notebook, 0) | |
| 11 | $section = '' | |
| 12 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 13 | $page = '' | |
| 14 | $app.CreateNewPage($section, [ref]$page, 2) | |
| 15 | $xml = '<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="' + $page + '"><one:Outline><one:OEChildren><one:OE><one:T>Recoverable deletion marker.</one:T></one:OE></one:OEChildren></one:Outline></one:Page>' | |
| 16 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $false) | |
| 17 | $app.SyncHierarchy($notebook) | |
| 18 | $app.CloseNotebook($notebook, $false) | |
| 19 | Copy-Item "$root\notebook" "$root\before" -Recurse | |
| 20 | $app.OpenHierarchy("$root\notebook", '', [ref]$notebook, 0) | |
| 21 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 22 | $hierarchy = '' | |
| 23 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 24 | [xml]$tree = $hierarchy | |
| 25 | $target = @($tree.SelectNodes('//*[local-name()="Page"]') | Where-Object { $_.GetAttribute('name') -eq 'Recoverable deletion marker.' }) | |
| 26 | if ($target.Count -ne 1) { throw 'The generated deletion page did not persist.' } | |
| 27 | $app.DeleteHierarchy($target[0].GetAttribute('ID'), [DateTime]::MinValue, $false) | |
| 28 | $app.SyncHierarchy($notebook) | |
| 29 | } finally { | |
| 30 | if ($notebook) { $app.CloseNotebook($notebook, $false) } | |
| 31 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 32 | $app = $null | |
| 33 | [GC]::Collect() | |
| 34 | [GC]::WaitForPendingFinalizers() | |
| 35 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 36 | } |
tools/native/edit-existing.ps1 created+46| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, | |
| 2 | [Parameter(Mandatory=$true)][string]$ExpectedText, | |
| 3 | [Parameter(Mandatory=$true)][string]$Text) | |
| 4 | Set-StrictMode -Version Latest | |
| 5 | $ErrorActionPreference = 'Stop' | |
| 6 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 7 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { throw 'Choose a run directly below C:\one-tests\runs.' } | |
| 8 | & "$PSScriptRoot\cold-current.ps1" -Root $root | |
| 9 | $app = New-Object -ComObject OneNote.Application | |
| 10 | $notebook = '' | |
| 11 | try { | |
| 12 | $app.OpenHierarchy("$root\notebook", '', [ref]$notebook, 0) | |
| 13 | $section = '' | |
| 14 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 15 | $deadline = [DateTime]::UtcNow.AddSeconds(30) | |
| 16 | $matches = @() | |
| 17 | do { | |
| 18 | $hierarchy = '' | |
| 19 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 20 | [xml]$tree = $hierarchy | |
| 21 | $pages = @($tree.SelectNodes('//*[local-name()="Page"]')) | |
| 22 | if ($pages.Count -gt 1) { throw 'Expected a single demo page.' } | |
| 23 | if ($pages.Count -eq 1) { | |
| 24 | $content = '' | |
| 25 | $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 3, 1) | |
| 26 | [xml]$page = $content | |
| 27 | $matches = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object { $_.InnerText -eq $ExpectedText }) | |
| 28 | if ($matches.Count -eq 1) { break } | |
| 29 | } | |
| 30 | Start-Sleep -Milliseconds 250 | |
| 31 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 32 | if ($matches.Count -ne 1) { throw 'Expected one matching demo text object.' } | |
| 33 | [IO.File]::WriteAllText("$root\before.xml", $content, [Text.Encoding]::UTF8) | |
| 34 | $matches[0].InnerText = [Security.SecurityElement]::Escape($Text) | |
| 35 | $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $false) | |
| 36 | $app.SyncHierarchy($notebook) | |
| 37 | } finally { | |
| 38 | try { if ($notebook) { $app.CloseNotebook($notebook, $false) } } | |
| 39 | finally { | |
| 40 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 41 | $app = $null | |
| 42 | [GC]::Collect() | |
| 43 | [GC]::WaitForPendingFinalizers() | |
| 44 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 45 | } | |
| 46 | } |
tools/native/features.ps1 created+58| ... | ... | @@ -0,0 +1,58 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $inputs = Join-Path $Root 'inputs' | |
| 6 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 7 | $app = New-Object -ComObject OneNote.Application | |
| 8 | $notebookId = '' | |
| 9 | $namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 10 | try { | |
| 11 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 12 | $sectionId = '' | |
| 13 | $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0) | |
| 14 | $cases = @( | |
| 15 | @{ name = 'Black highlight control'; html = '<span style="background:black">Black highlight, automatic text</span>' }, | |
| 16 | @{ name = 'White on black'; html = '<span style="background:black;color:white">White text on black highlight</span>' }, | |
| 17 | @{ name = 'Black on black'; html = '<span style="background:black;color:black">Black text on black highlight</span>' }, | |
| 18 | @{ name = 'Partial black highlight'; html = '<b>Before <span style="background:black">middle</span> after</b>' }, | |
| 19 | @{ name = 'Yellow control'; html = '<span style="background:yellow">Yellow highlight, automatic text</span>' }, | |
| 20 | @{ name = 'Character styles'; html = 'Plain <b>bold</b> <i>italic</i> <u>underline</u> <s>strike</s> <sup>super</sup> <sub>sub</sub> <span style="font-family:Consolas;font-size:18pt;color:#804020;background:#00ffff">font and color</span>' }, | |
| 21 | @{ name = 'Unicode runs'; html = 'BMP <b>' + [char]::ConvertFromUtf32(0x1F600) + 'e' + [char]0x0301 + '</b> ' + [char]0x6771 + [char]0x4EAC + ' <i>' + [char]0x0645 + [char]0x0631 + [char]0x062D + [char]0x0628 + [char]0x0627 + '</i>' }, | |
| 22 | @{ name = 'Link runs'; html = 'Before <a href="https://example.invalid/fixture?x=1&amp;y=2"><b>Link label</b></a> after' } | |
| 23 | ) | |
| 24 | $pageId = '' | |
| 25 | $app.CreateNewPage($sectionId, [ref]$pageId, 0) | |
| 26 | $body = '<one:Title><one:OE><one:T><![CDATA[Native feature probes]]></one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:Size width="480" height="400"/><one:OEChildren>' | |
| 27 | foreach ($case in $cases) { $body += '<one:OE><one:T><![CDATA[' + $case.html + ']]></one:T></one:OE>' } | |
| 28 | $body += '</one:OEChildren></one:Outline>' | |
| 29 | $body = '<one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Fixture checkbox"/><one:TagDef index="1" type="90" symbol="13" fontColor="#804020" highlightColor="#00ffff" name="Fixture custom tag"/><one:QuickStyleDef index="0" name="h1" font="Calibri" fontSize="20" bold="true" fontColor="#123456" highlightColor="automatic" spaceBefore="8" spaceAfter="4"/>' + $body | |
| 30 | $body += '<one:Outline><one:Position x="72" y="540"/><one:Size width="480" height="600"/><one:OEChildren>' | |
| 31 | $body += '<one:OE quickStyleIndex="0" alignment="right"><one:T><![CDATA[Named paragraph style]]></one:T></one:OE>' | |
| 32 | $body += '<one:OE><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:Tag index="1" completed="true" disabled="false" creationDate="2020-01-02T03:04:05.000Z" completionDate="2020-01-02T04:05:06.000Z"/><one:T><![CDATA[Two tags on this paragraph]]></one:T></one:OE>' | |
| 33 | $body += '<one:OE><one:List><one:Bullet bullet="3" fontSize="11"/></one:List><one:T><![CDATA[Outer bullet]]></one:T><one:OEChildren><one:OE><one:List><one:Bullet bullet="13" fontSize="11"/></one:List><one:T><![CDATA[Nested bullet]]></one:T></one:OE></one:OEChildren></one:OE>' | |
| 34 | $body += '<one:OE><one:List><one:Number numberSequence="1" numberFormat="##." restartNumberingAt="3" font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item three]]></one:T></one:OE><one:OE><one:List><one:Number numberSequence="1" numberFormat="##." font="Calibri" fontSize="11"/></one:List><one:T><![CDATA[Numbered item four]]></one:T></one:OE>' | |
| 35 | $body += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="120" isLocked="true"/><one:Column index="1" width="180" isLocked="false"/></one:Columns>' | |
| 36 | foreach ($row in 0..2) { | |
| 37 | $body += '<one:Row>' | |
| 38 | foreach ($column in 0..1) { | |
| 39 | $body += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[Cell ' + $row + ',' + $column + ']]></one:T></one:OE></one:OEChildren></one:Cell>' | |
| 40 | } | |
| 41 | $body += '</one:Row>' | |
| 42 | } | |
| 43 | $body += '</one:Table></one:OE></one:OEChildren></one:Outline>' | |
| 44 | ||
| 45 | $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '">' + $body + '</one:Page>' | |
| 46 | [IO.File]::WriteAllText((Join-Path $inputs 'format-probes.xml'), $xml, [Text.Encoding]::UTF8) | |
| 47 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true) | |
| 48 | $cases | ConvertTo-Json -Depth 8 | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8 | |
| 49 | $app.SyncHierarchy($notebookId) | |
| 50 | $app.CloseNotebook($notebookId, $false) | |
| 51 | $notebookId = '' | |
| 52 | } finally { | |
| 53 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 54 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 55 | $app = $null | |
| 56 | [GC]::Collect() | |
| 57 | [GC]::WaitForPendingFinalizers() | |
| 58 | } |
tools/native/history.ps1 created+83| ... | ... | @@ -0,0 +1,83 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $histories = Get-Content (Join-Path $Root 'notebook\histories.json') -Raw -Encoding UTF8 | ConvertFrom-Json | |
| 6 | $inputs = Join-Path $Root 'inputs' | |
| 7 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 8 | $app = New-Object -ComObject OneNote.Application | |
| 9 | $notebookId = '' | |
| 10 | $namespace = 'http://schemas.microsoft.com/office/onenote/2010/onenote' | |
| 11 | try { | |
| 12 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 13 | $sectionId = '' | |
| 14 | $app.OpenHierarchy('synthetic.one', $notebookId, [ref]$sectionId, 0) | |
| 15 | foreach ($history in $histories) { | |
| 16 | $pageId = '' | |
| 17 | $app.CreateNewPage($sectionId, [ref]$pageId, 0) | |
| 18 | $state = $history.initial | |
| 19 | $paragraphs = New-Object Collections.ArrayList | |
| 20 | foreach ($paragraph in $state.paragraphs) { [void]$paragraphs.Add($paragraph) } | |
| 21 | $ids = @{} | |
| 22 | $outlineId = '' | |
| 23 | for ($step = -1; $step -lt $history.operations.Count; $step++) { | |
| 24 | if ($step -ge 0) { | |
| 25 | $op = $history.operations[$step] | |
| 26 | switch ($op.kind) { | |
| 27 | 'insert' { $paragraphs.Insert($op.index, $op.paragraph) } | |
| 28 | 'delete' { $paragraphs.RemoveAt($op.index) } | |
| 29 | 'move' { $paragraph = $paragraphs[$op.index]; $paragraphs.RemoveAt($op.index); $paragraphs.Insert($op.to, $paragraph) } | |
| 30 | 'position' { $state.x = $op.x; $state.y = $op.y } | |
| 31 | 'cell' { $state.table[$op.row][$op.column] = $op.text } | |
| 32 | default { $property = $op.kind; $paragraphs[$op.index].$property = $op.value } | |
| 33 | } | |
| 34 | } | |
| 35 | $xml = '<one:Page xmlns:one="' + $namespace + '" ID="' + $pageId + '"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="History checkbox"/><one:Title><one:OE><one:T>' + $history.title + '</one:T></one:OE></one:Title><one:Outline' | |
| 36 | if ($outlineId) { $xml += ' objectID="' + $outlineId + '"' } | |
| 37 | $xml += '><one:Position x="' + $state.x + '" y="' + $state.y + '"/><one:Size width="480" height="100"/><one:OEChildren>' | |
| 38 | foreach ($paragraph in $paragraphs) { | |
| 39 | $xml += '<one:OE' | |
| 40 | if ($ids.ContainsKey($paragraph.id)) { $xml += ' objectID="' + $ids[$paragraph.id] + '"' } | |
| 41 | $xml += '>' | |
| 42 | if ($paragraph.tag) { $xml += '<one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/>' } | |
| 43 | $decoration = @() | |
| 44 | if ($paragraph.underline) { $decoration += 'underline' } | |
| 45 | if ($paragraph.strike) { $decoration += 'line-through' } | |
| 46 | if ($decoration.Count -eq 0) { $decoration = @('none') } | |
| 47 | $style = 'font-family:Calibri;font-size:' + $paragraph.font_size + 'pt;font-weight:' + $(if ($paragraph.bold) {'bold'} else {'normal'}) + ';font-style:' + $(if ($paragraph.italic) {'italic'} else {'normal'}) + ';text-decoration:' + ($decoration -join ' ') + ';color:' + $paragraph.color + ';background:' + $paragraph.highlight | |
| 48 | $html = '<span style="' + $style + '">' + [Security.SecurityElement]::Escape($paragraph.text) + '</span>' | |
| 49 | if ($paragraph.link) { $html = '<a href="' + [Security.SecurityElement]::Escape($paragraph.link) + '">' + $html + '</a>' } | |
| 50 | $xml += '<one:T><![CDATA[' + $html + ']]></one:T></one:OE>' | |
| 51 | } | |
| 52 | $xml += '<one:OE><one:Table bordersVisible="true"><one:Columns><one:Column index="0" width="180" isLocked="true"/><one:Column index="1" width="180" isLocked="true"/></one:Columns>' | |
| 53 | foreach ($row in $state.table) { | |
| 54 | $xml += '<one:Row>' | |
| 55 | foreach ($cell in $row) { $xml += '<one:Cell><one:OEChildren><one:OE><one:T><![CDATA[' + [Security.SecurityElement]::Escape($cell) + ']]></one:T></one:OE></one:OEChildren></one:Cell>' } | |
| 56 | $xml += '</one:Row>' | |
| 57 | } | |
| 58 | $xml += '</one:Table></one:OE></one:OEChildren></one:Outline></one:Page>' | |
| 59 | [IO.File]::WriteAllText((Join-Path $inputs ('{0:d6}-{1:d2}.xml' -f $history.seed, ($step + 1))), $xml, [Text.Encoding]::UTF8) | |
| 60 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true) | |
| 61 | $content = '' | |
| 62 | $app.GetPageContent($pageId, [ref]$content, 3, 1) | |
| 63 | [xml]$document = $content | |
| 64 | $manager = New-Object Xml.XmlNamespaceManager($document.NameTable) | |
| 65 | $manager.AddNamespace('one', $namespace) | |
| 66 | $outline = $document.SelectSingleNode('/one:Page/one:Outline', $manager) | |
| 67 | $outlineId = $outline.GetAttribute('objectID') | |
| 68 | $objects = @($outline.SelectNodes('one:OEChildren/one:OE[one:T]', $manager)) | |
| 69 | if ($objects.Count -ne $paragraphs.Count) { throw "Native paragraph count changed at seed $($history.seed), step $step." } | |
| 70 | for ($index = 0; $index -lt $paragraphs.Count; $index++) { $ids[$paragraphs[$index].id] = $objects[$index].GetAttribute('objectID') } | |
| 71 | $log = @{ seed = $history.seed; step = $step; page = $pageId; outline = $outlineId } | ConvertTo-Json -Compress | |
| 72 | [IO.File]::AppendAllText((Join-Path $Root 'operations.jsonl'), $log + [Environment]::NewLine, [Text.Encoding]::UTF8) | |
| 73 | } | |
| 74 | } | |
| 75 | $app.SyncHierarchy($notebookId) | |
| 76 | $app.CloseNotebook($notebookId, $false) | |
| 77 | $notebookId = '' | |
| 78 | } finally { | |
| 79 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 80 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 81 | [GC]::Collect() | |
| 82 | [GC]::WaitForPendingFinalizers() | |
| 83 | } |
tools/native/ink.ahk created+17| ... | ... | @@ -0,0 +1,17 @@ |
| 1 | SendMode("Event") | |
| 2 | WinActivate("ahk_class Framework::CFrame") | |
| 3 | WinMaximize() | |
| 4 | Click(258,36) | |
| 5 | Sleep(300) | |
| 6 | Click(205,69) | |
| 7 | Sleep(300) | |
| 8 | MouseMove(650,310) | |
| 9 | Click("Down") | |
| 10 | MouseMove(690,350,25) | |
| 11 | MouseMove(650,390,25) | |
| 12 | MouseMove(610,350,25) | |
| 13 | MouseMove(650,310,25) | |
| 14 | Click("Up") | |
| 15 | MouseClickDrag("Left",720,320,760,380,25) | |
| 16 | Sleep(300) | |
| 17 | Click(21,74) |
tools/native/network.ps1 created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$LabMac) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $adapter = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.MACAddress -eq $LabMac }) | |
| 5 | if ($adapter.Count -ne 1) { throw 'The clone lab adapter is ambiguous.' } | |
| 6 | $release = $adapter[0].ReleaseDHCPLease() | |
| 7 | $result = $adapter[0].RenewDHCPLease() | |
| 8 | $deadline = [DateTime]::UtcNow.AddSeconds(60) | |
| 9 | do { | |
| 10 | $adapter = @(Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object { $_.MACAddress -eq $LabMac }) | |
| 11 | $addresses = @($adapter[0].IPAddress | Where-Object { $_ -match '^192\.168\.77\.\d+$' -and $_ -ne '192.168.77.1' }) | |
| 12 | if ($addresses.Count -eq 1) { break } | |
| 13 | Start-Sleep -Milliseconds 250 | |
| 14 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 15 | if ($addresses.Count -ne 1) { throw ('The clone did not receive a lab IPv4 address; renewal result ' + $result.ReturnValue) } | |
| 16 | @{mac=$LabMac;address=$addresses[0];releaseResult=$release.ReturnValue;renewalResult=$result.ReturnValue} | ConvertTo-Json -Compress |
tools/native/page-direction.ps1 created+45| ... | ... | @@ -0,0 +1,45 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $app = New-Object -ComObject OneNote.Application | |
| 6 | $notebook = '' | |
| 7 | try { | |
| 8 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0) | |
| 9 | $section = '' | |
| 10 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 11 | $deadline = [DateTime]::UtcNow.AddSeconds(60) | |
| 12 | do { | |
| 13 | $hierarchy = '' | |
| 14 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 15 | [xml]$tree = $hierarchy | |
| 16 | $pages = @($tree.SelectNodes('//*[local-name()="Page"]')) | |
| 17 | if ($pages.Count -gt 0) { break } | |
| 18 | Start-Sleep -Milliseconds 100 | |
| 19 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 20 | if ($pages.Count -ne 1) { throw 'The direction fixture requires one page.' } | |
| 21 | $content = '' | |
| 22 | $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 1, 1) | |
| 23 | [IO.File]::WriteAllText("$Root\before.xml", $content, [Text.Encoding]::UTF8) | |
| 24 | [xml]$page = $content | |
| 25 | $settings = $page.SelectSingleNode('//*[local-name()="PageSettings"]') | |
| 26 | $settings.SetAttribute('RTL', 'true') | |
| 27 | $columns = @($page.SelectNodes('//*[local-name()="Column"]')) | |
| 28 | for ($i = 0; $i -lt $columns.Count; $i++) { | |
| 29 | $columns[$i].SetAttribute('width', (96 + 48 * $i).ToString()) | |
| 30 | $columns[$i].SetAttribute('isLocked', 'true') | |
| 31 | } | |
| 32 | $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $true) | |
| 33 | $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 1, 1) | |
| 34 | [IO.File]::WriteAllText("$Root\after.xml", $content, [Text.Encoding]::UTF8) | |
| 35 | [xml]$after = $content | |
| 36 | if ($after.SelectSingleNode('//*[local-name()="PageSettings"]').GetAttribute('RTL') -ne 'true') { throw 'Native page direction did not change.' } | |
| 37 | $app.SyncHierarchy($notebook) | |
| 38 | $app.CloseNotebook($notebook, $false) | |
| 39 | $notebook = '' | |
| 40 | } finally { | |
| 41 | if ($notebook) { $app.CloseNotebook($notebook, $false) } | |
| 42 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 43 | [GC]::Collect() | |
| 44 | [GC]::WaitForPendingFinalizers() | |
| 45 | } |
tools/native/pages.ps1 created+42| ... | ... | @@ -0,0 +1,42 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $fixture = Get-Content (Join-Path $Root 'notebook\fixture.json') -Raw -Encoding UTF8 | ConvertFrom-Json | |
| 6 | $inputs = Join-Path $Root 'inputs' | |
| 7 | New-Item -ItemType Directory -Path $inputs | Out-Null | |
| 8 | $app = New-Object -ComObject OneNote.Application | |
| 9 | $notebookId = '' | |
| 10 | try { | |
| 11 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 12 | $sections = @{} | |
| 13 | foreach ($path in $fixture.sections) { | |
| 14 | $parts = $path.Split('/') | |
| 15 | if (@($parts | Where-Object { $_ -in @('', '.', '..') -or $_.Contains('\') -or $_.Contains(':') }).Count) { throw 'Invalid fixture section path.' } | |
| 16 | $parent = $notebookId | |
| 17 | for ($index = 0; $index -lt $parts.Count; $index++) { | |
| 18 | $id = '' | |
| 19 | $app.OpenHierarchy($parts[$index], $parent, [ref]$id, $(if ($index -eq $parts.Count - 1) {3} else {2})) | |
| 20 | $parent = $id | |
| 21 | } | |
| 22 | $sections[$path] = $id | |
| 23 | } | |
| 24 | $index = 0 | |
| 25 | foreach ($item in $fixture.pages) { | |
| 26 | $pageId = '' | |
| 27 | $app.CreateNewPage($sections[$item.section], [ref]$pageId, 0) | |
| 28 | [xml]$xml = $item.xml.Replace('__ASSETS__', [Security.SecurityElement]::Escape((Join-Path $Root 'notebook\fixture-data'))) | |
| 29 | $xml.DocumentElement.SetAttribute('ID', $pageId) | |
| 30 | [IO.File]::WriteAllText((Join-Path $inputs ('page-{0:d3}.xml' -f $index)), $xml.OuterXml, [Text.Encoding]::UTF8) | |
| 31 | $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true) | |
| 32 | $index++ | |
| 33 | } | |
| 34 | $app.SyncHierarchy($notebookId) | |
| 35 | $app.CloseNotebook($notebookId, $false) | |
| 36 | $notebookId = '' | |
| 37 | } finally { | |
| 38 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 39 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 40 | [GC]::Collect() | |
| 41 | [GC]::WaitForPendingFinalizers() | |
| 42 | } |
tools/native/probe.ps1 created+51| ... | ... | @@ -0,0 +1,51 @@ |
| 1 | param([string]$Root, [string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | $results = New-Object Collections.Generic.List[object] | |
| 5 | $index = 0 | |
| 6 | foreach ($file in @(Get-ChildItem "$Root\inputs" -Filter '*.one' | Sort-Object Name)) { | |
| 7 | $case = "C:\one-tests\runs\probe-$index" | |
| 8 | $output = "$Root\results\$($file.BaseName)" | |
| 9 | New-Item -ItemType Directory "$case\notebook", $output -Force | Out-Null | |
| 10 | Copy-Item $file.FullName "$case\notebook\synthetic.one" | |
| 11 | Get-Process ONENOTE -ErrorAction SilentlyContinue | ForEach-Object { | |
| 12 | Stop-Process -InputObject $_ -Force | |
| 13 | if (-not $_.WaitForExit(10000)) { throw 'OneNote did not exit before the cache reset.' } | |
| 14 | } | |
| 15 | & "$PSScriptRoot\cold-current.ps1" -Root $case -CloneHost $CloneHost | |
| 16 | $app = New-Object -ComObject OneNote.Application | |
| 17 | $notebook = ''; $section = ''; $hierarchy = ''; $failure = $null; $pages = @() | |
| 18 | $started = [DateTime]::UtcNow | |
| 19 | try { | |
| 20 | $app.OpenHierarchy("$case\notebook", '', [ref]$notebook, 0) | |
| 21 | $app.OpenHierarchy("$case\notebook\synthetic.one", '', [ref]$section, 0) | |
| 22 | $deadline = [DateTime]::UtcNow.AddSeconds(30) | |
| 23 | do { | |
| 24 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 25 | [xml]$tree = $hierarchy | |
| 26 | $pages = @($tree.SelectNodes('//*[local-name()="Page"]')) | |
| 27 | if ($pages.Count) { break } | |
| 28 | Start-Sleep -Milliseconds 250 | |
| 29 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 30 | $n = 0 | |
| 31 | foreach ($page in $pages) { | |
| 32 | $content = '' | |
| 33 | $app.GetPageContent($page.GetAttribute('ID'), [ref]$content, 1, 1) | |
| 34 | [IO.File]::WriteAllText("$output\page-$n.xml", $content, [Text.Encoding]::UTF8) | |
| 35 | $n++ | |
| 36 | } | |
| 37 | } catch { $failure = $_ | Out-String } | |
| 38 | finally { | |
| 39 | [IO.File]::WriteAllText("$output\hierarchy.xml", $hierarchy, [Text.Encoding]::UTF8) | |
| 40 | $results.Add(@{ name=$file.BaseName; pages=$pages.Count; error=$failure; | |
| 41 | seconds=([DateTime]::UtcNow - $started).TotalSeconds; | |
| 42 | source_sha256=(Get-FileHash $file.FullName).Hash.ToLowerInvariant() }) | |
| 43 | $results | ConvertTo-Json -Depth 5 | Set-Content "$Root\results.json" -Encoding UTF8 | |
| 44 | try { if ($notebook) { $app.CloseNotebook($notebook, $false) } } catch {} | |
| 45 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 46 | $app = $null | |
| 47 | [GC]::Collect() | |
| 48 | [GC]::WaitForPendingFinalizers() | |
| 49 | } | |
| 50 | $index++ | |
| 51 | } |
tools/native/profile.ps1 created+107| ... | ... | @@ -0,0 +1,107 @@ |
| 1 | # Usage: .\profile.ps1 Isolate|Restore|Status | |
| 2 | # Parks the native OneNote profile for tests. It never changes notebook files. | |
| 3 | param( | |
| 4 | [Parameter(Mandatory = $true, Position = 0)] | |
| 5 | [ValidateSet('Isolate', 'Restore', 'Status')] | |
| 6 | [string]$Command | |
| 7 | ) | |
| 8 | ||
| 9 | $ErrorActionPreference = 'Stop' | |
| 10 | $root = 'C:\one-tests' | |
| 11 | $key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote' | |
| 12 | $regKey = 'HKCU\Software\Microsoft\Office\14.0\OneNote' | |
| 13 | $cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0' | |
| 14 | $originalReg = Join-Path $root 'profile-original.reg' | |
| 15 | $originalCache = Join-Path $root 'profile-original-cache' | |
| 16 | $testReg = Join-Path $root 'profile-test.reg' | |
| 17 | $testCache = Join-Path $root 'profile-test-cache' | |
| 18 | ||
| 19 | function Test-IsolatedProfile { | |
| 20 | if (-not (Test-Path -LiteralPath "$key\Options\Paths")) { return $false } | |
| 21 | try { | |
| 22 | return (Get-ItemProperty -LiteralPath "$key\Options\Paths" -Name UnfiledNotesSection).UnfiledNotesSection -eq "$root\Loose.one" | |
| 23 | } catch { | |
| 24 | return $false | |
| 25 | } | |
| 26 | } | |
| 27 | ||
| 28 | if ($Command -ne 'Status' -and (Get-Process ONENOTE -ErrorAction SilentlyContinue)) { | |
| 29 | throw 'Close OneNote, then run this command again.' | |
| 30 | } | |
| 31 | ||
| 32 | if ($Command -eq 'Status') { | |
| 33 | $profile = if (Test-IsolatedProfile) { 'test' } elseif (Test-Path -LiteralPath $key) { 'other' } else { 'missing' } | |
| 34 | $activeCache = Test-Path -LiteralPath $cache | |
| 35 | $originals = (Test-Path -LiteralPath $originalReg) -and (Test-Path -LiteralPath $originalCache) | |
| 36 | $tests = (Test-Path -LiteralPath $testReg) -or (Test-Path -LiteralPath $testCache) | |
| 37 | ||
| 38 | if ($originals -and $profile -eq 'test') { | |
| 39 | Write-Output 'State: isolated. Run Restore when native tests finish.' | |
| 40 | } elseif ($originals -and ($tests -or $profile -eq 'missing')) { | |
| 41 | Write-Output 'State: restore can resume. Run Restore with OneNote closed.' | |
| 42 | } elseif ((Test-Path -LiteralPath $originalReg) -and -not (Test-Path -LiteralPath $originalCache) -and $tests -and $activeCache -and $profile -eq 'other') { | |
| 43 | Write-Output 'State: restored. Test backups remain parked.' | |
| 44 | } else { | |
| 45 | Write-Output 'State: unrecognized. Inspect the paths below before changing the profile.' | |
| 46 | } | |
| 47 | ||
| 48 | Write-Output "Registry: $profile" | |
| 49 | Write-Output "Active cache: $activeCache" | |
| 50 | Write-Output "Original registry backup: $(Test-Path -LiteralPath $originalReg)" | |
| 51 | Write-Output "Original cache backup: $(Test-Path -LiteralPath $originalCache)" | |
| 52 | Write-Output "Test registry backup: $(Test-Path -LiteralPath $testReg)" | |
| 53 | Write-Output "Test cache backup: $(Test-Path -LiteralPath $testCache)" | |
| 54 | return | |
| 55 | } | |
| 56 | ||
| 57 | if ($Command -eq 'Isolate') { | |
| 58 | if ((Test-Path -LiteralPath $originalReg) -or (Test-Path -LiteralPath $originalCache)) { | |
| 59 | throw 'Original backup already exists. Run Status or Restore before isolating again.' | |
| 60 | } | |
| 61 | if ((Test-Path -LiteralPath $testReg) -or (Test-Path -LiteralPath $testCache)) { | |
| 62 | throw 'Test backup already exists. Inspect Status before isolating again.' | |
| 63 | } | |
| 64 | if (-not (Test-Path -LiteralPath $key)) { throw 'The OneNote profile registry was not found. Nothing changed.' } | |
| 65 | if (-not (Test-Path -LiteralPath $cache)) { throw 'The OneNote cache was not found. Nothing changed.' } | |
| 66 | ||
| 67 | New-Item -ItemType Directory -Path $root -Force | Out-Null | |
| 68 | & reg.exe export $regKey $originalReg | |
| 69 | if ($LASTEXITCODE -ne 0) { throw 'The original registry profile was not saved. Nothing changed.' } | |
| 70 | Move-Item -LiteralPath $cache -Destination $originalCache | |
| 71 | & reg.exe delete $regKey /f | |
| 72 | if ($LASTEXITCODE -ne 0) { throw 'The original registry remains saved. Run Restore to recover it.' } | |
| 73 | New-Item -Path $key -Force | Out-Null | |
| 74 | New-ItemProperty -Path $key -Name FirstBootStatus -PropertyType DWord -Value 0x1000101 | Out-Null | |
| 75 | New-Item -Path "$key\Options\Paths" -Force | Out-Null | |
| 76 | New-ItemProperty -Path "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value "$root\Loose.one" | Out-Null | |
| 77 | Write-Output 'State: isolated. The original profile and cache are parked.' | |
| 78 | return | |
| 79 | } | |
| 80 | ||
| 81 | if (-not (Test-Path -LiteralPath $originalReg)) { throw 'The original registry backup is missing. Nothing changed.' } | |
| 82 | if (-not (Test-Path -LiteralPath $originalCache)) { | |
| 83 | if ((Test-Path -LiteralPath $cache) -and (Test-Path -LiteralPath $testReg) -and -not (Test-IsolatedProfile)) { | |
| 84 | Write-Output 'State: restored. Test backups remain parked.' | |
| 85 | return | |
| 86 | } | |
| 87 | throw 'The original cache backup is missing. Inspect Status before restoring.' | |
| 88 | } | |
| 89 | if ((Test-Path -LiteralPath $cache) -and (Test-Path -LiteralPath $testCache)) { | |
| 90 | throw 'Both active and parked test caches exist. Inspect Status before restoring.' | |
| 91 | } | |
| 92 | if (-not (Test-Path -LiteralPath $testReg) -and (Test-Path -LiteralPath $key)) { | |
| 93 | & reg.exe export $regKey $testReg | |
| 94 | if ($LASTEXITCODE -ne 0) { throw 'The test registry profile was not saved. Nothing changed.' } | |
| 95 | } | |
| 96 | if ((Test-Path -LiteralPath $cache) -and -not (Test-Path -LiteralPath $testCache)) { | |
| 97 | Move-Item -LiteralPath $cache -Destination $testCache | |
| 98 | } | |
| 99 | if (Test-Path -LiteralPath $key) { | |
| 100 | & reg.exe delete $regKey /f | |
| 101 | if ($LASTEXITCODE -ne 0) { throw 'The test profile is parked. Run Restore to try again.' } | |
| 102 | } | |
| 103 | & reg.exe import $originalReg | |
| 104 | if ($LASTEXITCODE -ne 0) { throw 'The test profile is parked. Run Restore to try again.' } | |
| 105 | if (Test-Path -LiteralPath $cache) { throw 'The original cache is still parked. Run Status before restoring.' } | |
| 106 | Move-Item -LiteralPath $originalCache -Destination $cache | |
| 107 | Write-Output 'State: restored. Test backups remain parked.' |
tools/native/read.ps1 created+139| ... | ... | @@ -0,0 +1,139 @@ |
| 1 | param( | |
| 2 | [Parameter(Mandatory=$true)][string]$Root, | |
| 3 | [int]$ExpectedPages = -1, | |
| 4 | [switch]$UseCurrentCache, | |
| 5 | [switch]$Pdf, | |
| 6 | [switch]$KeepOpen, | |
| 7 | [string]$CloneHost = '' | |
| 8 | ) | |
| 9 | Set-StrictMode -Version Latest | |
| 10 | $ErrorActionPreference = 'Stop' | |
| 11 | $root = [IO.Path]::GetFullPath($Root).TrimEnd('\') | |
| 12 | if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') { | |
| 13 | throw 'Choose a run directly below C:\one-tests\runs.' | |
| 14 | } | |
| 15 | $notebook = Join-Path $root 'notebook' | |
| 16 | $output = Join-Path $root 'read' | |
| 17 | if (Test-Path $output) { throw 'Choose a new read destination.' } | |
| 18 | if ($UseCurrentCache) { | |
| 19 | if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') { | |
| 20 | throw 'Park the personal OneNote profile before reading test notebooks.' | |
| 21 | } | |
| 22 | } else { | |
| 23 | & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost | |
| 24 | } | |
| 25 | New-Item -ItemType Directory -Path $output | Out-Null | |
| 26 | $app = New-Object -ComObject OneNote.Application | |
| 27 | $notebookId = '' | |
| 28 | $failure = $null | |
| 29 | try { | |
| 30 | $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0) | |
| 31 | $process = Get-Process ONENOTE | |
| 32 | @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion; | |
| 33 | powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } | | |
| 34 | ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8 | |
| 35 | $sections = @() | |
| 36 | foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) { | |
| 37 | $id = '' | |
| 38 | $app.OpenHierarchy($file.FullName, '', [ref]$id, 0) | |
| 39 | $sections += $id | |
| 40 | } | |
| 41 | $deadline = [DateTime]::UtcNow.AddSeconds(300) | |
| 42 | $previous = '' | |
| 43 | $stableSince = [DateTime]::UtcNow | |
| 44 | $settled = $false | |
| 45 | do { | |
| 46 | $pages = @{} | |
| 47 | foreach ($section in $sections) { | |
| 48 | $hierarchy = '' | |
| 49 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 50 | [xml]$xml = $hierarchy | |
| 51 | foreach ($node in $xml.SelectNodes('//*[@path]')) { | |
| 52 | if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) { | |
| 53 | throw 'OneNote opened a section outside the copied notebook.' | |
| 54 | } | |
| 55 | } | |
| 56 | foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) { | |
| 57 | $id = $node.GetAttribute('ID') | |
| 58 | $content = '' | |
| 59 | $app.GetPageContent($id, [ref]$content, 1, 1) | |
| 60 | $pages[$id] = $content | |
| 61 | } | |
| 62 | } | |
| 63 | $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] })) | |
| 64 | if ($signature -ne $previous) { | |
| 65 | $previous = $signature | |
| 66 | $stableSince = [DateTime]::UtcNow | |
| 67 | } | |
| 68 | if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or | |
| 69 | ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and | |
| 70 | ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break } | |
| 71 | Start-Sleep -Milliseconds 250 | |
| 72 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 73 | if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) { | |
| 74 | $index = 0 | |
| 75 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 76 | [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 77 | $index++ | |
| 78 | } | |
| 79 | $hierarchy = '' | |
| 80 | $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1) | |
| 81 | [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8) | |
| 82 | throw "Expected $ExpectedPages pages; OneNote returned $($pages.Count)." | |
| 83 | } | |
| 84 | $index = 0 | |
| 85 | $payloads = @() | |
| 86 | foreach ($id in @($pages.Keys | Sort-Object)) { | |
| 87 | [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8) | |
| 88 | if ($Pdf) { | |
| 89 | $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index) | |
| 90 | $app.NavigateTo($id, '', $false) | |
| 91 | $app.Publish($id, $pdfPath, 3, '') | |
| 92 | if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' } | |
| 93 | } | |
| 94 | [xml]$page = $pages[$id] | |
| 95 | foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) { | |
| 96 | $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache')) | |
| 97 | $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant() | |
| 98 | [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes) | |
| 99 | $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID'); | |
| 100 | kind = $file.LocalName; name = $file.GetAttribute('preferredName'); | |
| 101 | sha256 = $hash; bytes = $bytes.Length } | |
| 102 | } | |
| 103 | $index++ | |
| 104 | } | |
| 105 | [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8) | |
| 106 | $all = '' | |
| 107 | $app.GetHierarchy($notebookId, 4, [ref]$all, 1) | |
| 108 | [xml]$finalTree = $all | |
| 109 | $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique) | |
| 110 | if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) { | |
| 111 | throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.' | |
| 112 | } | |
| 113 | [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8) | |
| 114 | Write-Output "Read $($sections.Count) sections and $($pages.Count) pages." | |
| 115 | } catch { | |
| 116 | $failure = $_ | |
| 117 | [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 118 | throw | |
| 119 | } finally { | |
| 120 | try { | |
| 121 | try { | |
| 122 | if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) } | |
| 123 | if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) { | |
| 124 | $app.CloseNotebook($notebookId, $false) | |
| 125 | } | |
| 126 | } catch { | |
| 127 | if ($null -eq $failure) { throw } | |
| 128 | [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8) | |
| 129 | } | |
| 130 | } finally { | |
| 131 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 132 | } | |
| 133 | $app = $null | |
| 134 | [GC]::Collect() | |
| 135 | [GC]::WaitForPendingFinalizers() | |
| 136 | if (-not $UseCurrentCache -and -not $CloneHost) { | |
| 137 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 138 | } | |
| 139 | } |
tools/native/shared.ps1 created+53| ... | ... | @@ -0,0 +1,53 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, | |
| 2 | [Parameter(Mandatory=$true)][string]$SharedName, | |
| 3 | [Parameter(Mandatory=$true)][string]$ExpectedText, | |
| 4 | [Parameter(Mandatory=$true)][string]$Text) | |
| 5 | Set-StrictMode -Version Latest | |
| 6 | $ErrorActionPreference = 'Stop' | |
| 7 | if ($SharedName -notmatch '^stage[45]-[a-z0-9-]+$') { throw 'Choose a stage 4 or 5 test directory name.' } | |
| 8 | & "$PSScriptRoot\cold-current.ps1" -Root $Root | |
| 9 | $shared = "A:\one-tests\$SharedName" | |
| 10 | if (-not (Test-Path "$shared\synthetic.one")) { throw 'Create the shared fixture before opening OneNote.' } | |
| 11 | $app = New-Object -ComObject OneNote.Application | |
| 12 | $notebook = '' | |
| 13 | try { | |
| 14 | $app.OpenHierarchy($shared, '', [ref]$notebook, 0) | |
| 15 | $section = '' | |
| 16 | $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0) | |
| 17 | $deadline = [DateTime]::UtcNow.AddSeconds(30) | |
| 18 | $matches = @() | |
| 19 | do { | |
| 20 | $hierarchy = '' | |
| 21 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 22 | [xml]$tree = $hierarchy | |
| 23 | $pages = @($tree.SelectNodes('//*[local-name()="Page"]')) | |
| 24 | if ($pages.Count -gt 1) { throw 'Expected one shared test page.' } | |
| 25 | if ($pages.Count -eq 1) { | |
| 26 | $content = '' | |
| 27 | $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 3, 1) | |
| 28 | [xml]$page = $content | |
| 29 | $matches = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object { $_.InnerText -eq $ExpectedText }) | |
| 30 | if ($matches.Count -eq 1) { break } | |
| 31 | } | |
| 32 | Start-Sleep -Milliseconds 250 | |
| 33 | } while ([DateTime]::UtcNow -lt $deadline) | |
| 34 | if ($matches.Count -ne 1) { throw 'Expected one matching shared text object.' } | |
| 35 | [IO.File]::WriteAllText("$Root\before.xml", $content, [Text.Encoding]::UTF8) | |
| 36 | Start-Sleep -Seconds 3 | |
| 37 | $matches[0].InnerText = [Security.SecurityElement]::Escape($Text) | |
| 38 | $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $false) | |
| 39 | $app.SyncHierarchy($notebook) | |
| 40 | Start-Sleep -Seconds 5 | |
| 41 | $content = '' | |
| 42 | $app.GetPageContent($pages[0].GetAttribute('ID'), [ref]$content, 3, 1) | |
| 43 | [IO.File]::WriteAllText("$Root\after.xml", $content, [Text.Encoding]::UTF8) | |
| 44 | } finally { | |
| 45 | try { if ($notebook) { $app.CloseNotebook($notebook, $false) } } | |
| 46 | finally { | |
| 47 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 48 | $app = $null | |
| 49 | [GC]::Collect() | |
| 50 | [GC]::WaitForPendingFinalizers() | |
| 51 | Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10 | |
| 52 | } | |
| 53 | } |
tools/native/stress.ps1 created+75| ... | ... | @@ -0,0 +1,75 @@ |
| 1 | function Invoke-Stress($app, $section, $command, $output, $shared) { | |
| 2 | $hierarchy = '' | |
| 3 | $app.GetHierarchy($section, 4, [ref]$hierarchy, 1) | |
| 4 | [xml]$tree = $hierarchy | |
| 5 | $pages = @($tree.SelectNodes('//*[local-name()="Page"]')) | |
| 6 | if ($pages.Count -ne 1) { throw 'Expected one stress-test page.' } | |
| 7 | $pageId = $pages[0].GetAttribute('ID') | |
| 8 | if ($command.action -eq 'prepare-stress') { | |
| 9 | for ($i = 0; $i -lt $command.clients; $i++) { | |
| 10 | $xml = '<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="' + $pageId + '"><one:Outline><one:Position x="48" y="' + (150 + 75 * $i) + '" z="' + ($i + 1) + '"/><one:OEChildren><one:OE><one:T><![CDATA[Native ' + $i + ':]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>' | |
| 11 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $false) | |
| 12 | } | |
| 13 | return | |
| 14 | } | |
| 15 | $random = New-Object Random([int]$command.seed) | |
| 16 | $events = New-Object IO.StreamWriter("$output\events.jsonl", $false, [Text.Encoding]::UTF8) | |
| 17 | $events.AutoFlush = $true | |
| 18 | try { | |
| 19 | [IO.File]::WriteAllText("$output\ready", 'ready') | |
| 20 | $deadline = [DateTime]::UtcNow.AddMinutes(10) | |
| 21 | while (-not (Test-Path "$shared\stress-start")) { | |
| 22 | if ([DateTime]::UtcNow -gt $deadline) { throw 'Stress start timed out.' } | |
| 23 | Start-Sleep -Milliseconds 20 | |
| 24 | } | |
| 25 | for ($i = 0; $i -lt $command.operations; $i++) { | |
| 26 | Start-Sleep -Milliseconds $random.Next(10, 100) | |
| 27 | $started = [DateTime]::UtcNow.Ticks | |
| 28 | $content = '' | |
| 29 | $app.GetPageContent($pageId, [ref]$content, 1, 1) | |
| 30 | [xml]$page = $content | |
| 31 | $matches = @($page.SelectNodes('//*[local-name()="T"]') | Where-Object { | |
| 32 | (Get-ParagraphText $_.InnerText).StartsWith($command.prefix) | |
| 33 | }) | |
| 34 | if ($matches.Count -ne 1) { throw 'Expected one stress-test paragraph.' } | |
| 35 | $before = Get-ParagraphText $matches[0].InnerText | |
| 36 | $token = ' [n' + $command.actor + ':' + $i + ']' | |
| 37 | $start = $end = $before.Length | |
| 38 | $replacement = $token | |
| 39 | $bold = $italic = $false | |
| 40 | if ($command.edit) { | |
| 41 | $boundaries = New-Object 'Collections.Generic.List[int]' | |
| 42 | for ($at = $command.prefix.Length; $at -le $before.Length; $at++) { | |
| 43 | $boundaries.Add($at) | |
| 44 | if ($at -lt $before.Length -and [char]::IsHighSurrogate($before[$at])) { $at++ } | |
| 45 | } | |
| 46 | $first = $boundaries[$random.Next($boundaries.Count)] | |
| 47 | $second = $boundaries[$random.Next($boundaries.Count)] | |
| 48 | $start = [Math]::Min($first, $second) | |
| 49 | $end = [Math]::Max($first, $second) | |
| 50 | $replacement = ' caf' + [char]0xe9 + ' ' + [char]::ConvertFromUtf32(0x1f980) + $token | |
| 51 | $bold = $random.Next(2) -eq 1 | |
| 52 | $italic = $random.Next(2) -eq 1 | |
| 53 | } | |
| 54 | $after = $before.Substring(0, $start) + $replacement + $before.Substring($end) | |
| 55 | $html = [Security.SecurityElement]::Escape($after) | |
| 56 | if ($command.edit) { | |
| 57 | $weight = if ($bold) { 'bold' } else { 'normal' } | |
| 58 | $style = if ($italic) { 'italic' } else { 'normal' } | |
| 59 | $html = '<span style="font-weight:' + $weight + ';font-style:' + $style + '">' + $html + '</span>' | |
| 60 | } | |
| 61 | $matches[0].InnerText = $html | |
| 62 | Keep-Container $page $matches[0] | |
| 63 | $updateStarted = [DateTime]::UtcNow.Ticks | |
| 64 | $app.UpdatePageContent($page.OuterXml, [DateTime]::MinValue, 1, $false) | |
| 65 | $updated = [DateTime]::UtcNow.Ticks | |
| 66 | $events.WriteLine((@{ operation=$i; before=$before; token=$token; started_ticks=$started; | |
| 67 | range=@($start, $end); replacement=$replacement; bold=$bold; italic=$italic; | |
| 68 | update_started_ticks=$updateStarted; updated_ticks=$updated } | ConvertTo-Json -Compress)) | |
| 69 | if ($i -eq 0) { [IO.File]::WriteAllText("$output\editing", 'editing') } | |
| 70 | if ($command.sync_every -gt 0 -and (($i + 1) % $command.sync_every) -eq 0) { | |
| 71 | $app.SyncHierarchy($section) | |
| 72 | } | |
| 73 | } | |
| 74 | } finally { $events.Dispose() } | |
| 75 | } |
tools/native/template.ps1 created+26| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $app = New-Object -ComObject OneNote.Application | |
| 6 | $notebookId = '' | |
| 7 | try { | |
| 8 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 9 | $files = @(Get-ChildItem (Join-Path $Root 'notebook') | Where-Object { $_.Extension -eq '.one' }) | |
| 10 | if ($files.Count -ne 1) { throw 'Provide exactly one copied section for the template probe.' } | |
| 11 | $sectionId = '' | |
| 12 | $app.OpenHierarchy($files[0].Name, $notebookId, [ref]$sectionId, 0) | |
| 13 | $pageId = '' | |
| 14 | $app.CreateNewPage($sectionId, [ref]$pageId, 0) | |
| 15 | $xml = '<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="' + $pageId + '"><one:Title><one:OE><one:T>Native template probe</one:T></one:OE></one:Title></one:Page>' | |
| 16 | $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true) | |
| 17 | @{ page = $pageId; operation = 'CreateNewPage with npsDefault, then set title' } | ConvertTo-Json | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8 | |
| 18 | $app.SyncHierarchy($notebookId) | |
| 19 | $app.CloseNotebook($notebookId, $false) | |
| 20 | $notebookId = '' | |
| 21 | } finally { | |
| 22 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 23 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 24 | [GC]::Collect() | |
| 25 | [GC]::WaitForPendingFinalizers() | |
| 26 | } |
tools/native/text.ps1 created+13| ... | ... | @@ -0,0 +1,13 @@ |
| 1 | function Get-ParagraphText([string]$html) { | |
| 2 | $plain = [regex]::Replace($html, '<[^>]*>', '') | |
| 3 | $plain = [regex]::Replace($plain, '&#(?:x([0-9a-fA-F]+)|([0-9]+));', { | |
| 4 | param($match) | |
| 5 | $value = if ($match.Groups[1].Success) { | |
| 6 | [Convert]::ToInt32($match.Groups[1].Value, 16) | |
| 7 | } else { [int]$match.Groups[2].Value } | |
| 8 | # The Win7 framework leaves supplementary numeric entities undecoded. | |
| 9 | if ($value -gt 0xffff -and $value -le 0x10ffff) { [char]::ConvertFromUtf32($value) } | |
| 10 | else { $match.Value } | |
| 11 | }) | |
| 12 | [Net.WebUtility]::HtmlDecode($plain) | |
| 13 | } |
tools/native/toc-boundaries.ps1 created+28| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost) | |
| 2 | Set-StrictMode -Version Latest | |
| 3 | $ErrorActionPreference = 'Stop' | |
| 4 | & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost | |
| 5 | $app = New-Object -ComObject OneNote.Application | |
| 6 | $notebookId = '' | |
| 7 | try { | |
| 8 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 9 | $names = @() | |
| 10 | foreach ($index in 0..79) { | |
| 11 | $name = 'Boundary section {0:d3}.one' -f $index | |
| 12 | $section = '' | |
| 13 | $app.OpenHierarchy($name, $notebookId, [ref]$section, 3) | |
| 14 | $app.SyncHierarchy($notebookId) | |
| 15 | $app.CloseNotebook($notebookId, $false) | |
| 16 | $notebookId = '' | |
| 17 | $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebookId, 0) | |
| 18 | $names += $name | |
| 19 | } | |
| 20 | $names | ConvertTo-Json | Set-Content (Join-Path $Root 'expected.json') -Encoding UTF8 | |
| 21 | $app.CloseNotebook($notebookId, $false) | |
| 22 | $notebookId = '' | |
| 23 | } finally { | |
| 24 | if ($notebookId) { $app.CloseNotebook($notebookId, $false) } | |
| 25 | [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app) | |
| 26 | [GC]::Collect() | |
| 27 | [GC]::WaitForPendingFinalizers() | |
| 28 | } |
tools/native_collaboration.py created+514| ... | ... | @@ -0,0 +1,514 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Replay shared notebook edits with disposable OneNote clients and a Linux server.""" | |
| 3 | import argparse | |
| 4 | import errno | |
| 5 | from contextlib import ExitStack, contextmanager | |
| 6 | from concurrent.futures import ThreadPoolExecutor | |
| 7 | from threading import Lock | |
| 8 | import hashlib | |
| 9 | import json | |
| 10 | import os | |
| 11 | from pathlib import Path | |
| 12 | import shutil | |
| 13 | import signal | |
| 14 | import subprocess | |
| 15 | import tarfile | |
| 16 | import time | |
| 17 | import xml.etree.ElementTree as ET | |
| 18 | ||
| 19 | from native_runner import ROOT, clone, command, windows, vm, collect_artifacts | |
| 20 | from native_xml import texts | |
| 21 | from document_model import ordered_pages, view, walk | |
| 22 | import linux_vm | |
| 23 | ||
| 24 | ||
| 25 | def reachable_page_text(model): | |
| 26 | (sid, _, _, _), = ordered_pages(model) | |
| 27 | pending, retained = [sid], {} | |
| 28 | while pending: | |
| 29 | sid = pending.pop() | |
| 30 | if sid in retained: continue | |
| 31 | _, revision = view(model, sid) | |
| 32 | manifest = revision['nodes'][revision['roots']['1']] | |
| 33 | assert manifest['kind']['type'] == 'Manifest' | |
| 34 | page, = manifest['content'] | |
| 35 | assert revision['nodes'][page]['kind']['type'] == 'Page' | |
| 36 | retained[sid] = sorted(node['kind']['text'] for _, node in walk(revision, page) if node['kind']['type'] == 'RichText') | |
| 37 | pending.extend(manifest['spaces']) | |
| 38 | return retained | |
| 39 | ||
| 40 | ||
| 41 | def verify_final_state(model): | |
| 42 | (sid, main), (conflict_sid, competing) = reachable_page_text(model).items() | |
| 43 | main, competing = set(main), set(competing) | |
| 44 | assert {'Native lock recovery.', 'Client B online cell.'} <= main | |
| 45 | edits = {'Client A concurrent edit.', 'Client B concurrent edit.'} | |
| 46 | assert len(main & edits) == len(competing & edits) == 1 and edits <= main | competing | |
| 47 | return {'main_space': sid, 'conflict_space': conflict_sid, 'competing_edits': sorted(edits)} | |
| 48 | ||
| 49 | ||
| 50 | def replay(output, server, stress_clients=0, stress_operations=30, sync_every=1, rust_writers=4, rust_readers=3, edit=False, seed=710, conflict_clients=0, abrupt=False): | |
| 51 | if linux_vm.instance_path(server).exists(): | |
| 52 | raise ValueError('Choose a new Linux VM name; existing machines are not owned by this run.') | |
| 53 | output = output.resolve() | |
| 54 | output.mkdir(parents=True, exist_ok=False) | |
| 55 | mount = output / 'mount' | |
| 56 | mount.mkdir() | |
| 57 | mounted = False | |
| 58 | scripts = output / 'scripts' | |
| 59 | scripts.mkdir() | |
| 60 | for name in ('cold.ps1', 'collaborate.ps1', 'network.ps1', 'stress.ps1', 'text.ps1'): | |
| 61 | shutil.copyfile(ROOT / 'tools/native' / name, scripts / name) | |
| 62 | (output / 'run.json').write_text(json.dumps({'server': server, 'stress_clients': stress_clients, 'conflict_clients': conflict_clients, 'stress_operations': stress_operations, 'sync_every': sync_every, 'rust_writers': rust_writers, 'rust_readers': rust_readers, 'edit': edit, 'seed': seed, 'abrupt': abrupt, | |
| 63 | 'harness_sha256': {name: hashlib.sha256((ROOT / 'tools' / name).read_bytes()).hexdigest() for name in ('native_collaboration.py', 'native_stress.py', 'concurrent_rust.py', 'native_runner.py')}, 'scripts': {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in scripts.iterdir()}}, indent=2)) | |
| 64 | ||
| 65 | def ssh(text): | |
| 66 | result = linux_vm.run_ssh(server, text, timeout=90) | |
| 67 | with (output / 'server.jsonl').open('a') as log: | |
| 68 | log.write(json.dumps({'command': text, 'exit': result.returncode, 'stdout': result.stdout, 'stderr': result.stderr}) + '\n') | |
| 69 | result.check_returncode() | |
| 70 | return result.stdout | |
| 71 | ||
| 72 | try: | |
| 73 | if not linux_vm.instance_path(server).exists(): | |
| 74 | linux_vm.create_instance(server) | |
| 75 | linux_vm.launch(server) | |
| 76 | linux_vm.wait_instance(server, 600) | |
| 77 | config = linux_vm.load_instance(server) | |
| 78 | (output / 'linux.json').write_text(json.dumps(config, indent=2)) | |
| 79 | def reconnect_mount(): | |
| 80 | nonlocal mounted | |
| 81 | if os.path.ismount(mount): | |
| 82 | subprocess.run(['/sbin/umount', str(mount)], check=True) | |
| 83 | mounted = False | |
| 84 | subprocess.run(['/sbin/mount_smbfs', '-N', f'//guest@127.0.0.1:{config["samba_port"]}/agent', mount], check=True, stdin=subprocess.DEVNULL) | |
| 85 | mounted = True | |
| 86 | ssh('mkdir /srv/agent/m6-collaboration') | |
| 87 | source = ROOT / 'corpus/native-ink/cold-ui-ink/notebook' | |
| 88 | if stress_clients or conflict_clients or abrupt: | |
| 89 | source = output / 'input' | |
| 90 | subprocess.run([ROOT / 'target/debug/examples/create_notebook', source, 'Concurrent edits:', 'Concurrency test'], check=True) | |
| 91 | with tarfile.open(output / 'input.tar', 'w', dereference=True) as archive: | |
| 92 | for name in ('synthetic.one', 'Open Notebook.onetoc2'): | |
| 93 | archive.add(source / name, arcname=name) | |
| 94 | with (output / 'input.tar').open('rb') as stream: | |
| 95 | subprocess.run(linux_vm.ssh_argv(server, 'tar xf - -C /srv/agent/m6-collaboration'), stdin=stream, check=True) | |
| 96 | ssh('chmod u+w /srv/agent/m6-collaboration/*') | |
| 97 | reconnect_mount() | |
| 98 | shared = mount / 'm6-collaboration' | |
| 99 | assert (shared / 'synthetic.one').read_bytes() == (source / 'synthetic.one').read_bytes() | |
| 100 | for probe in ('sudo smbd --version', 'uname -a', 'testparm -s 2>&1'): | |
| 101 | ssh(probe) | |
| 102 | with ExitStack() as stack: | |
| 103 | def start_controller(client, resume=False): | |
| 104 | name, folder = client['name'], client['folder'] | |
| 105 | command(name, 'if exist C:\\one-tests\\runs\\capture\\ready del C:\\one-tests\\runs\\capture\\ready', folder) | |
| 106 | options = f' -ResumeCache -StartSequence {client["sequence"] + 1}' if resume else '' | |
| 107 | result = windows.do_spawn('cmd /c powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\collaborate.ps1 -Root C:\\one-tests\\runs\\capture -SharedPath \\\\192.168.77.1\\agent\\m6-collaboration -CloneHost ONE-' + name.upper() + options + f' > C:\\one-tests\\runs\\capture\\controller-{client["sequence"]}.log 2>&1', name) | |
| 108 | (folder / f'spawn-{client["sequence"]}.json').write_text(json.dumps(result, indent=2)) | |
| 109 | if result.get('error'): raise RuntimeError(result['error']) | |
| 110 | deadline = time.monotonic() + 120 | |
| 111 | while time.monotonic() < deadline: | |
| 112 | result = windows.do_cmd('if exist C:\\one-tests\\runs\\capture\\ready (echo ready)', target=name) | |
| 113 | if result.get('exit') == 0 and 'ready' in result.get('stdout', ''): return | |
| 114 | time.sleep(1) | |
| 115 | raise RuntimeError('The native collaboration client did not open the shared notebook') | |
| 116 | ||
| 117 | labels = [f'n{i}' for i in range(stress_clients or conflict_clients)] if stress_clients or conflict_clients else ['a', 'b'] | |
| 118 | for label in labels: | |
| 119 | (output / label).mkdir() | |
| 120 | ownership = Lock() | |
| 121 | def start_clone(label): | |
| 122 | manager = clone(output / label) | |
| 123 | name = manager.__enter__() | |
| 124 | with ownership: | |
| 125 | stack.push(manager) | |
| 126 | return name | |
| 127 | # Joining workers before stack exit retains ownership even if another boot fails. | |
| 128 | with ThreadPoolExecutor(max_workers=len(labels)) as pool: | |
| 129 | names = dict(zip(labels, pool.map(start_clone, labels))) | |
| 130 | clients = [] | |
| 131 | for label in labels: | |
| 132 | folder = output / label | |
| 133 | name = names[label] | |
| 134 | for local in scripts.iterdir(): | |
| 135 | remote = 'cold-current.ps1' if local.name == 'cold.ps1' else local.name | |
| 136 | result = windows.do_put(local, 'C:\\one-tests\\' + remote, name) | |
| 137 | if result.get('error'): raise RuntimeError(result['error']) | |
| 138 | command(name, 'mkdir C:\\one-tests\\runs\\capture', folder) | |
| 139 | command(name, 'powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac ' + vm.lab_mac(name), folder) | |
| 140 | command(name, 'ipconfig', folder) | |
| 141 | command(name, 'dir \\\\192.168.77.1\\agent\\m6-collaboration', folder) | |
| 142 | clients.append({'name': name, 'folder': folder, 'sequence': 0}) | |
| 143 | start_controller(clients[-1]) | |
| 144 | command(name, 'ipconfig', folder) | |
| 145 | print('Collaboration ready:', label, name, flush=True) | |
| 146 | ||
| 147 | def action(client, action, wait=True, **parameters): | |
| 148 | client['sequence'] += 1 | |
| 149 | sequence = client['sequence'] | |
| 150 | local = client['folder'] / f'command-{sequence:04}.json' | |
| 151 | local.write_text(json.dumps({'action': action, **parameters}, ensure_ascii=False)) | |
| 152 | inbox = f'C:\\one-tests\\runs\\capture\\inbox\\{sequence:04}' | |
| 153 | result = windows.do_put(local, inbox + '.tmp', client['name']) | |
| 154 | if result.get('error'): raise RuntimeError(result['error']) | |
| 155 | command(client['name'], f'move {inbox}.tmp {inbox}.json', client['folder']) | |
| 156 | if not wait: return sequence | |
| 157 | return wait_action(client, sequence, action) | |
| 158 | ||
| 159 | def wait_action(client, sequence, action): | |
| 160 | deadline = time.monotonic() + 600 | |
| 161 | remote = f'C:\\one-tests\\runs\\capture\\outbox\\{sequence}' | |
| 162 | while time.monotonic() < deadline: | |
| 163 | result = windows.do_cmd(f'if exist {remote}\\error (type {remote}\\error & exit /b 1) else (if exist {remote}\\done (echo complete))', target=client['name']) | |
| 164 | if result.get('exit') != 0: raise RuntimeError(str(result)) | |
| 165 | if 'complete' in result.get('stdout', ''): break | |
| 166 | time.sleep(.5) | |
| 167 | else: raise TimeoutError(f'Native command {sequence} did not complete') | |
| 168 | if action == 'snapshot': | |
| 169 | destination = client['folder'] / f'snapshot-{sequence:04}.xml' | |
| 170 | result = windows.do_get(remote + '\\page-0.xml', destination, client['name']) | |
| 171 | if result.get('error'): raise RuntimeError(result['error']) | |
| 172 | return texts(ET.parse(destination).getroot()) | |
| 173 | ||
| 174 | def wait_text(client, expected): | |
| 175 | deadline = time.monotonic() + 120 | |
| 176 | while time.monotonic() < deadline: | |
| 177 | action(client, 'sync') | |
| 178 | observed = action(client, 'snapshot') | |
| 179 | if all(text in observed for text in expected): return observed | |
| 180 | time.sleep(1) | |
| 181 | raise AssertionError(('Native synchronization did not converge', expected, observed)) | |
| 182 | ||
| 183 | @contextmanager | |
| 184 | def locked_file(name): | |
| 185 | deadline = time.monotonic() + 120 | |
| 186 | while True: | |
| 187 | try: | |
| 188 | descriptor = os.open(shared / name, os.O_RDONLY | os.O_EXLOCK | os.O_NONBLOCK) | |
| 189 | break | |
| 190 | except OSError as error: | |
| 191 | with (output / 'read-retries.jsonl').open('a') as log: | |
| 192 | log.write(json.dumps({'file': name, 'errno': error.errno, 'error': str(error)}) + '\n') | |
| 193 | if error.errno not in (errno.ENOENT, errno.EACCES, errno.EAGAIN): raise | |
| 194 | if time.monotonic() >= deadline: raise | |
| 195 | time.sleep(.1) | |
| 196 | with os.fdopen(descriptor, 'rb') as stream: | |
| 197 | yield stream | |
| 198 | ||
| 199 | def snapshot_file(name): | |
| 200 | with locked_file(name) as stream: | |
| 201 | return stream.read() | |
| 202 | ||
| 203 | def checkpoint(label): | |
| 204 | deadline, previous, incomplete = time.monotonic() + 120, None, 0 | |
| 205 | while time.monotonic() < deadline: | |
| 206 | snapshot = {name: snapshot_file(name) for name in ('synthetic.one', 'Open Notebook.onetoc2')} | |
| 207 | if snapshot == previous: | |
| 208 | time.sleep(.1) | |
| 209 | continue | |
| 210 | previous = snapshot | |
| 211 | target = output / label / 'notebook' | |
| 212 | target.mkdir(parents=True) | |
| 213 | for name, data in snapshot.items(): (target / name).write_bytes(data) | |
| 214 | result = subprocess.run([ROOT / 'target/debug/examples/document', target / 'synthetic.one', target.parent / 'model'], capture_output=True, text=True) | |
| 215 | if result.returncode == 0: | |
| 216 | (target.parent / 'locks.txt').write_text(ssh('sudo smbstatus --locks')) | |
| 217 | print('Captured collaboration state:', label, flush=True) | |
| 218 | return | |
| 219 | (target.parent / 'parse-error.txt').write_text(result.stderr) | |
| 220 | if result.stderr.strip() != 'Error: Error { offset: 0, message: "Document context has no revision" }': | |
| 221 | result.check_returncode() | |
| 222 | incomplete += 1 | |
| 223 | saved = output / f'{label}-incomplete-{incomplete}' | |
| 224 | target.parent.rename(saved) | |
| 225 | print('Preserved incomplete native document:', saved.name, flush=True) | |
| 226 | time.sleep(.1) | |
| 227 | raise TimeoutError(f'Native document references did not settle: {label}') | |
| 228 | ||
| 229 | if abrupt and not conflict_clients: | |
| 230 | from concurrent_rust import running_clients | |
| 231 | from crash_recovery import verify_text | |
| 232 | import crash | |
| 233 | ||
| 234 | action(clients[0], 'prepare-stress', clients=len(clients)) | |
| 235 | native_text = [f'Native {i}:' for i in range(len(clients))] | |
| 236 | for client in clients: wait_text(client, ['Concurrent edits:', *native_text]) | |
| 237 | checkpoint('crash-initial') | |
| 238 | folder = output / 'rust-interrupted' | |
| 239 | folder.mkdir() | |
| 240 | try: | |
| 241 | with running_clients(folder, shared / 'synthetic.one', rust_writers, rust_readers, 500, seed) as processes: | |
| 242 | (folder / 'start').touch() | |
| 243 | for i, client in enumerate(clients): | |
| 244 | changed = native_text[i] + ' Before server stop.' | |
| 245 | action(client, 'edit', expected=native_text[i], text=changed) | |
| 246 | native_text[i] = changed | |
| 247 | deadline = time.monotonic() + 60 | |
| 248 | while True: | |
| 249 | commits = sum(line.count('"event":"commit"') for path in folder.glob('w*.jsonl') for line in path.read_text().splitlines()) | |
| 250 | if commits >= 10: break | |
| 251 | if any(p.poll() is not None for p in processes.values()) or time.monotonic() >= deadline: | |
| 252 | raise AssertionError('Writers did not overlap the server interruption') | |
| 253 | time.sleep(.02) | |
| 254 | assert all(p.poll() is None for p in processes.values()), 'A client stopped before the planned interruption' | |
| 255 | (output / 'server-crash.json').write_text(json.dumps(crash.stop('linux', server), indent=2)) | |
| 256 | for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': False}) | |
| 257 | raise InterruptedError('Recorded server interruption') | |
| 258 | except InterruptedError: | |
| 259 | pass | |
| 260 | logs = {actor: [json.loads(line) for line in (folder / f'{actor}.jsonl').read_text().splitlines()] for actor in processes} | |
| 261 | assert not list(folder.glob('invalid-*.one')), 'A client captured malformed storage' | |
| 262 | linux_vm.launch(server) | |
| 263 | linux_vm.wait_instance(server, 600) | |
| 264 | recovered = output / 'server-before-native-reconnect' | |
| 265 | recovered.mkdir() | |
| 266 | with (recovered / 'synthetic.one').open('wb') as stream: | |
| 267 | subprocess.run(linux_vm.ssh_argv(server, 'cat /srv/agent/m6-collaboration/synthetic.one'), stdout=stream, check=True, timeout=60) | |
| 268 | subprocess.run([ROOT / 'target/debug/examples/document', recovered / 'synthetic.one', recovered / 'model'], check=True) | |
| 269 | model = json.loads((recovered / 'model/document.json').read_text()) | |
| 270 | text, = [text for values in reachable_page_text(model).values() for text in values if text.startswith('Concurrent edits:')] | |
| 271 | retained = verify_text('Concurrent edits:', text, logs) | |
| 272 | (output / 'server-retention.json').write_text(json.dumps(retained, indent=2)) | |
| 273 | reconnect_mount() | |
| 274 | for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': True}) | |
| 275 | for client in clients: wait_text(client, [text, *native_text]) | |
| 276 | checkpoint('server-recovered') | |
| 277 | ||
| 278 | client = clients[0] | |
| 279 | pending_text = native_text[0] + ' Offline cache edit.' | |
| 280 | with locked_file('synthetic.one'): | |
| 281 | vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': False}) | |
| 282 | action(client, 'edit', expected=native_text[0], text=pending_text) | |
| 283 | assert pending_text in action(client, 'snapshot') | |
| 284 | (output / 'client-crash.json').write_text(json.dumps(crash.stop('windows', client['name']), indent=2)) | |
| 285 | checkpoint('client-stopped') | |
| 286 | stopped = json.loads((output / 'client-stopped/model/document.json').read_text()) | |
| 287 | assert pending_text not in [value for values in reachable_page_text(stopped).values() for value in values], 'The pending cache edit already reached the server' | |
| 288 | vm.start_instance(client['name']) | |
| 289 | vm.wait_instance(client['name'], 300) | |
| 290 | command(client['name'], 'powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac ' + vm.lab_mac(client['name']), client['folder']) | |
| 291 | start_controller(client, resume=True) | |
| 292 | deadline = time.monotonic() + 120 | |
| 293 | while True: | |
| 294 | action(client, 'sync') | |
| 295 | observed = action(client, 'snapshot') | |
| 296 | if pending_text in observed or native_text[0] in observed: break | |
| 297 | if time.monotonic() >= deadline: | |
| 298 | raise AssertionError('Recovered cache has neither acknowledged version') | |
| 299 | time.sleep(1) | |
| 300 | survived = pending_text in observed | |
| 301 | native_text[0] = pending_text if survived else native_text[0] | |
| 302 | (output / 'native-cache-result.json').write_text(json.dumps({'cache_acknowledged': pending_text, 'retained_after_abrupt_stop': survived, 'server_durability_acknowledged': False}, indent=2)) | |
| 303 | for client in clients: wait_text(client, [text, *native_text]) | |
| 304 | checkpoint('client-recovered') | |
| 305 | ||
| 306 | continued = output / 'rust-continued' | |
| 307 | continued.mkdir() | |
| 308 | with running_clients(continued, shared / 'synthetic.one', rust_writers, rust_readers, stress_operations, seed + 1) as processes: | |
| 309 | (continued / 'start').touch() | |
| 310 | continuation = {actor: [json.loads(line) for line in (continued / f'{actor}.jsonl').read_text().splitlines()] for actor in processes} | |
| 311 | checkpoint('continued') | |
| 312 | model = json.loads((output / 'continued/model/document.json').read_text()) | |
| 313 | final_text, = [value for values in reachable_page_text(model).values() for value in values if value.startswith('Concurrent edits:')] | |
| 314 | result = verify_text(text, final_text, continuation) | |
| 315 | for client in clients: wait_text(client, [final_text, *native_text]) | |
| 316 | (output / 'result.json').write_text(json.dumps({'server': retained, 'continuation': result, 'native_cache_retained': survived, 'expected_text': sorted([final_text, *native_text])}, indent=2)) | |
| 317 | elif conflict_clients: | |
| 318 | from concurrent_rust import running_clients | |
| 319 | from native_stress import edit_history | |
| 320 | ||
| 321 | original = 'Concurrent edits:' | |
| 322 | native = [f'Native conflict {i}: café 🦀' for i in range(conflict_clients)] | |
| 323 | for client in clients: wait_text(client, [original]) | |
| 324 | checkpoint('initial') | |
| 325 | try: | |
| 326 | with locked_file('synthetic.one'): | |
| 327 | for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': False}) | |
| 328 | for client, text in zip(clients, native): | |
| 329 | action(client, 'edit', expected=original, text=text) | |
| 330 | assert text in action(client, 'snapshot'), 'Native cache did not retain its intended edit' | |
| 331 | folder = output / 'rust' | |
| 332 | folder.mkdir() | |
| 333 | with running_clients(folder, shared / 'synthetic.one', rust_writers, rust_readers, stress_operations, seed, edit=edit) as processes: | |
| 334 | (folder / 'start').touch() | |
| 335 | logs = {actor: [json.loads(line) for line in (folder / f'{actor}.jsonl').read_text().splitlines()] for actor in processes} | |
| 336 | commits, rust_text = edit_history(logs, stress_operations, edit) | |
| 337 | checkpoint('rust-before-reconnect') | |
| 338 | finally: | |
| 339 | for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': True}) | |
| 340 | expected = {rust_text, *native} | |
| 341 | deadline = time.monotonic() + 120 | |
| 342 | while True: | |
| 343 | for client in clients: action(client, 'sync') | |
| 344 | checkpoint_label = f'convergence-{clients[0]["sequence"]}' | |
| 345 | checkpoint(checkpoint_label) | |
| 346 | model = json.loads((output / checkpoint_label / 'model/document.json').read_text()) | |
| 347 | retained = reachable_page_text(model) | |
| 348 | if sorted(expected) == sorted(text for texts in retained.values() for text in texts): break | |
| 349 | if time.monotonic() >= deadline: | |
| 350 | (output / 'lost-edit.json').write_text(json.dumps({'expected': sorted(expected), | |
| 351 | 'reachable_page_text': retained, 'checkpoint': checkpoint_label}, indent=2)) | |
| 352 | raise AssertionError(('Competing Rust/native edits differ from recorded results', sorted(expected), retained)) | |
| 353 | time.sleep(1) | |
| 354 | checkpoint('conflict-final') | |
| 355 | (output / 'live-retention.json').write_text(json.dumps(retained, indent=2)) | |
| 356 | if abrupt: | |
| 357 | import crash | |
| 358 | with locked_file('synthetic.one') as stream: | |
| 359 | os.fsync(stream.fileno()) | |
| 360 | (output / 'conflict-server-crash.json').write_text(json.dumps(crash.stop('linux', server), indent=2)) | |
| 361 | for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': False}) | |
| 362 | linux_vm.launch(server) | |
| 363 | linux_vm.wait_instance(server, 600) | |
| 364 | reconnect_mount() | |
| 365 | checkpoint('conflict-server-recovered') | |
| 366 | model = json.loads((output / 'conflict-server-recovered/model/document.json').read_text()) | |
| 367 | observed = [text for texts in reachable_page_text(model).values() for text in texts] | |
| 368 | assert sorted(observed) == sorted(expected), 'Server interruption lost a flushed competing result' | |
| 369 | for client in clients: vm.qmp(client['name'], 'set_link', {'name': 'lab', 'up': True}) | |
| 370 | for client in clients: action(client, 'sync') | |
| 371 | elif stress_clients: | |
| 372 | from native_stress import exercise | |
| 373 | exercise(output, shared, clients, action, wait_action, wait_text, checkpoint, stress_operations, sync_every, rust_writers, rust_readers, edit, seed) | |
| 374 | else: | |
| 375 | a, b = clients | |
| 376 | original = 'Fictitious: café, 東京, مرحبا' | |
| 377 | rust_text = 'Rust disjoint edit.'.ljust(len(original.encode('utf-16-le')) // 2, '.') | |
| 378 | other = 'Fictitious positioned outline.' | |
| 379 | for client in clients: wait_text(client, [original, other]) | |
| 380 | checkpoint('initial') | |
| 381 | subprocess.run([ROOT / 'target/debug/examples/edit_property', shared / 'synthetic.one', '--in-place', '6000e', '1c001c22', (original + '\0').encode('utf-16-le').hex(), (rust_text + '\0').encode('utf-16-le').hex()], check=True) | |
| 382 | action(a, 'edit', expected=other, text='Native disjoint edit.') | |
| 383 | for client in clients: wait_text(client, [rust_text, 'Native disjoint edit.']) | |
| 384 | checkpoint('disjoint') | |
| 385 | ssh('sudo systemctl stop smbd && ! systemctl is-active --quiet smbd') | |
| 386 | try: | |
| 387 | action(a, 'edit', expected=rust_text, text='Client A concurrent edit.') | |
| 388 | action(b, 'edit', expected=rust_text, text='Client B concurrent edit.') | |
| 389 | finally: | |
| 390 | ssh('sudo systemctl start smbd && systemctl is-active smbd') | |
| 391 | reconnect_mount() | |
| 392 | for client in clients: action(client, 'sync') | |
| 393 | deadline = time.monotonic() + 120 | |
| 394 | while time.monotonic() < deadline: | |
| 395 | for client in clients: action(client, 'sync') | |
| 396 | temporary = output / 'conflict-model' | |
| 397 | if temporary.exists(): shutil.rmtree(temporary) | |
| 398 | snapshot = output / 'conflict.one' | |
| 399 | snapshot.write_bytes(snapshot_file('synthetic.one')) | |
| 400 | subprocess.run([ROOT / 'target/debug/examples/document', snapshot, temporary], check=True) | |
| 401 | model = json.loads((temporary / 'document.json').read_text()) | |
| 402 | values = [node['kind'].get('text') for space in model['spaces'].values() for revision in space['revisions'].values() for node in revision['nodes'].values()] | |
| 403 | if 'Client A concurrent edit.' in values and 'Client B concurrent edit.' in values: break | |
| 404 | time.sleep(1) | |
| 405 | else: raise AssertionError('Both concurrent edits were not retained') | |
| 406 | checkpoint('conflict') | |
| 407 | ssh('sudo systemctl restart smbd && systemctl is-active smbd') | |
| 408 | reconnect_mount() | |
| 409 | for client in clients: wait_text(client, ['Native disjoint edit.']) | |
| 410 | checkpoint('server-restart') | |
| 411 | vm.qmp(a['name'], 'set_link', {'name': 'lab', 'up': False}) | |
| 412 | try: | |
| 413 | action(a, 'edit', expected='Native disjoint edit.', text='Client A offline edit.') | |
| 414 | assert 'Client A offline edit.' in action(a, 'snapshot') | |
| 415 | action(b, 'edit', expected='Left cell', text='Client B online cell.') | |
| 416 | wait_text(b, ['Client B online cell.', 'Native disjoint edit.']) | |
| 417 | checkpoint('transport-disconnected') | |
| 418 | finally: | |
| 419 | vm.qmp(a['name'], 'set_link', {'name': 'lab', 'up': True}) | |
| 420 | for client in clients: wait_text(client, ['Client A offline edit.', 'Client B online cell.']) | |
| 421 | checkpoint('transport-reconnected') | |
| 422 | with os.fdopen(os.open(shared / 'synthetic.one', os.O_RDONLY | os.O_EXLOCK | os.O_NONBLOCK), 'rb') as locked: | |
| 423 | before = locked.read() | |
| 424 | action(a, 'edit', expected='Client A offline edit.', text='Native lock recovery.') | |
| 425 | action(a, 'sync') | |
| 426 | assert 'Native lock recovery.' in action(a, 'snapshot') | |
| 427 | locked.seek(0) | |
| 428 | assert locked.read() == before, 'The shared file changed while exclusively locked' | |
| 429 | (output / 'contention.json').write_text(json.dumps({'unchanged_sha256': hashlib.sha256(before).hexdigest(), 'locks': ssh('sudo smbstatus --locks')}, indent=2)) | |
| 430 | for client in clients: wait_text(client, ['Native lock recovery.', 'Client B online cell.']) | |
| 431 | checkpoint('lock-released') | |
| 432 | action(a, 'kill-process') | |
| 433 | for client in clients: wait_text(client, ['Native lock recovery.', 'Client B online cell.']) | |
| 434 | checkpoint('process-restarted') | |
| 435 | vm.qmp(a['name'], 'quit') | |
| 436 | deadline = time.monotonic() + 10 | |
| 437 | while vm.running(a['name']) and time.monotonic() < deadline: time.sleep(.1) | |
| 438 | assert not vm.running(a['name']), 'The owned clone did not terminate' | |
| 439 | vm.start_instance(a['name']) | |
| 440 | vm.wait_instance(a['name'], 300) | |
| 441 | command(a['name'], 'powershell -NoProfile -ExecutionPolicy Bypass -File C:\\one-tests\\network.ps1 -LabMac ' + vm.lab_mac(a['name']), a['folder']) | |
| 442 | start_controller(a, resume=True) | |
| 443 | for client in clients: wait_text(client, ['Native lock recovery.', 'Client B online cell.']) | |
| 444 | checkpoint('vm-restarted') | |
| 445 | final = json.loads((output / 'vm-restarted/model/document.json').read_text()) | |
| 446 | (output / 'retention.json').write_text(json.dumps(verify_final_state(final), indent=2)) | |
| 447 | for client in clients: | |
| 448 | action(client, 'close') | |
| 449 | collect_artifacts(client['name'], client['folder'], '*') | |
| 450 | if abrupt and not conflict_clients: | |
| 451 | checkpoint('crash-closed') | |
| 452 | model = json.loads((output / 'crash-closed/model/document.json').read_text()) | |
| 453 | actual = sorted(value for values in reachable_page_text(model).values() for value in values) | |
| 454 | assert actual == sorted([final_text, *native_text]), 'Application closure changed recovered edits' | |
| 455 | elif stress_clients: | |
| 456 | checkpoint('stress-closed') | |
| 457 | elif conflict_clients: | |
| 458 | checkpoint('conflict-closed') | |
| 459 | model = json.loads((output / 'conflict-closed/model/document.json').read_text()) | |
| 460 | retained = reachable_page_text(model) | |
| 461 | assert sorted(expected) == sorted(text for texts in retained.values() for text in texts), 'Closing native clients changed the competing results' | |
| 462 | (output / 'result.json').write_text(json.dumps({'native_writers': conflict_clients, | |
| 463 | 'rust_writers': rust_writers, 'rust_readers': rust_readers, 'rust_commits': len(commits), | |
| 464 | 'competing_results': sorted(expected), 'reachable_page_text': retained}, indent=2)) | |
| 465 | if not (stress_clients or conflict_clients or abrupt): (output / 'result.json').write_text(json.dumps({'disjoint': True, 'conflict_retained': True, 'server_restart': True, 'transport_reconnect': True, 'lock_contention': True, 'process_restart': True, 'vm_restart': True}, indent=2)) | |
| 466 | except BaseException: | |
| 467 | if linux_vm.instance_path(server).exists() and linux_vm.running(server): | |
| 468 | failure = output / 'failure-after-client-shutdown' | |
| 469 | failure.mkdir(exist_ok=True) | |
| 470 | try: | |
| 471 | for name in ('synthetic.one', 'Open Notebook.onetoc2'): | |
| 472 | with (failure / name).open('wb') as stream: | |
| 473 | subprocess.run(linux_vm.ssh_argv(server, f'cat /srv/agent/m6-collaboration/"{name}"'), | |
| 474 | stdout=stream, stderr=subprocess.PIPE, check=True, timeout=30) | |
| 475 | except Exception as error: | |
| 476 | (failure / 'capture-error.txt').write_text(str(error)) | |
| 477 | raise | |
| 478 | finally: | |
| 479 | if mounted: | |
| 480 | result = subprocess.run(['/sbin/umount', str(mount)], capture_output=True, text=True) | |
| 481 | (output / 'unmount.json').write_text(json.dumps({'exit': result.returncode, 'stderr': result.stderr})) | |
| 482 | if linux_vm.instance_path(server).exists(): | |
| 483 | try: | |
| 484 | if linux_vm.running(server): linux_vm.shutdown(server, 60) | |
| 485 | finally: | |
| 486 | if linux_vm.running(server): linux_vm.qmp(server, 'quit') | |
| 487 | deadline = time.monotonic() + 10 | |
| 488 | while linux_vm.running(server) and time.monotonic() < deadline: time.sleep(.1) | |
| 489 | linux_vm.delete_instance(server) | |
| 490 | (output / 'teardown.json').write_text(json.dumps({'linux_absent': not linux_vm.instance_path(server).exists()}, indent=2)) | |
| 491 | ||
| 492 | ||
| 493 | if __name__ == '__main__': | |
| 494 | parser = argparse.ArgumentParser(description=__doc__) | |
| 495 | parser.add_argument('output', type=Path) | |
| 496 | parser.add_argument('--linux', required=True, help='Disposable Linux VM owned by this run; it is deleted on exit.') | |
| 497 | parser.add_argument('--stress-clients', type=int, default=0) | |
| 498 | parser.add_argument('--conflict-clients', type=int, default=0, help='Native clients editing the same paragraph offline while Rust writes the server copy.') | |
| 499 | parser.add_argument('--stress-operations', type=int, default=30) | |
| 500 | parser.add_argument('--sync-every', type=int, default=1, help='Native edits between explicit sync requests; zero uses background sync.') | |
| 501 | parser.add_argument('--rust-writers', type=int, default=4) | |
| 502 | parser.add_argument('--rust-readers', type=int, default=3) | |
| 503 | parser.add_argument('--edit', action='store_true', help='Use random text replacements in every writer.') | |
| 504 | parser.add_argument('--seed', type=int, default=710) | |
| 505 | parser.add_argument('--abrupt', action='store_true', help='Abrupt server and client stops with preserved-disk recovery and intent accounting.') | |
| 506 | args = parser.parse_args() | |
| 507 | if args.rust_writers < 2 or args.rust_readers < 1: parser.error('Use at least two Rust writers and one reader.') | |
| 508 | if args.sync_every < 0 or args.stress_operations <= 0: parser.error('Use a nonnegative sync interval and positive operation count.') | |
| 509 | if args.stress_clients and args.stress_clients < 3: parser.error('Stress mode requires at least three native clients.') | |
| 510 | if args.conflict_clients < 0 or (args.conflict_clients and args.stress_clients): parser.error('Choose a positive conflict client count without stress mode.') | |
| 511 | if args.abrupt and (args.stress_clients or args.edit): parser.error('Abrupt recovery uses append intents or the offline-conflict workload.') | |
| 512 | def interrupted(_signal, _frame): raise KeyboardInterrupt | |
| 513 | signal.signal(signal.SIGTERM, interrupted) | |
| 514 | replay(args.output, args.linux, args.stress_clients, args.stress_operations, args.sync_every, args.rust_writers, args.rust_readers, args.edit, args.seed, args.conflict_clients, args.abrupt) |
tools/native_format.py created+129| ... | ... | @@ -0,0 +1,129 @@ |
| 1 | """Independent formatting oracle from the application's XML and inline HTML.""" | |
| 2 | from html.parser import HTMLParser | |
| 3 | from native_xml import ns, project_text | |
| 4 | from PIL import ImageColor | |
| 5 | ||
| 6 | ||
| 7 | def css(value): | |
| 8 | result = {} | |
| 9 | for item in value.split(';'): | |
| 10 | key, sep, text = item.partition(':') | |
| 11 | if not sep: | |
| 12 | continue | |
| 13 | key, text = key.strip().lower(), text.strip().strip('"\'') | |
| 14 | if key == 'font-family': result['font'] = text | |
| 15 | elif key == 'font-size': result['font_size'] = float(text.removesuffix('pt')) | |
| 16 | elif key == 'font-weight': result['bold'] = text in ('bold', '700') | |
| 17 | elif key == 'font-style': result['italic'] = text == 'italic' | |
| 18 | elif key == 'text-decoration': | |
| 19 | result['underline'] = 'underline' in text | |
| 20 | result['strike'] = 'line-through' in text | |
| 21 | elif key == 'vertical-align': | |
| 22 | result['superscript'] = text == 'super' | |
| 23 | result['subscript'] = text == 'sub' | |
| 24 | elif key == 'color': result['color'] = text.lower() | |
| 25 | elif key == 'background': result['highlight'] = text.lower() | |
| 26 | return result | |
| 27 | ||
| 28 | ||
| 29 | class Runs(HTMLParser): | |
| 30 | def __init__(self, html, inherited): | |
| 31 | super().__init__() | |
| 32 | self.stack = [inherited] | |
| 33 | self.characters = [] | |
| 34 | self.after_br = False | |
| 35 | self.feed(html) | |
| 36 | ||
| 37 | def handle_starttag(self, tag, attrs): | |
| 38 | attrs = dict(attrs) | |
| 39 | style = {**self.stack[-1], **css(attrs.get('style', ''))} | |
| 40 | if tag in ('b', 'strong'): style['bold'] = True | |
| 41 | if tag in ('i', 'em'): style['italic'] = True | |
| 42 | if tag == 'u': style['underline'] = True | |
| 43 | if tag in ('s', 'strike'): style['strike'] = True | |
| 44 | if tag == 'sup': style['superscript'] = True | |
| 45 | if tag == 'sub': style['subscript'] = True | |
| 46 | if tag == 'a': | |
| 47 | style['hyperlink'] = True | |
| 48 | style['link'] = attrs.get('href') | |
| 49 | if tag == 'br': | |
| 50 | self.characters.append(('\n', self.stack[-1])) | |
| 51 | self.after_br = True | |
| 52 | else: | |
| 53 | self.stack.append(style) | |
| 54 | ||
| 55 | def handle_endtag(self, tag): | |
| 56 | if len(self.stack) > 1: | |
| 57 | self.stack.pop() | |
| 58 | ||
| 59 | def handle_data(self, data): | |
| 60 | if self.after_br: | |
| 61 | data = data.removeprefix('\n') | |
| 62 | self.after_br = False | |
| 63 | self.characters.extend((char, self.stack[-1]) for char in data) | |
| 64 | ||
| 65 | ||
| 66 | def native_characters(page, roots): | |
| 67 | definitions = {} | |
| 68 | for node in page.findall('one:QuickStyleDef', ns): | |
| 69 | definitions[node.attrib['index']] = { | |
| 70 | **{k: node.get(k, 'false') == 'true' for k in ('bold', 'italic', 'underline', 'superscript', 'subscript')}, | |
| 71 | 'strike': node.get('strikethrough', 'false') == 'true', | |
| 72 | **{k: node.attrib[v] for k, v in [('font', 'font'), ('color', 'fontColor'), ('highlight', 'highlightColor')] if v in node.attrib}, | |
| 73 | } | |
| 74 | if 'fontSize' in node.attrib: | |
| 75 | definitions[node.attrib['index']]['font_size'] = float(node.attrib['fontSize']) | |
| 76 | result = [] | |
| 77 | for root in roots: | |
| 78 | pending = [(root, {})] | |
| 79 | while pending: | |
| 80 | node, inherited = pending.pop() | |
| 81 | style = {**inherited, **definitions.get(node.get('quickStyleIndex'), {}), **css(node.get('style', ''))} | |
| 82 | if node.tag == '{' + ns['one'] + '}T': | |
| 83 | result.append(Runs(node.text or '', style).characters) | |
| 84 | pending.extend((child, style) for child in reversed(node)) | |
| 85 | return result | |
| 86 | ||
| 87 | ||
| 88 | def compare_formats(space, nodes, native): | |
| 89 | count = 0 | |
| 90 | differences = {} | |
| 91 | for node_index, (node, expected) in enumerate(zip(nodes, native, strict=True)): | |
| 92 | kind = node['kind'] | |
| 93 | base = space['nodes'][kind['paragraph_style']]['format'] if kind['paragraph_style'] else {} | |
| 94 | base = {**{k: v for k, v in base.items() if v is not None}, **{k: v for k, v in node['format'].items() if v is not None}} | |
| 95 | source = kind['text'].encode('utf-16-le') | |
| 96 | actual = [] | |
| 97 | for run in kind['runs']: | |
| 98 | style = {**base, **({k: v for k, v in space['nodes'][run['format']]['format'].items() if v is not None} if run['format'] else {})} | |
| 99 | text = source[run['start'] * 2:run['end'] * 2].decode('utf-16-le') | |
| 100 | if not style.get('hidden'): | |
| 101 | actual.extend((char, style) for char in text) | |
| 102 | if actual and actual[-1][0] == '\r': | |
| 103 | actual.pop() | |
| 104 | actual = [(projected, style) for char, style in actual for projected in project_text(char)] | |
| 105 | if kind['text'] == '\u00a0' and not expected: | |
| 106 | continue | |
| 107 | assert ''.join(c for c, _ in actual) == ''.join(c for c, _ in expected), 'Visible text runs differ' | |
| 108 | for position, ((_, observed), (_, wanted)) in enumerate(zip(actual, expected, strict=True)): | |
| 109 | for key in ('bold', 'italic', 'underline', 'strike', 'superscript', 'subscript', 'font', 'font_size', 'color', 'highlight'): | |
| 110 | if key not in observed: | |
| 111 | continue | |
| 112 | value = observed[key] | |
| 113 | if key in ('color', 'highlight'): | |
| 114 | if value == 0xff000000: | |
| 115 | continue | |
| 116 | value = '#' + ''.join(f'{(value >> (8 * i)) & 255:02x}' for i in range(3)) | |
| 117 | if observed.get('hyperlink') and key not in wanted: | |
| 118 | continue | |
| 119 | expected_value = wanted.get(key, False if isinstance(value, bool) else None) | |
| 120 | if key in ("font", "font_size") and expected_value is None: | |
| 121 | continue | |
| 122 | if key in ("color", "highlight") and expected_value not in (None, "automatic", "none"): | |
| 123 | expected_value = "#" + "".join(f"{v:02x}" for v in ImageColor.getrgb(expected_value)) | |
| 124 | if value != expected_value: | |
| 125 | differences.setdefault((node_index, key, value, expected_value), []).append(position) | |
| 126 | count += 1 | |
| 127 | return count, [{"paragraph": node, "field": key, "stored": actual, "native": expected, | |
| 128 | "characters": len(positions), "positions": positions} | |
| 129 | for (node, key, actual, expected), positions in differences.items()] |
tools/native_probe.py created+44| ... | ... | @@ -0,0 +1,44 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Cold-open a batch of disposable section candidates in isolated OneNote caches.""" | |
| 3 | import argparse | |
| 4 | import hashlib | |
| 5 | import json | |
| 6 | from pathlib import Path | |
| 7 | import signal | |
| 8 | import zipfile | |
| 9 | from native_runner import ROOT, clone, command, windows, collect_artifacts | |
| 10 | ||
| 11 | ||
| 12 | def run(inputs, output): | |
| 13 | output.mkdir(parents=True, exist_ok=False) | |
| 14 | files = sorted(inputs.glob('*.one')) | |
| 15 | assert files, 'No section candidates' | |
| 16 | scripts = [ROOT / 'tools/native/cold.ps1', ROOT / 'tools/native/probe.ps1'] | |
| 17 | (output / 'run.json').write_text(json.dumps({'inputs': {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in files}, | |
| 18 | 'scripts': {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in scripts}}, indent=2)) | |
| 19 | archive = output / 'inputs.zip' | |
| 20 | try: | |
| 21 | with zipfile.ZipFile(archive, 'w', zipfile.ZIP_DEFLATED) as packed: | |
| 22 | for path in files: | |
| 23 | packed.writestr(path.name, path.read_bytes()) | |
| 24 | with clone(output) as name: | |
| 25 | for local, remote in [(archive, r'C:\one-tests\inputs.zip'), (scripts[0], r'C:\one-tests\cold-current.ps1'), | |
| 26 | (scripts[1], r'C:\one-tests\probe.ps1')]: | |
| 27 | result = windows.do_put(local, remote, name) | |
| 28 | if result.get('error'): raise RuntimeError(result['error']) | |
| 29 | command(name, r'powershell -NoProfile -Command "Expand-Archive C:\one-tests\inputs.zip C:\one-tests\runs\capture\inputs"', output) | |
| 30 | command(name, r'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\one-tests\probe.ps1 -Root C:\one-tests\runs\capture -CloneHost ONE-' + name.upper(), output, (len(files) * 60 + 120) * 1000) | |
| 31 | collect_artifacts(name, output, r'results, C:\one-tests\runs\capture\results.json') | |
| 32 | finally: | |
| 33 | archive.unlink(missing_ok=True) | |
| 34 | ||
| 35 | ||
| 36 | if __name__ == '__main__': | |
| 37 | parser = argparse.ArgumentParser(description=__doc__) | |
| 38 | parser.add_argument('inputs', type=Path) | |
| 39 | parser.add_argument('output', type=Path) | |
| 40 | args = parser.parse_args() | |
| 41 | def interrupted(_signum, _frame): | |
| 42 | raise KeyboardInterrupt | |
| 43 | signal.signal(signal.SIGTERM, interrupted) | |
| 44 | run(args.inputs.resolve(), args.output.resolve()) |
tools/native_runner.py created+220| ... | ... | @@ -0,0 +1,220 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Capture a notebook with real OneNote in a disposable Windows clone.""" | |
| 3 | import argparse | |
| 4 | import base64 | |
| 5 | from contextlib import contextmanager | |
| 6 | import hashlib | |
| 7 | import json | |
| 8 | from pathlib import Path | |
| 9 | import signal | |
| 10 | import re | |
| 11 | import xml.etree.ElementTree as ET | |
| 12 | import sys | |
| 13 | import time | |
| 14 | import uuid | |
| 15 | import zipfile | |
| 16 | ||
| 17 | ROOT = Path(__file__).resolve().parent.parent | |
| 18 | sys.path.insert(0, str(ROOT / 'tools/w7')) | |
| 19 | import mcp_win7 as windows | |
| 20 | import vm | |
| 21 | ||
| 22 | ||
| 23 | def command(target, text, output, timeout_ms=120000): | |
| 24 | result = windows.do_cmd(text, timeout_ms=timeout_ms, target=target) | |
| 25 | with (output / 'commands.jsonl').open('a') as log: | |
| 26 | log.write(json.dumps({'command': text, **result}) + '\n') | |
| 27 | if result.get('exit') != 0 or result.get('error'): | |
| 28 | raise RuntimeError(windows.text_result(result)) | |
| 29 | ||
| 30 | ||
| 31 | def install_agent(name, output): | |
| 32 | source = output / 'agent.py' | |
| 33 | source.write_bytes((ROOT / 'tools/w7/payload/agent.py').read_bytes()) | |
| 34 | expected = hashlib.sha256(source.read_bytes()).hexdigest() | |
| 35 | restart = output / 'restart-agent.py' | |
| 36 | restart.write_bytes((ROOT / 'tools/w7/restart_agent.py').read_bytes()) | |
| 37 | for local, remote in [(source, r'C:\win7-agent\agent.py'), | |
| 38 | (restart, r'C:\one-tests\restart-agent.py')]: | |
| 39 | result = windows.do_put(local, remote, name) | |
| 40 | if result.get('error'): | |
| 41 | raise RuntimeError(result['error']) | |
| 42 | result = windows.do_spawn(r'C:\win7-agent\vendor\python\python.exe C:\one-tests\restart-agent.py ONE-' + name.upper(), name) | |
| 43 | if result.get('error'): | |
| 44 | raise RuntimeError(result['error']) | |
| 45 | deadline = time.monotonic() + 60 | |
| 46 | last_result = None | |
| 47 | while time.monotonic() < deadline: | |
| 48 | try: | |
| 49 | health = windows.do_health(name) | |
| 50 | last_result = health | |
| 51 | if health.get('agent_sha256') == expected: | |
| 52 | return health | |
| 53 | except windows.Win7Error as error: | |
| 54 | last_result = str(error) | |
| 55 | time.sleep(.2) | |
| 56 | (output / 'agent-startup-failure.json').write_text(json.dumps({'expected_sha256': expected, 'last_result': last_result}, indent=2)) | |
| 57 | raise RuntimeError('The updated clone agent did not become ready.') | |
| 58 | ||
| 59 | ||
| 60 | def collect_artifacts(name, output, content, partial=False): | |
| 61 | command(name, 'powershell -NoProfile -Command "Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\%s -DestinationPath C:\\one-tests\\captured.zip"' % content, output) | |
| 62 | archive_path = output / 'capture.zip' | |
| 63 | result = windows.do_get('C:\\one-tests\\captured.zip', archive_path, name) | |
| 64 | if result.get('error') or not archive_path.is_file(): | |
| 65 | raise RuntimeError('The native capture was not returned; inspect commands.jsonl.') | |
| 66 | with zipfile.ZipFile(archive_path) as archive: | |
| 67 | for entry in archive.infolist(): | |
| 68 | relative = Path(entry.filename.replace('\\', '/')) | |
| 69 | if relative.is_absolute() or '..' in relative.parts: | |
| 70 | raise ValueError('The native archive contains a path outside the capture.') | |
| 71 | path = (output / 'failure-artifacts' if partial else output) / relative | |
| 72 | if entry.is_dir(): | |
| 73 | path.mkdir(parents=True, exist_ok=True) | |
| 74 | else: | |
| 75 | path.parent.mkdir(parents=True, exist_ok=True) | |
| 76 | path.write_bytes(archive.read(entry)) | |
| 77 | archive_path.unlink() | |
| 78 | ||
| 79 | ||
| 80 | @contextmanager | |
| 81 | def clone(output): | |
| 82 | name = 'm6-' + uuid.uuid4().hex[:8] | |
| 83 | if vm.instance_path(name).exists(): | |
| 84 | raise RuntimeError('The generated clone name is already in use; rerun the capture.') | |
| 85 | try: | |
| 86 | vm.create_instance(name) | |
| 87 | (output / 'machine.json').write_text(json.dumps({'name': name, 'hostname': 'ONE-' + name.upper()}) + '\n') | |
| 88 | vm.start_instance(name) | |
| 89 | vm.wait_instance(name, 300) | |
| 90 | (output / 'health.json').write_text(json.dumps(install_agent(name, output), indent=2) + '\n') | |
| 91 | yield name | |
| 92 | except BaseException: | |
| 93 | if (output / 'health.json').exists(): | |
| 94 | try: | |
| 95 | collect_artifacts(name, output, '*', partial=True) | |
| 96 | except Exception as failure: | |
| 97 | (output / 'artifact-failure.txt').write_text(str(failure)) | |
| 98 | try: | |
| 99 | shot = windows.do_shot(name) | |
| 100 | if shot.get('png_b64'): | |
| 101 | (output / 'failure.png').write_bytes(base64.b64decode(shot['png_b64'])) | |
| 102 | except Exception: | |
| 103 | pass | |
| 104 | raise | |
| 105 | finally: | |
| 106 | if vm.instance_path(name).exists(): | |
| 107 | if vm.running(name): | |
| 108 | try: | |
| 109 | vm.shutdown(name, 60) | |
| 110 | except (Exception, SystemExit): | |
| 111 | vm.qmp(name, 'quit') | |
| 112 | deadline = time.monotonic() + 10 | |
| 113 | while vm.running(name) and time.monotonic() < deadline: | |
| 114 | time.sleep(0.1) | |
| 115 | vm.delete_instance(name) | |
| 116 | (output / 'teardown.json').write_text(json.dumps({'absent': not vm.instance_path(name).exists()}) + '\n') | |
| 117 | ||
| 118 | ||
| 119 | def capture(notebook, output, expected_pages=-1, author=None, screenshots=False, pdf=False, author_timeout=600, inspect=False): | |
| 120 | notebook = notebook.resolve(strict=True) | |
| 121 | if not notebook.is_dir(): | |
| 122 | raise ValueError('Choose a notebook directory.') | |
| 123 | if output.resolve().is_relative_to(notebook): | |
| 124 | raise ValueError('Choose an output directory outside the source notebook.') | |
| 125 | output.mkdir(parents=True, exist_ok=False) | |
| 126 | scripts = output / 'scripts' | |
| 127 | scripts.mkdir() | |
| 128 | for name in ('cold.ps1', 'read.ps1'): | |
| 129 | (scripts / name).write_bytes((ROOT / 'tools/native' / name).read_bytes()) | |
| 130 | if author is not None: | |
| 131 | (scripts / 'author.ps1').write_bytes(author.read_bytes()) | |
| 132 | (output / 'run.json').write_text(json.dumps({ | |
| 133 | 'notebook': str(notebook), 'expected_pages': expected_pages, 'author': str(author) if author else None, | |
| 134 | 'author_timeout_seconds': author_timeout, | |
| 135 | 'inspect': inspect, | |
| 136 | 'base': json.loads(vm.BASE_MANIFEST.read_text()), | |
| 137 | 'scripts': {name: hashlib.sha256((scripts / name).read_bytes()).hexdigest() | |
| 138 | for name in sorted(p.name for p in scripts.iterdir())}, | |
| 139 | }, indent=2) + '\n') | |
| 140 | source = [] | |
| 141 | transfer = output / 'transfer.zip' | |
| 142 | with zipfile.ZipFile(transfer, 'w', zipfile.ZIP_DEFLATED) as archive: | |
| 143 | for path in sorted(notebook.rglob('*')): | |
| 144 | if not path.is_file(): | |
| 145 | continue | |
| 146 | relative = path.relative_to(notebook).as_posix() | |
| 147 | data = path.read_bytes() | |
| 148 | source.append({'path': relative, 'bytes': len(data), 'sha256': hashlib.sha256(data).hexdigest(), | |
| 149 | 'mtime_ns': path.stat().st_mtime_ns}) | |
| 150 | archive.writestr(zipfile.ZipInfo.from_file(path, arcname=relative), data) | |
| 151 | (output / 'source.json').write_text(json.dumps(source, indent=2) + '\n') | |
| 152 | try: | |
| 153 | with clone(output) as name: | |
| 154 | for local, remote in [('cold.ps1', 'cold-current.ps1'), ('read.ps1', 'read-current.ps1')]: | |
| 155 | result = windows.do_put(scripts / local, 'C:\\one-tests\\' + remote, name) | |
| 156 | if result.get('error'): | |
| 157 | raise RuntimeError(result['error']) | |
| 158 | result = windows.do_put(transfer, 'C:\\one-tests\\transfer.zip', name) | |
| 159 | if result.get('error'): | |
| 160 | raise RuntimeError(result['error']) | |
| 161 | command(name, 'powershell -NoProfile -Command "Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook"', output) | |
| 162 | if author is not None: | |
| 163 | result = windows.do_put(scripts / 'author.ps1', 'C:\\one-tests\\author.ps1', name) | |
| 164 | if result.get('error'): | |
| 165 | raise RuntimeError(result['error']) | |
| 166 | command(name, 'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-%s' % name.upper(), output, author_timeout * 1000) | |
| 167 | command(name, 'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-%s -ExpectedPages %d%s' % (name.upper(), expected_pages, (' -UseCurrentCache' if author else '') + (' -Pdf' if pdf else '') + (' -KeepOpen' if screenshots or inspect else '')), output, 600000) | |
| 168 | collect_artifacts(name, output, '*' if author else 'read') | |
| 169 | if screenshots: | |
| 170 | for page in sorted((output / 'read').glob('page-*.xml')): | |
| 171 | page_id = ET.parse(page).getroot().attrib['ID'] | |
| 172 | if not re.fullmatch(r'\{[0-9A-Fa-f-]+\}\{[0-9]+\}\{[0-9A-Fa-f]+\}', page_id): | |
| 173 | raise ValueError('The native page identity cannot be used for navigation.') | |
| 174 | result = windows.do_exec( | |
| 175 | 'OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))\n' | |
| 176 | 'DetectHiddenWindows false\napp := ComObject("OneNote.Application")\n' | |
| 177 | f'app.NavigateTo("{page_id}", "", false)\n' | |
| 178 | 'hwnd := WinWait("ahk_exe ONENOTE.EXE",, 10)\n' | |
| 179 | 'WinMaximize(hwnd)\nWinActivate(hwnd)\nWinWaitActive(hwnd,, 10)\n', | |
| 180 | target=name, shot_delay_ms=1500) | |
| 181 | page.with_suffix('.navigation.json').write_text(json.dumps({k: v for k, v in result.items() if k != 'png_b64'}, indent=2)) | |
| 182 | if result.get('png_b64'): | |
| 183 | page.with_suffix('.png').write_bytes(base64.b64decode(result['png_b64'])) | |
| 184 | if result.get('error') or result.get('exit') != 0 or not result.get('png_b64'): | |
| 185 | raise RuntimeError('The native page screenshot failed; inspect its navigation record.') | |
| 186 | if inspect: | |
| 187 | print(f'Inspection ready: {name}; create {output / "finish"} to capture and close it.', flush=True) | |
| 188 | deadline = time.monotonic() + 1800 | |
| 189 | while not (output / 'finish').exists() and time.monotonic() < deadline: | |
| 190 | time.sleep(.2) | |
| 191 | command(name, 'powershell -NoProfile -Command "Rename-Item C:\\one-tests\\runs\\capture\\read before-read"', output) | |
| 192 | (output / 'read').rename(output / 'before-read') | |
| 193 | command(name, 'powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-%s -UseCurrentCache -ExpectedPages -1%s' % (name.upper(), ' -Pdf' if pdf else ''), output, 600000) | |
| 194 | collect_artifacts(name, output, '*') | |
| 195 | for item in source: | |
| 196 | path = notebook / item['path'] | |
| 197 | if path.stat().st_mtime_ns != item['mtime_ns'] or hashlib.sha256(path.read_bytes()).hexdigest() != item['sha256']: | |
| 198 | raise RuntimeError('The source changed during capture; repeat from an isolated copy.') | |
| 199 | finally: | |
| 200 | transfer.unlink(missing_ok=True) | |
| 201 | ||
| 202 | ||
| 203 | if __name__ == '__main__': | |
| 204 | parser = argparse.ArgumentParser(description=__doc__) | |
| 205 | parser.add_argument('notebook', type=Path) | |
| 206 | parser.add_argument('output', type=Path) | |
| 207 | parser.add_argument('--expected-pages', type=int, default=-1) | |
| 208 | parser.add_argument('--pdf', action='store_true') | |
| 209 | parser.add_argument('--screenshots', action='store_true') | |
| 210 | parser.add_argument('--inspect', action='store_true', help='Keep the clone open for inspection until an output/finish file appears, up to 30 minutes.') | |
| 211 | parser.add_argument('--author', type=Path, help='Run a fixture-authoring PowerShell script in the clone before capture.') | |
| 212 | parser.add_argument('--author-timeout', type=int, default=600, help='Authoring deadline in seconds.') | |
| 213 | args = parser.parse_args() | |
| 214 | def interrupted(_signum, _frame): | |
| 215 | raise KeyboardInterrupt | |
| 216 | signal.signal(signal.SIGTERM, interrupted) | |
| 217 | if args.author_timeout <= 0: | |
| 218 | parser.error('The authoring deadline must be positive.') | |
| 219 | capture(args.notebook, args.output, args.expected_pages, args.author, args.screenshots, args.pdf, args.author_timeout, args.inspect) | |
| 220 | print('Captured native evidence in', args.output) |
tools/native_stress.py created+198| ... | ... | @@ -0,0 +1,198 @@ |
| 1 | """Overlapping native and Rust editing histories on one shared section.""" | |
| 2 | import json | |
| 3 | import time | |
| 4 | ||
| 5 | from native_runner import windows | |
| 6 | from concurrent_rust import running_clients | |
| 7 | from document_model import ordered_pages, walk | |
| 8 | ||
| 9 | ||
| 10 | def edit_history(logs, operations, edit=False): | |
| 11 | links = {} | |
| 12 | for actor, events in logs.items(): | |
| 13 | assert events[0]['event'] == 'ready' and events[-1]['event'] == 'done', 'Incomplete client log' | |
| 14 | if not actor.startswith('w'): continue | |
| 15 | intents = {event['attempt']: event for event in events if event['event'] == 'intent'} | |
| 16 | commits = [event for event in events if event['event'] == 'commit'] | |
| 17 | assert sorted(event['operation'] for event in commits) == list(range(operations)), 'Missing or duplicate Rust acknowledgements' | |
| 18 | for event in commits: | |
| 19 | intent = intents[event['attempt']] | |
| 20 | token = f' [{actor}:{event["operation"]}]' | |
| 21 | offset = len(intent['before'].encode('utf-16-le')) // 2 | |
| 22 | assert event['token'] == intent['token'] == token, 'Acknowledgement differs from intended edit' | |
| 23 | assert intent['replacement'] == (' café 🦀' if edit else '') + token, 'Unexpected replacement text' | |
| 24 | assert intent['operation'] == event['operation'] and intent['source_transaction'] == event['source_transaction'], 'Acknowledgement used another intent' | |
| 25 | start, end = intent['range'] | |
| 26 | assert len('Concurrent edits:') <= start <= end <= offset, 'Invalid edit range' | |
| 27 | if not edit: assert start == end == offset, 'Expected an append intent' | |
| 28 | units = intent['before'].encode('utf-16-le') | |
| 29 | after = units[:start * 2].decode('utf-16-le') + intent['replacement'] + units[end * 2:].decode('utf-16-le') | |
| 30 | assert intent['before'] not in links, 'Acknowledged Rust edits branched from the same content' | |
| 31 | links[intent['before']] = event, after | |
| 32 | text = 'Concurrent edits:' | |
| 33 | versions = {text: 0} | |
| 34 | ordered = [] | |
| 35 | while text in links: | |
| 36 | event, text = links.pop(text) | |
| 37 | ordered.append(event) | |
| 38 | versions[text] = len(ordered) | |
| 39 | assert not links, 'Acknowledged edits do not form one complete content history' | |
| 40 | for events in logs.values(): | |
| 41 | previous = 0 | |
| 42 | for event in events: | |
| 43 | if event['event'] != 'read': continue | |
| 44 | assert event['text'] in versions, 'A reader observed partial, lost or invented content' | |
| 45 | version = versions[event['text']] | |
| 46 | assert version >= previous, 'A reader went backwards in content history' | |
| 47 | previous = version | |
| 48 | for i, commit in enumerate(ordered): | |
| 49 | if commit['finished_us'] < event['started_us']: | |
| 50 | assert version >= i + 1, 'A read missed an acknowledged edit' | |
| 51 | if commit['started_us'] > event['finished_us']: | |
| 52 | assert version <= i, 'A read observed a future edit' | |
| 53 | return ordered, text | |
| 54 | ||
| 55 | ||
| 56 | def native_history(events, actor, operations, edit): | |
| 57 | assert len(events) == operations, 'Missing native acknowledgements' | |
| 58 | prefix = f'Native {actor}:' | |
| 59 | expected = prefix | |
| 60 | for j, event in enumerate(events): | |
| 61 | assert event['operation'] == j and event['token'] == f' [n{actor}:{j}]' and event['before'] == expected, 'Native history lost or invented an edit' | |
| 62 | if edit: | |
| 63 | start, end = event['range'] | |
| 64 | units = expected.encode('utf-16-le') | |
| 65 | assert len(prefix) <= start <= end <= len(units) // 2, 'Invalid native edit range' | |
| 66 | assert event['replacement'] == ' café 🦀' + event['token'], 'Unexpected native replacement' | |
| 67 | expected = units[:start * 2].decode('utf-16-le') + event['replacement'] + units[end * 2:].decode('utf-16-le') | |
| 68 | else: | |
| 69 | expected += event['token'] | |
| 70 | return expected | |
| 71 | ||
| 72 | ||
| 73 | def verify_capture(output, capture): | |
| 74 | import xml.etree.ElementTree as ET | |
| 75 | from native_format import native_characters | |
| 76 | from native_xml import ns | |
| 77 | ||
| 78 | config = json.loads((output / 'run.json').read_text()) | |
| 79 | operations, edit = config['stress_operations'], config['edit'] | |
| 80 | actors = [f'w{i}' for i in range(config['rust_writers'])] + [f'r{i}' for i in range(config['rust_readers'])] | |
| 81 | logs = {actor: [json.loads(line) for line in (output / 'rust' / f'{actor}.jsonl').read_text().splitlines()] for actor in actors} | |
| 82 | commits, rust_text = edit_history(logs, operations, edit) | |
| 83 | native = [[json.loads(line) for line in (output / f'n{i}' / 'stress-events.jsonl').read_text(encoding='utf-8-sig').splitlines()] | |
| 84 | for i in range(config['stress_clients'])] | |
| 85 | expected = [rust_text, *(native_history(events, i, operations, edit) for i, events in enumerate(native))] | |
| 86 | page_file, = capture.glob('page-*.xml') | |
| 87 | page = ET.parse(page_file).getroot() | |
| 88 | paragraphs = native_characters(page, page.findall('one:Outline', ns)) | |
| 89 | actual = [''.join(char for char, _ in paragraph) for paragraph in paragraphs] | |
| 90 | assert sorted(actual) == sorted(expected), 'Fresh native content differs from the complete recorded editing history' | |
| 91 | checks = 0 | |
| 92 | if edit: | |
| 93 | for text, events in zip(expected[1:], native, strict=True): | |
| 94 | for _, style in paragraphs[actual.index(text)]: | |
| 95 | for field in ('bold', 'italic'): | |
| 96 | assert bool(style.get(field)) == events[-1][field], 'Fresh native formatting differs from its last recorded editing intent' | |
| 97 | checks += 1 | |
| 98 | return {'rust_intents': len(commits), 'native_intents': sum(map(len, native)), | |
| 99 | 'exact_paragraphs': len(expected), 'native_intended_format_checks': checks} | |
| 100 | ||
| 101 | ||
| 102 | def exercise(output, shared, clients, action, wait_action, wait_text, checkpoint, operations, sync_every, rust_writers, rust_readers, edit=False, seed=710): | |
| 103 | action(clients[0], 'prepare-stress', clients=len(clients)) | |
| 104 | prefixes = [f'Native {i}:' for i in range(len(clients))] | |
| 105 | for client in clients: | |
| 106 | wait_text(client, ['Concurrent edits:', *prefixes]) | |
| 107 | checkpoint('stress-initial') | |
| 108 | clocks = [] | |
| 109 | for client in clients: | |
| 110 | before = time.time_ns() // 1000 | |
| 111 | result = windows.do_health(client['name']) | |
| 112 | after = time.time_ns() // 1000 | |
| 113 | native = result['utc_us'] | |
| 114 | clocks.append({'native_minus_host_us': [native - after - 15625, native - before + 15625]}) | |
| 115 | (output / 'clocks.json').write_text(json.dumps(clocks, indent=2)) | |
| 116 | sequences = [action(client, 'stress', wait=False, actor=i, prefix=prefixes[i], operations=operations, seed=seed + 10000 + i, sync_every=sync_every, edit=edit) | |
| 117 | for i, client in enumerate(clients)] | |
| 118 | for client, sequence in zip(clients, sequences): | |
| 119 | deadline = time.monotonic() + 60 | |
| 120 | while time.monotonic() < deadline: | |
| 121 | result = windows.do_cmd(f'if exist C:\\one-tests\\runs\\capture\\outbox\\{sequence}\\ready echo ready', target=client['name']) | |
| 122 | if 'ready' in result.get('stdout', ''): break | |
| 123 | time.sleep(.1) | |
| 124 | else: raise TimeoutError('Native stress client did not reach the barrier') | |
| 125 | folder = output / 'rust' | |
| 126 | folder.mkdir() | |
| 127 | start = folder / 'start' | |
| 128 | with running_clients(folder, shared / 'synthetic.one', rust_writers, rust_readers, operations, seed, edit=edit) as processes: | |
| 129 | (shared / 'stress-start').write_text('start') | |
| 130 | for client, sequence in zip(clients, sequences): | |
| 131 | deadline = time.monotonic() + 60 | |
| 132 | while time.monotonic() < deadline: | |
| 133 | result = windows.do_cmd(f'if exist C:\\one-tests\\runs\\capture\\outbox\\{sequence}\\editing echo editing', target=client['name']) | |
| 134 | if 'editing' in result.get('stdout', ''): break | |
| 135 | time.sleep(.1) | |
| 136 | else: raise TimeoutError('Native stress client did not acknowledge its first edit') | |
| 137 | start.touch() | |
| 138 | for client, sequence in zip(clients, sequences): | |
| 139 | wait_action(client, sequence, 'stress') | |
| 140 | for client, clock in zip(clients, clocks): | |
| 141 | before = time.time_ns() // 1000 | |
| 142 | native = windows.do_health(client['name'])['utc_us'] | |
| 143 | after = time.time_ns() // 1000 | |
| 144 | clock['after_native_minus_host_us'] = [native - after - 15625, native - before + 15625] | |
| 145 | (output / 'clocks.json').write_text(json.dumps(clocks, indent=2)) | |
| 146 | rust = {actor: [json.loads(line) for line in (folder / f'{actor}.jsonl').read_text().splitlines()] for actor in processes} | |
| 147 | commits, expected_rust = edit_history(rust, operations, edit) | |
| 148 | assert len(commits) == rust_writers * operations, 'Missing Rust acknowledgements' | |
| 149 | native_events = [] | |
| 150 | for i, (client, sequence) in enumerate(zip(clients, sequences)): | |
| 151 | local = client['folder'] / 'stress-events.jsonl' | |
| 152 | result = windows.do_get(f'C:\\one-tests\\runs\\capture\\outbox\\{sequence}\\events.jsonl', local, client['name']) | |
| 153 | if result.get('error'): raise RuntimeError(str(result)) | |
| 154 | events = [json.loads(line) for line in local.read_text(encoding='utf-8-sig').splitlines()] | |
| 155 | prefixes[i] = native_history(events, i, operations, edit) | |
| 156 | native_events.append(events) | |
| 157 | expected = [expected_rust, *prefixes] | |
| 158 | for client in clients: wait_text(client, expected) | |
| 159 | checkpoint('stress-final') | |
| 160 | model = json.loads((output / 'stress-final/model/document.json').read_text()) | |
| 161 | paragraphs = [n['kind']['text'] for _, _, revision, page in ordered_pages(model) | |
| 162 | for _, n in walk(revision, page) if n['kind']['type'] == 'RichText'] | |
| 163 | assert sorted(paragraphs) == sorted(expected), 'Final shared state lost, duplicated or added unrecorded content' | |
| 164 | if edit: | |
| 165 | resolved = json.loads((output / 'stress-final/model/text.json').read_text()) | |
| 166 | for i, events in enumerate(native_events): | |
| 167 | runs, = [resolved[sid][rid][oid] for sid, rid, revision, page in ordered_pages(model) | |
| 168 | for oid, node in walk(revision, page) | |
| 169 | if node['kind']['type'] == 'RichText' and node['kind']['text'] == prefixes[i]] | |
| 170 | for run in runs: | |
| 171 | for field in ('bold', 'italic'): | |
| 172 | assert bool(run['format'][field]) == events[-1][field], 'Final native formatting differs from its last edit' | |
| 173 | reads = [e for events in rust.values() for e in events if e['event'] == 'read'] | |
| 174 | overlap = 0 | |
| 175 | for events, clock in zip(native_events, clocks): | |
| 176 | low = min(clock['native_minus_host_us'][0], clock['after_native_minus_host_us'][0]) | |
| 177 | high = max(clock['native_minus_host_us'][1], clock['after_native_minus_host_us'][1]) | |
| 178 | for native in events: | |
| 179 | latest_start = (native['update_started_ticks'] - 621355968000000000) // 10 - low | |
| 180 | earliest_end = (native['updated_ticks'] - 621355968000000000) // 10 - high | |
| 181 | overlap += sum(max(latest_start, rust['started_us']) < min(earliest_end, rust['finished_us']) for rust in commits) | |
| 182 | result = {'native_writers': len(clients), 'rust_writers': rust_writers, 'rust_readers': rust_readers, | |
| 183 | 'sync_every': sync_every, 'edit': edit, 'seed': seed, 'native_edits': operations * len(clients), 'rust_commits': len(commits), 'rust_reads': len(reads), | |
| 184 | 'clock_bounded_native_rust_call_overlaps': overlap, 'converged_paragraphs': len(expected)} | |
| 185 | (output / 'result.json').write_text(json.dumps(result, indent=2)) | |
| 186 | assert overlap, 'No native/Rust call overlap established within clock uncertainty' | |
| 187 | print(json.dumps(result), flush=True) | |
| 188 | ||
| 189 | ||
| 190 | if __name__ == '__main__': | |
| 191 | import argparse | |
| 192 | from pathlib import Path | |
| 193 | ||
| 194 | parser = argparse.ArgumentParser(description='Check a fresh native capture against concurrent editing intents.') | |
| 195 | parser.add_argument('run', type=Path) | |
| 196 | parser.add_argument('capture', type=Path) | |
| 197 | args = parser.parse_args() | |
| 198 | print(json.dumps(verify_capture(args.run, args.capture), indent=2)) |
tools/native_xml.py created+39| ... | ... | @@ -0,0 +1,39 @@ |
| 1 | from html.parser import HTMLParser | |
| 2 | import xml.etree.ElementTree as ET | |
| 3 | ||
| 4 | ns = {'one': 'http://schemas.microsoft.com/office/onenote/2010/onenote'} | |
| 5 | ||
| 6 | ||
| 7 | class Text(HTMLParser): | |
| 8 | def __init__(self, html): | |
| 9 | super().__init__() | |
| 10 | self.parts = [] | |
| 11 | self.links = [] | |
| 12 | self.after_br = False | |
| 13 | self.feed(html) | |
| 14 | ||
| 15 | def handle_data(self, data): | |
| 16 | if self.after_br: | |
| 17 | data = data.removeprefix('\n') | |
| 18 | self.after_br = False | |
| 19 | self.parts.append(data) | |
| 20 | ||
| 21 | def handle_starttag(self, tag, attrs): | |
| 22 | if tag == 'br': | |
| 23 | self.parts.append('\n') | |
| 24 | self.after_br = True | |
| 25 | if tag == 'a': | |
| 26 | self.links.extend(value for key, value in attrs if key == 'href') | |
| 27 | ||
| 28 | ||
| 29 | def texts(page): | |
| 30 | return [''.join(Text(node.text or '').parts) for node in page.findall('.//one:T', ns)] | |
| 31 | ||
| 32 | ||
| 33 | def pages(directory): | |
| 34 | return [ET.parse(p).getroot() for p in sorted(directory.glob('page-*.xml'))] | |
| 35 | ||
| 36 | ||
| 37 | def project_text(text): | |
| 38 | """Native HTML expands tabs to eight NBSPs and emits stored CR as a line break.""" | |
| 39 | return text.replace('\t', '\u00a0' * 8).replace('\r', '\n') |
tools/notebook_report.py created+464| ... | ... | @@ -0,0 +1,464 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Export a copied notebook to an offline, read-only document report.""" | |
| 3 | import argparse | |
| 4 | from collections import Counter | |
| 5 | from datetime import datetime, timedelta, timezone | |
| 6 | import hashlib | |
| 7 | from html import escape as esc | |
| 8 | import json | |
| 9 | from io import BytesIO | |
| 10 | from pathlib import Path, PureWindowsPath | |
| 11 | from PIL import Image | |
| 12 | import xml.etree.ElementTree as ET | |
| 13 | from native_xml import ns | |
| 14 | import subprocess | |
| 15 | from urllib.parse import urlsplit | |
| 16 | from zoneinfo import ZoneInfo | |
| 17 | ||
| 18 | from document_model import DEFAULT_CONTEXT, EXPORTER, ordered_pages, version_pages, view, walk | |
| 19 | ||
| 20 | ROOT = Path(__file__).resolve().parent.parent | |
| 21 | ||
| 22 | ||
| 23 | def hyperlink(fragment, target): | |
| 24 | if urlsplit(target).scheme.lower() in ('http', 'https', 'mailto', 'onenote'): | |
| 25 | return '<a href="' + esc(target) + '" rel="noreferrer">' + fragment + '</a>' | |
| 26 | return fragment + ' <span class="meta">(' + esc(target) + ')</span>' | |
| 27 | ||
| 28 | ||
| 29 | def color(value): | |
| 30 | if value is None or value >> 24: | |
| 31 | return None | |
| 32 | return '#' + ''.join(f'{value >> shift & 255:02x}' for shift in (0, 8, 16)) | |
| 33 | ||
| 34 | ||
| 35 | def css(fmt): | |
| 36 | rules = [] | |
| 37 | for field, prop, yes, no in [('bold', 'font-weight', 'bold', 'normal'), | |
| 38 | ('italic', 'font-style', 'italic', 'normal')]: | |
| 39 | if fmt.get(field) is not None: | |
| 40 | rules.append(f'{prop}:{yes if fmt[field] else no}') | |
| 41 | decorations = [v for k, v in [('underline', 'underline'), ('strike', 'line-through')] if fmt.get(k)] | |
| 42 | if decorations: | |
| 43 | rules.append('text-decoration:' + ' '.join(decorations)) | |
| 44 | for field, prop in [('font', 'font-family'), ('font_size', 'font-size'), | |
| 45 | ('color', 'color'), ('highlight', 'background-color')]: | |
| 46 | value = fmt.get(field) | |
| 47 | if value is not None: | |
| 48 | if field == 'font': | |
| 49 | fallback = 'monospace' if value in ('Consolas', 'Courier New', 'Lucida Console') else 'serif' if value in ('Times New Roman', 'Cambria', 'Georgia') else 'sans-serif' | |
| 50 | value = json.dumps(value) + ',' + fallback | |
| 51 | else: | |
| 52 | value = f'{value:g}pt' if field == 'font_size' else color(value) | |
| 53 | if value: | |
| 54 | rules.append(f'{prop}:{value}') | |
| 55 | for field, prop in [('space_before', 'margin-top'), ('space_after', 'margin-bottom')]: | |
| 56 | if fmt.get(field) is not None: | |
| 57 | rules.append(f'{prop}:{fmt[field]:g}pt') | |
| 58 | if fmt.get('alignment') is not None: | |
| 59 | rules.append('text-align:' + {0: 'left', 1: 'center', 2: 'right'}.get(fmt['alignment'], 'start')) | |
| 60 | if fmt.get('line_spacing'): | |
| 61 | rules.append(f'line-height:max(1.5em,{fmt["line_spacing"]:g}pt)') | |
| 62 | if fmt.get('rtl'): | |
| 63 | rules.append('direction:rtl') | |
| 64 | return ';'.join(rules) | |
| 65 | ||
| 66 | ||
| 67 | def html_page(title, nav, body): | |
| 68 | return '''<!doctype html><html lang="en"><meta charset="utf-8"> | |
| 69 | <meta name="viewport" content="width=device-width,initial-scale=1"> | |
| 70 | <meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self'; base-uri 'none'"> | |
| 71 | <title>''' + esc(title) + '''</title><style> | |
| 72 | *{box-sizing:border-box}body{margin:0;color:#000;background:#fff;font:15px/1.5 system-ui,sans-serif}a{color:#175bb2}nav{position:fixed;inset:0 auto 0 0;width:240px;overflow:auto;background:#f5f6f7;padding:20px}nav a{display:block;padding:3px 0;overflow-wrap:anywhere}nav h2{font-size:14px;margin:20px 0 4px}main{margin-left:240px;padding:30px 40px;max-width:1250px}h1{font-size:28px;line-height:1.2}h2{font-size:18px}p{margin:6px 0}.outline{margin:24px 0;border-top:1px solid #d9dde2;padding-top:12px}.location,.meta{font:12px/1.5 system-ui;color:#666;margin:6px 0}.paragraph{min-height:1.3em;position:relative;overflow-wrap:anywhere}.nested{margin-left:24px}.text{white-space:pre-wrap}.tag{display:inline-block;font:12px system-ui;padding:2px 5px;border:1px solid #aaa;border-radius:3px;margin-right:5px}.list-marker{display:inline-block;min-width:22px;margin-left:-22px}.listed{margin-left:22px}img.content{max-width:100%;height:auto;vertical-align:top}figure{margin:12px 0}figcaption{font-size:12px;color:#666}table{border-collapse:collapse;margin:8px 0;max-width:100%}td{border:1px solid #bbb;padding:5px 8px;vertical-align:top;min-width:30px}table.no-borders td{border-color:transparent}.opaque{border:1px dashed #9aa2ad;padding:12px;margin:12px 0;background:#f7f8fa}details{margin:14px 0}summary{cursor:pointer;font:13px system-ui}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.4 ui-monospace,monospace;max-height:560px;overflow:auto}.page-link{padding-left:12px}code{font-size:12px}.references a{margin-right:14px}@media(max-width:750px){nav{position:static;width:auto;max-height:220px}main{margin:0;padding:20px}}@media print{nav{display:none}main{margin:0}details{display:none}} | |
| 73 | </style><nav>''' + nav + '</nav><main>' + body + '</main></html>' | |
| 74 | ||
| 75 | ||
| 76 | class Page: | |
| 77 | def __init__(self, section, sid, rid): | |
| 78 | self.section = section | |
| 79 | self.space = section['document']['spaces'][sid]['revisions'][rid] | |
| 80 | self.text = section['text'][sid][rid] | |
| 81 | self.counts = Counter() | |
| 82 | self.numbering = {} | |
| 83 | self.has_paragraph = False | |
| 84 | self.active = set() | |
| 85 | ||
| 86 | def asset(self, container): | |
| 87 | if container is None: | |
| 88 | return None | |
| 89 | node = self.space['nodes'][container] | |
| 90 | if node['kind']['type'] != 'File': | |
| 91 | raise ValueError('The asset container is not a file object.') | |
| 92 | return self.section['assets'].get(json.dumps(node['kind']['reference'], sort_keys=True)) | |
| 93 | ||
| 94 | def render(self, oid, depth=0, level=0): | |
| 95 | if oid in self.active or depth > 256: | |
| 96 | raise ValueError('The content graph is cyclic or exceeds the report depth limit.') | |
| 97 | self.active.add(oid) | |
| 98 | node = self.space['nodes'][oid] | |
| 99 | kind = node['kind']; typ = kind['type'] | |
| 100 | self.counts[typ] += 1 | |
| 101 | children = lambda refs: ''.join(self.render(x, depth + 1, level) for x in refs) | |
| 102 | tags = '' | |
| 103 | tag_format = {} | |
| 104 | for tag in node['tags']: | |
| 105 | definition = self.space['nodes'][tag['definition']]['kind'] if tag['definition'] else {} | |
| 106 | label = definition.get('label') or 'Task' | |
| 107 | if not tag['status'] & 2: | |
| 108 | for field in ('color', 'highlight'): | |
| 109 | if color(definition.get(field)): | |
| 110 | tag_format.setdefault(field, definition[field]) | |
| 111 | if tag['due']: | |
| 112 | label += ' · Due ' + datetime.fromtimestamp(tag['due'] + 315532800, timezone.utc).strftime('%Y-%m-%d') | |
| 113 | if tag['status'] & 2: | |
| 114 | label += ' · Disabled' | |
| 115 | tags += '<span class="tag" title="' + esc(json.dumps(tag)) + '">' + (('☑ ' if tag['status'] & 1 else '☐ ') if definition.get('shape') == 3 or tag['status'] & 4 else '') + esc(label) + '</span>' | |
| 116 | if typ == 'RichText': | |
| 117 | body = '' | |
| 118 | structured_math = any(c in kind['text'] for c in '\ufdd0\ufdee\ufdef') | |
| 119 | equation = False | |
| 120 | for run in self.text[oid]: | |
| 121 | if run['format']['hidden']: | |
| 122 | continue | |
| 123 | if structured_math and run['format'].get('math'): | |
| 124 | if not equation: | |
| 125 | body += '<span class="meta">[Equation · see native reference]</span>' | |
| 126 | equation = True | |
| 127 | continue | |
| 128 | equation = False | |
| 129 | style = {**run['format'], **tag_format} | |
| 130 | if (style['superscript'] or style['subscript']) and style['font_size'] is not None: | |
| 131 | style['font_size'] *= 2 / 3 | |
| 132 | fragment = '<span style="' + esc(css(style)) + '">' + esc(run['text']) + '</span>' | |
| 133 | if run['format']['superscript']: | |
| 134 | fragment = '<sup>' + fragment + '</sup>' | |
| 135 | if run['format']['subscript']: | |
| 136 | fragment = '<sub>' + fragment + '</sub>' | |
| 137 | if run['link']: | |
| 138 | fragment = hyperlink(fragment, run['link']) | |
| 139 | body += fragment | |
| 140 | body = tags + '<span class="text">' + body + '</span>' | |
| 141 | elif typ == 'Paragraph': | |
| 142 | body = children(node['content']) | |
| 143 | marker = '' | |
| 144 | for list_id in kind['lists']: | |
| 145 | item = self.space['nodes'][list_id]['kind'] | |
| 146 | fmt = item['format'] or '' | |
| 147 | if '\ufffd' in fmt: | |
| 148 | position = fmt.index('\ufffd'); style = ord(fmt[position + 1]) | |
| 149 | key = (fmt, level) | |
| 150 | value = item['restart'] if item['restart'] is not None else self.numbering.get(key, 0) + 1 | |
| 151 | self.numbering[key] = value | |
| 152 | number = str(value) | |
| 153 | if style in (1, 2): | |
| 154 | number = ''; rest = value | |
| 155 | for quantity, letters in [(1000, 'M'), (900, 'CM'), (500, 'D'), (400, 'CD'), (100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'), (10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I')]: | |
| 156 | times, rest = divmod(rest, quantity) | |
| 157 | number += letters * times | |
| 158 | if style == 2: number = number.lower() | |
| 159 | elif style in (3, 4): | |
| 160 | number = ''; rest = value | |
| 161 | while rest: | |
| 162 | rest, digit = divmod(rest - 1, 26) | |
| 163 | number = chr(65 + digit) + number | |
| 164 | if style == 4: number = number.lower() | |
| 165 | elif style != 0: | |
| 166 | raise ValueError(f'Number format {style} requires interpretation before report generation.') | |
| 167 | marker += fmt[:position] + number + fmt[position + 2:] | |
| 168 | else: | |
| 169 | marker += {1: '•', 2: '◦', 3: '●', 4: '○', 5: '◉', 6: '◎', 7: '▪', 8: '▫', 9: '■', 10: '□', 11: '▸', 12: '▶', 13: '◇', 14: '♢', 15: '◆', 16: '❖', 17: '★', 18: '☆', 19: '☀', 20: '>', 21: '→', 22: '⇒', 23: '⇨', 24: '*', 25: '-', 26: '–', 27: '—'}.get(item['bullet'], fmt) | |
| 170 | if marker: | |
| 171 | body = '<span class="list-marker">' + esc(marker) + '</span>' + body | |
| 172 | fmt = node['format'] | |
| 173 | if kind['paragraph_style']: | |
| 174 | parent = self.space['nodes'][kind['paragraph_style']]['format'] | |
| 175 | fmt = {k: v if v is not None else parent[k] for k, v in fmt.items()} | |
| 176 | for child in node['content']: | |
| 177 | if child in self.text and self.text[child]: | |
| 178 | resolved = self.text[child][0]['format'] | |
| 179 | fmt = {**fmt, **{k: resolved[k] for k in ('alignment', 'rtl', 'space_before', 'space_after', 'line_spacing') if resolved[k] is not None}} | |
| 180 | break | |
| 181 | if not self.has_paragraph: | |
| 182 | fmt = {**fmt, 'space_before': None} | |
| 183 | self.has_paragraph = True | |
| 184 | body = '<div class="paragraph' + (' listed' if marker else '') + '" style="' + esc(css(fmt)) + '">' + tags + body + '</div>' | |
| 185 | if node['children']: | |
| 186 | child_level = node['child_level'] or 1 | |
| 187 | descendants = '<div class="nested" style="margin-left:' + str(child_level * 24) + 'px">' + ''.join(self.render(x, depth + 1, level + child_level) for x in node['children']) + '</div>' | |
| 188 | state = kind.get('collapse_state') | |
| 189 | if state == 1: | |
| 190 | descendants = '<details><summary>Collapsed paragraphs</summary>' + descendants + '</details>' | |
| 191 | elif state not in (None, 0): | |
| 192 | descendants = '<div class="opaque">Uninterpreted collapse state: ' + str(state) + '</div>' + descendants | |
| 193 | body += descendants | |
| 194 | elif typ in ('Page', 'Title', 'Outline'): | |
| 195 | if typ == 'Outline': | |
| 196 | previous = self.numbering, self.has_paragraph | |
| 197 | self.numbering, self.has_paragraph = {}, False | |
| 198 | body = children(node['structure'] + node['content'] + node['children']) | |
| 199 | if typ == 'Outline': | |
| 200 | self.numbering, self.has_paragraph = previous | |
| 201 | if typ == 'Outline' and node['layout']['x'] is not None: | |
| 202 | values = ', '.join(f'{k} {v:g} pt' for k, v in node['layout'].items() if v is not None) | |
| 203 | body = '<section class="outline"><div class="location">' + esc(values) + '</div>' + body + '</section>' | |
| 204 | elif typ == 'Title': | |
| 205 | body = '<header>' + body + '</header>' | |
| 206 | elif typ == 'OutlineGroup': | |
| 207 | child_level = node['child_level'] or 1 | |
| 208 | body = '<div class="nested" style="margin-left:' + str(child_level * 24) + 'px">' + ''.join(self.render(x, depth + 1, level + child_level) for x in node['children']) + '</div>' | |
| 209 | elif typ == 'Table': | |
| 210 | cols = ''.join(f'<col style="width:{width:g}pt">' if kind['locked'] and kind['locked'][i] else '<col>' for i, width in enumerate(kind['widths'])) | |
| 211 | body = '<table class="' + ('no-borders' if kind['borders'] is False else '') + '"><colgroup>' + cols + '</colgroup>' + children(node['children']) + '</table>' | |
| 212 | elif typ == 'Row': | |
| 213 | body = '<tr>' + children(node['children']) + '</tr>' | |
| 214 | elif typ == 'Cell': | |
| 215 | shade = color(kind['shading']) | |
| 216 | body = '<td' + (' style="background:' + shade + '"' if shade else '') + '>' + children(node['children']) + '</td>' | |
| 217 | elif typ == 'Image': | |
| 218 | asset = self.asset(kind['container']) | |
| 219 | if asset: | |
| 220 | width = node['layout']['max_width'] if node['layout']['max_width'] is not None else kind['picture_width'] | |
| 221 | height = node['layout']['max_height'] if node['layout']['max_height'] is not None else kind['picture_height'] | |
| 222 | style = f'width:{width:g}pt' if width is not None else '' | |
| 223 | if width and height: | |
| 224 | style += f';aspect-ratio:{width:g}/{height:g}' | |
| 225 | preview = self.section['previews'].get(asset, asset) | |
| 226 | if preview.endswith('.bin'): | |
| 227 | content = '<span class="opaque">Image format is uninterpreted; the original payload is retained in the asset references.</span>' | |
| 228 | else: | |
| 229 | content = '<img class="content" src="' + esc(preview) + '" style="' + style + '" alt="' + esc(kind['alt'] or '') + '">' | |
| 230 | body = '<figure>' + tags + (hyperlink(content, kind['link']) if kind['link'] else content) | |
| 231 | labels = [kind['filename']] if kind['filename'] else [] | |
| 232 | if kind['background']: labels.append('Background image') | |
| 233 | if kind['printout']: labels.append('Printout image') | |
| 234 | if labels: | |
| 235 | body += '<figcaption>' + esc(' · '.join(labels)) + '</figcaption>' | |
| 236 | body += '</figure>' | |
| 237 | if kind['background'] and not kind['printout']: | |
| 238 | body = '<details><summary>Background image' + (' · ' + esc(kind['filename']) if kind['filename'] else '') + '</summary>' + body + '</details>' | |
| 239 | else: | |
| 240 | body = '<div class="opaque">Image payload is external; its source reference is retained.</div>' | |
| 241 | elif typ == 'Attachment': | |
| 242 | asset = self.asset(kind['container']) | |
| 243 | label = kind['filename'] or 'Attached file' | |
| 244 | body = tags + ('<a download="' + esc(label) + '" href="' + esc(asset) + '">' + esc(label) + '</a>' if asset else esc(label) + ' · External payload') | |
| 245 | elif typ == 'Ink': | |
| 246 | body = '<div class="opaque">Ink drawing · Stroke data is retained in the document structure.</div>' | |
| 247 | else: | |
| 248 | body = '<div class="opaque">' + ('Encrypted content' if typ == 'Encrypted' else f'Uninterpreted content · JCID {node["jcid"]:#x}') + '<br><code>' + esc(oid) + '</code>' + children(node['structure'] + node['content'] + node['children']) + '</div>' | |
| 249 | for recording in node['media_ids']: | |
| 250 | matches = [n['kind'] for n in self.space['nodes'].values() | |
| 251 | if n['kind']['type'] == 'Attachment' and n['kind']['recording_id'] == recording] | |
| 252 | label = 'Recording reference' | |
| 253 | asset = None | |
| 254 | if len(matches) == 1: | |
| 255 | label = matches[0]['filename'] or label | |
| 256 | asset = self.asset(matches[0]['container']) | |
| 257 | if node['media_time_ms'] is not None: | |
| 258 | seconds = node['media_time_ms'] / 1000 | |
| 259 | label += f' · {seconds:g} s' | |
| 260 | body += '<div class="meta">' + ('<a href="' + esc(asset) + '" download>' + esc(label) + '</a>' if asset else esc(label)) + '</div>' | |
| 261 | self.active.remove(oid) | |
| 262 | return '<div data-object="' + esc(oid) + '">' + body + '</div>' if typ not in ('RichText', 'Row', 'Cell') else body | |
| 263 | ||
| 264 | ||
| 265 | def generate(source, destination, native=None, versions=(), zone=timezone.utc): | |
| 266 | source = source.resolve(strict=True) | |
| 267 | if destination.resolve().is_relative_to(source): | |
| 268 | raise ValueError('Choose an export directory outside the source notebook.') | |
| 269 | destination.mkdir(parents=True, exist_ok=False) | |
| 270 | (destination / 'model').mkdir(); (destination / 'assets').mkdir() | |
| 271 | sections = []; tocs = {}; manifest = [] | |
| 272 | for index, path in enumerate(sorted(p for p in source.rglob('*') if p.suffix.lower() in ('.one', '.onetoc2'))): | |
| 273 | relative = path.relative_to(source) | |
| 274 | before = path.read_bytes() | |
| 275 | manifest.append({'path': relative.as_posix(), 'sha256': hashlib.sha256(before).hexdigest(), 'bytes': len(before)}) | |
| 276 | exported = destination / 'model' / str(index) | |
| 277 | subprocess.run([EXPORTER, path, exported], check=True) | |
| 278 | document = json.loads((exported / 'document.json').read_text()) | |
| 279 | if path.read_bytes() != before: | |
| 280 | raise ValueError('A source file changed during export.') | |
| 281 | if path.suffix.lower() == '.onetoc2': | |
| 282 | _, root = view(document, document['root']) | |
| 283 | tocs[relative.parent] = [root['nodes'][oid]['kind'] for oid in root['nodes'][root['roots']['1']]['kind']['entries']] | |
| 284 | assets = {} | |
| 285 | previews = {} | |
| 286 | image_references = { | |
| 287 | json.dumps(revision['nodes'][node['kind']['container']]['kind']['reference'], sort_keys=True) | |
| 288 | for space in document['spaces'].values() for revision in space['revisions'].values() | |
| 289 | for node in revision['nodes'].values() | |
| 290 | if node['kind']['type'] == 'Image' and node['kind']['container'] is not None | |
| 291 | } | |
| 292 | rows = json.loads((exported / 'assets.json').read_text()) | |
| 293 | for asset in rows: | |
| 294 | original = exported / asset['path']; data = original.read_bytes() | |
| 295 | extension = '.png' if data.startswith(b'\x89PNG') else '.jpg' if data.startswith(b'\xff\xd8') else '.gif' if data.startswith(b'GIF8') else '.bmp' if data.startswith(b'BM') else '.tiff' if data.startswith((b'II*\0', b'MM\0*')) else '.bin' | |
| 296 | name = hashlib.sha256(data).hexdigest() + extension | |
| 297 | target = destination / 'assets' / name | |
| 298 | if target.exists(): | |
| 299 | original.unlink() | |
| 300 | else: | |
| 301 | original.rename(target) | |
| 302 | asset['path'] = '../../assets/' + name | |
| 303 | reference = json.dumps(asset['reference'], sort_keys=True) | |
| 304 | assets[reference] = 'assets/' + name | |
| 305 | if extension == '.tiff' and reference in image_references: | |
| 306 | preview = name + '.png' | |
| 307 | with Image.open(BytesIO(data)) as image: | |
| 308 | if image.n_frames != 1: | |
| 309 | raise ValueError('Multipage TIFF requires frame interpretation before report generation.') | |
| 310 | image.convert('RGBA').save(destination / 'assets' / preview) | |
| 311 | previews['assets/' + name] = 'assets/' + preview | |
| 312 | (exported / 'assets').rmdir() | |
| 313 | (exported / 'assets.json').write_text(json.dumps(rows, indent=2)) | |
| 314 | if path.suffix.lower() == '.one': | |
| 315 | sections.append({'path': relative, 'export': exported.relative_to(destination), 'document': document, | |
| 316 | 'text': json.loads((exported / 'text.json').read_text()), 'assets': assets, 'previews': previews}) | |
| 317 | def order(section): | |
| 318 | path = section['path']; entries = tocs.get(path.parent, []) | |
| 319 | entry = next((entry for entry in entries if entry['identity'] == section['document']['file_id']), None) | |
| 320 | result = []; parent = Path('.') | |
| 321 | for part in path.parts[:-1]: | |
| 322 | group = next((item for item in tocs.get(parent, []) if item['filename'] == part), None) | |
| 323 | result.append((group['order'] if group and group['order'] is not None else 0xffffffff, part)) | |
| 324 | parent /= part | |
| 325 | result.append((entry['order'] if entry and entry['order'] is not None else 0xffffffff, path.name)) | |
| 326 | return result | |
| 327 | sections.sort(key=order) | |
| 328 | pages = []; locked_sections = []; histories = {}; nav = '<a href="index.html">Notebook review</a>' | |
| 329 | for section in sections: | |
| 330 | name = section['path'].stem | |
| 331 | nav += '<h2>' + esc(str(section['path'].parent) + ' / ' + name) + '</h2>' | |
| 332 | _, root_space = view(section['document'], section['document']['root']) | |
| 333 | if root_space['nodes'][root_space['roots']['1']]['kind']['type'] == 'Encrypted': | |
| 334 | locked_sections.append(str(section['path'])) | |
| 335 | nav += '<p>Locked section · Page count unavailable</p><a href="' + section['export'].as_posix() + '/document.json">Encrypted structure</a>' | |
| 336 | continue | |
| 337 | ordinary = list(ordered_pages(section['document'])) | |
| 338 | known = {(sid, rid, oid) for sid, rid, _, oid in ordinary} | |
| 339 | additional = [(sid, rid, revision, oid) for sid in section['document']['spaces'] | |
| 340 | for rid, revision in [view(section['document'], sid)] | |
| 341 | for oid, node in revision['nodes'].items() if node['kind']['type'] == 'Page' and (sid, rid, oid) not in known] | |
| 342 | historical = [] | |
| 343 | for sid, _, current, parent_oid in ordinary + additional: | |
| 344 | for context, rid, revision, oid, proxy in version_pages(section['document'], sid, current): | |
| 345 | historical.append((sid, context, rid, revision, oid)) | |
| 346 | modified = proxy['kind']['modified_filetime'] | |
| 347 | histories[(section['path'], sid, context, oid)] = { | |
| 348 | 'modified': (datetime(1601, 1, 1, tzinfo=timezone.utc) + timedelta(microseconds=modified // 10)).astimezone(zone).isoformat() if modified is not None else None, | |
| 349 | 'source': (section['path'], sid, DEFAULT_CONTEXT, parent_oid), | |
| 350 | } | |
| 351 | if not ordinary and not additional: | |
| 352 | nav += '<p>Empty section</p>' | |
| 353 | current_pages = [(sid, DEFAULT_CONTEXT, rid, revision, oid) for sid, rid, revision, oid in ordinary + additional] | |
| 354 | for ordinal, (sid, context, rid, space, oid) in enumerate(current_pages + historical): | |
| 355 | category = 'Historical version' if ordinal >= len(ordinary) + len(additional) else 'Additional stored page' if ordinal >= len(ordinary) else 'Recycle bin' if 'OneNote_RecycleBin' in section['path'].parts else 'Page' | |
| 356 | metadata = space['nodes'].get(space['roots'].get('2'), {}).get('kind', {}) | |
| 357 | if sid == root_space['nodes'][root_space['roots']['1']]['kind'].get('default_template'): | |
| 358 | if metadata.get('type') != 'TemplateMetadata': | |
| 359 | raise ValueError('The default page template has unrecognized metadata.') | |
| 360 | category = 'Default page template' | |
| 361 | titles = [n for root in space['nodes'][oid]['structure'] for _, n in walk(space, root) if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']] | |
| 362 | title = ' '.join(n['kind']['text'] for n in titles) or space['nodes'][oid]['kind']['alternate_title'] or metadata.get('title') or metadata.get('name') or 'Untitled page' | |
| 363 | filename = f'page-{len(pages):03}.html' | |
| 364 | if metadata.get('type') == 'ConflictMetadata': | |
| 365 | category = 'Conflict page' | |
| 366 | level = metadata.get('level') or 1 | |
| 367 | label = category + ' · ' + title if category in ('Additional stored page', 'Default page template', 'Conflict page', 'Historical version') else title | |
| 368 | version = histories.get((section['path'], sid, context, oid)) | |
| 369 | if version and version['modified']: | |
| 370 | label += ' · ' + version['modified'][:10] | |
| 371 | nav += '<a class="page-link" style="margin-left:' + str((level - 1) * 12) + 'px" href="' + filename + '">' + esc(label) + '</a>' | |
| 372 | pages.append((section, ordinal, sid, context, rid, oid, title, filename, category)) | |
| 373 | references = {} | |
| 374 | if native is not None: | |
| 375 | native = native.resolve(strict=True) | |
| 376 | captured = native.parent / 'notebook' | |
| 377 | if captured.exists(): | |
| 378 | hashes = {p.relative_to(captured).as_posix(): hashlib.sha256(p.read_bytes()).hexdigest() for p in captured.rglob('*') if p.is_file()} | |
| 379 | else: | |
| 380 | hashes = {item['path']: item['sha256'] for item in json.loads((native.parent / 'source.json').read_text())} | |
| 381 | if any(hashes.get(item['path']) != item['sha256'] for item in manifest): | |
| 382 | raise ValueError('The native capture does not describe these source files.') | |
| 383 | captures = {ET.parse(p).getroot().get('ID'): p.stem for p in native.glob('page-*.xml')} | |
| 384 | hierarchy = ET.parse(native / 'hierarchy.xml').getroot() | |
| 385 | for section in sections: | |
| 386 | relative = section['path'] | |
| 387 | matches = [node for node in hierarchy.findall('.//one:Section', ns) | |
| 388 | if PureWindowsPath(node.attrib['path']).parts[-len(relative.parts):] == relative.parts] | |
| 389 | if len(matches) != 1: | |
| 390 | raise ValueError('The native section association is ambiguous.') | |
| 391 | native_pages = matches[0].findall('one:Page', ns) | |
| 392 | for (sid, _, _, oid), page in zip(ordered_pages(section['document']), native_pages, strict=True): | |
| 393 | references[(relative, sid, DEFAULT_CONTEXT, oid)] = Path('reference') / captures[page.get('ID')] | |
| 394 | (destination / 'reference').symlink_to(native, target_is_directory=True) | |
| 395 | for index, capture in enumerate(versions): | |
| 396 | capture = capture.resolve(strict=True) | |
| 397 | config = json.loads((capture / 'version-ui.json').read_text()) | |
| 398 | matching = [section for section in sections if section['path'].name == Path(config['section']).name | |
| 399 | and hashlib.sha256((source / section['path']).read_bytes()).hexdigest() == config['source_sha256']] | |
| 400 | if len(matching) != 1: | |
| 401 | raise ValueError('The historical capture source association is ambiguous.') | |
| 402 | section, = matching | |
| 403 | captures = {ET.parse(p).getroot().get('ID'): p.stem for p in (capture / 'read').glob('page-*.xml')} | |
| 404 | directory = Path(f'reference-history-{index}') | |
| 405 | (destination / directory).symlink_to(capture / 'read', target_is_directory=True) | |
| 406 | for row in json.loads((capture / 'version-associations.json').read_text()): | |
| 407 | key = (section['path'], row['space'], row['context'], row['object']) | |
| 408 | rid, revision = view(section['document'], row['space'], row['context']) | |
| 409 | if key not in histories or rid != row['revision'] or revision['nodes'][row['object']]['kind']['type'] != 'Page': | |
| 410 | raise ValueError('The historical capture does not describe this page revision.') | |
| 411 | if key in references: | |
| 412 | raise ValueError('A page has multiple native reference captures.') | |
| 413 | references[key] = directory / captures[row['native_id']] | |
| 414 | accounting = [] | |
| 415 | source_pages = {(section['path'], conflict): filename | |
| 416 | for section, _, sid, _, rid, _, _, filename, category in pages if category != 'Historical version' | |
| 417 | for revision in [section['document']['spaces'][sid]['revisions'][rid]] | |
| 418 | for conflict in revision['nodes'][revision['roots']['1']]['spaces']} | |
| 419 | page_files = {(section['path'], sid, context, oid): filename for section, _, sid, context, _, oid, _, filename, _ in pages} | |
| 420 | for section, ordinal, sid, context, rid, oid, title, filename, category in pages: | |
| 421 | page = Page(section, sid, rid) | |
| 422 | body = '<div class="meta">' + esc(str(section['path'])) + ' · ' + category + ' ' + str(ordinal + 1) + '</div>' | |
| 423 | if not page.space['nodes'][oid]['structure']: | |
| 424 | body += '<h1>' + esc(title) + '</h1>' | |
| 425 | metadata = page.space['nodes'].get(page.space['roots'].get('2'), {}).get('kind', {}) | |
| 426 | if metadata.get('type') == 'ConflictMetadata' and metadata['author']: | |
| 427 | body += '<p class="meta">Conflicting author: ' + esc(metadata['author']) + '</p>' | |
| 428 | source_page = source_pages.get((section['path'], sid)) | |
| 429 | version = histories.get((section['path'], sid, context, oid)) | |
| 430 | if version: | |
| 431 | source_page = page_files[version['source']] | |
| 432 | if version['modified']: | |
| 433 | body += '<p class="meta">Version modified: ' + esc(version['modified']) + '</p>' | |
| 434 | if source_page: | |
| 435 | body += '<p><a href="' + source_page + '">Source page</a></p>' | |
| 436 | reference = references.get((section['path'], sid, context, oid)) | |
| 437 | if reference: | |
| 438 | body += '<p class="references">' | |
| 439 | for suffix, label in [('.pdf', 'Native PDF'), ('.png', 'Native screenshot'), ('.xml', 'Native XML')]: | |
| 440 | if (destination / reference.with_suffix(suffix)).exists(): | |
| 441 | body += '<a href="' + reference.with_suffix(suffix).as_posix() + '">' + label + '</a>' | |
| 442 | body += '</p>' | |
| 443 | body += page.render(oid) | |
| 444 | body += '<details><summary>Document structure and source identities</summary><pre>' + esc(json.dumps(page.space, indent=2, ensure_ascii=False)) + '</pre></details>' | |
| 445 | body += '<p class="references"><a href="' + section['export'].as_posix() + '/document.json">Document JSON</a><a href="' + section['export'].as_posix() + '/assets.json">Asset references</a></p>' | |
| 446 | (destination / filename).write_text(html_page(title, nav, body)) | |
| 447 | accounting.append({'section': str(section['path']), 'ordinal': ordinal, 'space': sid, 'revision': rid, 'object': oid, 'title': title, 'report': filename, 'category': category, 'context': context, 'version_modified': version['modified'] if version else None, 'source_report': source_page, 'native_reference': reference.as_posix() if reference else None, 'rendered': dict(page.counts)}) | |
| 448 | (destination / 'source.json').write_text(json.dumps(manifest, indent=2)) | |
| 449 | (destination / 'pages.json').write_text(json.dumps(accounting, indent=2, ensure_ascii=False)) | |
| 450 | intro = '<h1>Notebook review</h1><p>' + str(len(sections)) + ' sections · ' + str(len(pages)) + ' stored pages</p><p>Readable content follows the stored object order. Outline positions are shown in points. The document structure retains properties and identities that the readable view does not interpret.</p><p><a href="source.json">Source hashes</a> · <a href="pages.json">Page inventory</a></p>' | |
| 451 | if locked_sections: | |
| 452 | intro += '<p>Page counts are unavailable for locked sections: ' + esc(', '.join(locked_sections)) + '.</p>' | |
| 453 | (destination / 'index.html').write_text(html_page('Notebook review', nav, intro)) | |
| 454 | ||
| 455 | ||
| 456 | if __name__ == '__main__': | |
| 457 | parser = argparse.ArgumentParser(description=__doc__) | |
| 458 | parser.add_argument('source', type=Path) | |
| 459 | parser.add_argument('destination', type=Path) | |
| 460 | parser.add_argument('--native', type=Path, help='Associate a matching native capture directory.') | |
| 461 | parser.add_argument('--versions', type=Path, action='append', default=[], help='Associate a verified historical capture; repeat for each section.') | |
| 462 | parser.add_argument('--timezone', type=ZoneInfo, default=timezone.utc, help='Display historical timestamps in this time zone; default UTC.') | |
| 463 | args = parser.parse_args() | |
| 464 | generate(args.source, args.destination, args.native, args.versions, args.timezone) |
tools/onenote-trace created+212| ... | ... | @@ -0,0 +1,212 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """One timeline of what OneNote does to a .one on the share: file IO captured by | |
| 3 | Procmon on the Windows client, merged with the byte-range locks zenith reports.""" | |
| 4 | import argparse | |
| 5 | import calendar | |
| 6 | import csv | |
| 7 | import datetime | |
| 8 | import importlib.machinery | |
| 9 | import importlib.util | |
| 10 | import json | |
| 11 | import ntpath | |
| 12 | import os | |
| 13 | import re | |
| 14 | import subprocess | |
| 15 | import sys | |
| 16 | import time | |
| 17 | ||
| 18 | W7 = "/Users/clo/dev/one/tools/w7/mcp_win7.py" | |
| 19 | PML = r"C:\trace\out.pml" | |
| 20 | CSV = r"C:\trace\out.csv" | |
| 21 | LOCAL_CSV = "/tmp/onenote-trace.csv" | |
| 22 | TIME = re.compile(r"(\d+):(\d\d):(\d\d)(?:\.(\d+))?\s*([AaPp])?") | |
| 23 | TARGET = os.environ.get("WIN7_TARGET") | |
| 24 | ||
| 25 | ||
| 26 | def zenith(): | |
| 27 | """The sibling tool, imported for its ssh-agent discovery and BYTERANGE parsing.""" | |
| 28 | path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "zenith-locks") | |
| 29 | loader = importlib.machinery.SourceFileLoader("zenith_locks", path) | |
| 30 | mod = importlib.util.module_from_spec(importlib.util.spec_from_loader(loader.name, loader)) | |
| 31 | loader.exec_module(mod) | |
| 32 | mod.connect() | |
| 33 | return mod | |
| 34 | ||
| 35 | ||
| 36 | def win(*argv): | |
| 37 | command = [sys.executable, W7] | |
| 38 | if TARGET: | |
| 39 | command += ["--target", TARGET] | |
| 40 | p = subprocess.run(command + list(argv), capture_output=True, text=True) | |
| 41 | if p.returncode != 0: | |
| 42 | sys.exit((p.stderr.strip().splitlines() or ["Windows target is unreachable"])[-1]) | |
| 43 | return p | |
| 44 | ||
| 45 | ||
| 46 | def cmd(command): | |
| 47 | """(exit code, stdout) of `cmd.exe /c command` on the Windows target.""" | |
| 48 | p = win("cmd", command) | |
| 49 | code = re.search(r"exit=(\d+)", p.stderr) | |
| 50 | return (int(code.group(1)) if code else None), p.stdout | |
| 51 | ||
| 52 | ||
| 53 | def procmon_path(): | |
| 54 | """Procmon sits in the payload the agent runs from, wherever that was installed.""" | |
| 55 | vendor = ntpath.dirname(ntpath.dirname(json.loads(win("health").stdout)["python"])) | |
| 56 | return ntpath.join(vendor, "procmon", "Procmon64.exe") | |
| 57 | ||
| 58 | ||
| 59 | def win_clock(): | |
| 60 | """(epoch of wayback's local midnight, wayback's clock minus ours, round trip).""" | |
| 61 | before = time.time() | |
| 62 | _, out = cmd("wmic os get localdatetime /value") | |
| 63 | after = time.time() | |
| 64 | m = re.search(r"LocalDateTime=(\d{14})\.(\d{6})([+-]\d+)", out) | |
| 65 | if not m: | |
| 66 | sys.exit("could not read wayback's clock: %r" % out.strip()[:120]) | |
| 67 | local = datetime.datetime.strptime(m.group(1), "%Y%m%d%H%M%S") | |
| 68 | utc = int(m.group(3)) * 60 | |
| 69 | midnight = calendar.timegm(local.replace(hour=0, minute=0, second=0).timetuple()) - utc | |
| 70 | there = calendar.timegm(local.timetuple()) + int(m.group(2)) / 1e6 - utc | |
| 71 | return midnight, there - (before + after) / 2, after - before | |
| 72 | ||
| 73 | ||
| 74 | def zenith_clock(z): | |
| 75 | """(zenith's clock minus ours, round trip).""" | |
| 76 | before = time.time() | |
| 77 | out = subprocess.run(z.SSH + ["date +%s.%N"], capture_output=True, text=True) | |
| 78 | after = time.time() | |
| 79 | try: | |
| 80 | return float(out.stdout) - (before + after) / 2, after - before | |
| 81 | except ValueError: | |
| 82 | sys.exit("could not read zenith's clock: %r" % out.stdout.strip()[:120]) | |
| 83 | ||
| 84 | ||
| 85 | def poll_locks(z, seconds, want): | |
| 86 | """Lock transitions, stamped with our clock at the poll that first saw them. | |
| 87 | ||
| 88 | BYTERANGE carries no timestamp of its own, so the sample interval is the | |
| 89 | real resolution of these rows -- zenith's clock never enters the merge. | |
| 90 | """ | |
| 91 | events, samples, prev, first = [], [], set(), True | |
| 92 | end = time.time() + seconds | |
| 93 | while True: | |
| 94 | now = set(z.locks(z.status("BYTERANGE")[0])) | |
| 95 | at = time.time() | |
| 96 | samples.append(at) | |
| 97 | for sign, changed in (("-", prev - now), ("=" if first else "+", now - prev)): | |
| 98 | for share, name, _pid, kind, start, size in sorted(changed): | |
| 99 | if want and want.lower() not in name.lower(): | |
| 100 | continue | |
| 101 | events.append((at, "LOCK", sign + kind, | |
| 102 | "%s/%s" % (os.path.basename(share), os.path.basename(name)), | |
| 103 | start, size)) | |
| 104 | prev, first = now, False | |
| 105 | if at >= end: | |
| 106 | return events, samples | |
| 107 | ||
| 108 | ||
| 109 | def seconds_of_day(text): | |
| 110 | m = TIME.match(text.strip()) | |
| 111 | if not m: | |
| 112 | sys.exit("unparseable procmon timestamp %r" % text) | |
| 113 | hour, half = int(m.group(1)), m.group(5) | |
| 114 | if half: | |
| 115 | hour = hour % 12 + (12 if half in "Pp" else 0) | |
| 116 | return (hour * 3600 + int(m.group(2)) * 60 + int(m.group(3)) | |
| 117 | + float("0." + (m.group(4) or "0"))) | |
| 118 | ||
| 119 | ||
| 120 | def detail_num(detail, key): | |
| 121 | m = re.search(key + r":\s*([\d,]+)", detail) | |
| 122 | return int(m.group(1).replace(",", "")) if m else None | |
| 123 | ||
| 124 | ||
| 125 | def io_events(path, midnight, skew, want, start_sod): | |
| 126 | """Procmon rows for OneNote's accesses to .one files, on our clock.""" | |
| 127 | with open(path, newline="", encoding="utf-8-sig", errors="replace") as f: | |
| 128 | rows = list(csv.DictReader(f)) | |
| 129 | if not rows: | |
| 130 | return [] | |
| 131 | missing = {"Time of Day", "Process Name", "Operation", "Path", "Detail"} - set(rows[0]) | |
| 132 | if missing: | |
| 133 | sys.exit("procmon csv is missing columns: %s" % ", ".join(sorted(missing))) | |
| 134 | events = [] | |
| 135 | for r in rows: | |
| 136 | target = r["Path"] or "" | |
| 137 | if "ONENOTE" not in (r["Process Name"] or "").upper(): | |
| 138 | continue | |
| 139 | if not (target.upper().startswith("A:") or ".one" in target.lower()): | |
| 140 | continue | |
| 141 | if want and want.lower() not in target.lower(): | |
| 142 | continue | |
| 143 | detail = r["Detail"] or "" | |
| 144 | sod = seconds_of_day(r["Time of Day"]) | |
| 145 | if sod + 43200 < start_sod: | |
| 146 | sod += 86400 # Procmon logs a time of day with no date; the trace crossed midnight | |
| 147 | events.append((midnight + sod - skew, "IO", | |
| 148 | r["Operation"], ntpath.basename(target) or target, | |
| 149 | detail_num(detail, "Offset"), detail_num(detail, "Length"))) | |
| 150 | return events | |
| 151 | ||
| 152 | ||
| 153 | def render(events): | |
| 154 | for at, source, what, target, offset, size in sorted(events, key=lambda e: e[0]): | |
| 155 | span = hexes = "" | |
| 156 | if offset is not None and size is not None: | |
| 157 | span, hexes = "%10d +%-8d" % (offset, size), "(0x%x +0x%x)" % (offset, size) | |
| 158 | print((" %s %-4s %-26s %-24s %s %s" % | |
| 159 | (datetime.datetime.fromtimestamp(at).strftime("%H:%M:%S.%f")[:-3], | |
| 160 | source, what, target, span, hexes)).rstrip()) | |
| 161 | ||
| 162 | ||
| 163 | def trace(seconds, want): | |
| 164 | z = zenith() | |
| 165 | procmon = procmon_path() | |
| 166 | midnight, skew, win_slop = win_clock() | |
| 167 | zenith_skew, zenith_slop = zenith_clock(z) | |
| 168 | start_sod = time.time() + skew - midnight | |
| 169 | cmd(r"if not exist C:\trace mkdir C:\trace") | |
| 170 | cmd("del /q %s %s" % (PML, CSV)) | |
| 171 | win("spawn", '"%s" /AcceptEula /Quiet /Minimized /BackingFile %s' | |
| 172 | % (procmon, PML)) | |
| 173 | if cmd('"%s" /WaitForIdle' % procmon)[0]: | |
| 174 | sys.exit("procmon never started capturing on the Windows target") | |
| 175 | events, samples = poll_locks(z, seconds, want) | |
| 176 | cmd('"%s" /Terminate' % procmon) | |
| 177 | if cmd('"%s" /OpenLog %s /SaveAs %s' % (procmon, PML, CSV))[0]: | |
| 178 | sys.exit("procmon could not convert %s to csv" % PML) | |
| 179 | if os.path.exists(LOCAL_CSV): | |
| 180 | os.remove(LOCAL_CSV) # a stale csv here would merge as this run's trace | |
| 181 | win("get", CSV, LOCAL_CSV) | |
| 182 | if not os.path.exists(LOCAL_CSV) or not os.path.getsize(LOCAL_CSV): | |
| 183 | sys.exit("no csv came back from wayback; the trace is lost") | |
| 184 | io = io_events(LOCAL_CSV, midnight, skew, want, start_sod) | |
| 185 | ||
| 186 | print("onenote-trace %gs %s %d lock transitions, %d procmon rows" % | |
| 187 | (seconds, "file~%s" % want if want else "every .one and everything on A:", | |
| 188 | len(events), len(io))) | |
| 189 | print(" procmon times shifted %+.3fs onto this mac's clock (%s clock %+.3fs, " | |
| 190 | "measured to +-%.3fs)" % (-skew, TARGET or "wayback", skew, win_slop / 2)) | |
| 191 | print(" lock times are mac-stamped at observation, %.2fs mean sample interval; " | |
| 192 | "zenith's clock is %+.3fs (+-%.3fs) and does not enter the merge" % | |
| 193 | ((samples[-1] - samples[0]) / max(len(samples) - 1, 1), zenith_skew, zenith_slop / 2)) | |
| 194 | render(events + io) | |
| 195 | ||
| 196 | ||
| 197 | def main(): | |
| 198 | global TARGET | |
| 199 | ap = argparse.ArgumentParser(description=__doc__) | |
| 200 | ap.add_argument("seconds", type=float) | |
| 201 | ap.add_argument("--file", help="only rows whose path contains this") | |
| 202 | ap.add_argument("--target", help="Windows MCP target name") | |
| 203 | args = ap.parse_args() | |
| 204 | TARGET = args.target or TARGET | |
| 205 | try: | |
| 206 | trace(args.seconds, args.file) | |
| 207 | except KeyboardInterrupt: | |
| 208 | pass | |
| 209 | ||
| 210 | ||
| 211 | if __name__ == "__main__": | |
| 212 | main() |
tools/power_loss_native.py created+54| ... | ... | @@ -0,0 +1,54 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Cold-open the retained storage-interruption matrix with disposable OneNote VMs.""" | |
| 3 | import argparse | |
| 4 | from concurrent.futures import ThreadPoolExecutor | |
| 5 | import hashlib | |
| 6 | import json | |
| 7 | from pathlib import Path | |
| 8 | import runpy | |
| 9 | import subprocess | |
| 10 | import xml.etree.ElementTree as ET | |
| 11 | ||
| 12 | from native_runner import capture | |
| 13 | from document_model import EXPORTER, view | |
| 14 | ||
| 15 | ||
| 16 | def run(matrix, output, workers): | |
| 17 | cases = json.loads((matrix / 'native-cases.json').read_text()) | |
| 18 | output.mkdir(parents=True, exist_ok=False) | |
| 19 | compare = runpy.run_path(str(Path(__file__).with_name('verify-document.py')))['compare'] | |
| 20 | ||
| 21 | def verify(item): | |
| 22 | digest, name = item | |
| 23 | source = matrix / name / 'notebook' | |
| 24 | before = {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in source.iterdir()} | |
| 25 | changed, = [p for p in source.iterdir() if hashlib.md5(p.read_bytes()).hexdigest() == digest] | |
| 26 | destination = output / name | |
| 27 | capture(source, destination, pdf=True) | |
| 28 | compare(source, destination / 'read') | |
| 29 | if changed.suffix == '.onetoc2': | |
| 30 | document = json.loads(subprocess.check_output([EXPORTER, changed])) | |
| 31 | _, revision = view(document, document['root']) | |
| 32 | color = revision['nodes'][revision['roots']['1']]['kind']['color'] | |
| 33 | expected = '#' + int(color).to_bytes(4, 'little')[:3].hex().upper() | |
| 34 | assert ET.parse(destination / 'read/hierarchy.xml').getroot().get('color') == expected, 'Native notebook color differs from the persisted TOC' | |
| 35 | assert before == {p.name: hashlib.sha256(p.read_bytes()).hexdigest() for p in source.iterdir()} | |
| 36 | assert json.loads((destination / 'teardown.json').read_text())['absent'] | |
| 37 | (destination / 'verified.json').write_text(json.dumps({'source_sha256': before, 'native_comparison': True, 'vm_deleted': True}, indent=2)) | |
| 38 | print('Verified native recovery:', name, flush=True) | |
| 39 | return name | |
| 40 | ||
| 41 | with ThreadPoolExecutor(max_workers=workers) as pool: | |
| 42 | verified = list(pool.map(verify, cases.items())) | |
| 43 | (output / 'result.json').write_text(json.dumps({'cases': sorted(verified), 'native_comparison': True}, indent=2)) | |
| 44 | ||
| 45 | ||
| 46 | if __name__ == '__main__': | |
| 47 | parser = argparse.ArgumentParser(description=__doc__) | |
| 48 | parser.add_argument('matrix', type=Path) | |
| 49 | parser.add_argument('output', type=Path) | |
| 50 | parser.add_argument('--workers', type=int, default=2) | |
| 51 | args = parser.parse_args() | |
| 52 | if not 1 <= args.workers <= 4: | |
| 53 | parser.error('Choose one to four simultaneous captures.') | |
| 54 | run(args.matrix, args.output, args.workers) |
tools/random_edit_campaign.py created+145| ... | ... | @@ -0,0 +1,145 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Edit disposable notebook copies and check every changed document object.""" | |
| 3 | import argparse | |
| 4 | import copy | |
| 5 | import hashlib | |
| 6 | import json | |
| 7 | from pathlib import Path | |
| 8 | import shutil | |
| 9 | import stat | |
| 10 | import subprocess | |
| 11 | import tempfile | |
| 12 | ||
| 13 | from document_model import DEFAULT_CONTEXT, EXPORTER, ordered_pages, view, walk | |
| 14 | ||
| 15 | ROOT = Path(__file__).resolve().parent.parent | |
| 16 | EDITOR = ROOT / 'target/debug/examples/random_edit' | |
| 17 | ||
| 18 | ||
| 19 | def export(path): | |
| 20 | with tempfile.TemporaryDirectory() as temporary: | |
| 21 | output = Path(temporary) / 'model' | |
| 22 | subprocess.run([EXPORTER, path, output], check=True) | |
| 23 | return (json.loads((output / 'document.json').read_text()), | |
| 24 | json.loads((output / 'text.json').read_text()), | |
| 25 | sorted(hashlib.sha256(p.read_bytes()).hexdigest() for p in (output / 'assets').iterdir())) | |
| 26 | ||
| 27 | ||
| 28 | def verify(before, after, record): | |
| 29 | old, old_text, old_assets = before | |
| 30 | new, new_text, new_assets = after | |
| 31 | assert old_assets == new_assets, 'An edit changed embedded payload bytes' | |
| 32 | sid, oid = record['space'], record['object'] | |
| 33 | old_rid, previous = view(old, sid) | |
| 34 | new_rid, current = view(new, sid) | |
| 35 | expected_runs = copy.deepcopy(old_text[sid][old_rid][oid]) | |
| 36 | runs = previous['nodes'][oid]['kind']['runs'] | |
| 37 | start, end = record['range'] | |
| 38 | selected = max(i for i, run in enumerate(runs) if run['start'] <= start and end <= run['end']) | |
| 39 | offset = runs[selected]['start'] | |
| 40 | assert record['run_start'] == offset and record['run_before'] == expected_runs[selected]['text'], 'The CLI logged another insertion run' | |
| 41 | encoded = expected_runs[selected]['text'].encode('utf-16-le') | |
| 42 | prefix, suffix = encoded[:(start - offset) * 2], encoded[(end - offset) * 2:] | |
| 43 | expected_runs[selected]['text'] = prefix.decode('utf-16-le') + record['replacement'] + suffix.decode('utf-16-le') | |
| 44 | assert new_text[sid][new_rid][oid] == expected_runs, 'Text or inherited run formatting differs from the intended splice' | |
| 45 | expected = copy.deepcopy(old) | |
| 46 | space = expected['spaces'][sid] | |
| 47 | space['contexts'][DEFAULT_CONTEXT] = new_rid | |
| 48 | space['revisions'][new_rid] = copy.deepcopy(previous) | |
| 49 | if old_rid not in space['contexts'].values(): del space['revisions'][old_rid] | |
| 50 | node = space['revisions'][new_rid]['nodes'][oid] | |
| 51 | encoded = node['kind']['text'].encode('utf-16-le') | |
| 52 | node['kind']['text'] = encoded[:start * 2].decode('utf-16-le') + record['replacement'] + encoded[end * 2:].decode('utf-16-le') | |
| 53 | revision = space['revisions'][new_rid] | |
| 54 | page = revision['nodes'][record['page']] | |
| 55 | titles = [(key, n['kind']['text']) for key, n in walk(revision, record['page']) | |
| 56 | if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate'] | |
| 57 | and any(field['id'] == 0x88001cb4 for field in n['extra'][0])] | |
| 58 | assert len(titles) <= 1 | |
| 59 | title = titles[0][1].lstrip().split('\r')[0] if titles else '' | |
| 60 | if not title or titles[0][0] == oid: | |
| 61 | automatic = not title | |
| 62 | if automatic: | |
| 63 | body = copy.deepcopy(revision) if page['kind']['rtl'] else revision | |
| 64 | if page['kind']['rtl']: | |
| 65 | for item in body['nodes'].values(): | |
| 66 | if item['kind']['type'] == 'Row': item['children'].reverse() | |
| 67 | roots = sorted(page['children'], key=lambda key: (body['nodes'][key]['layout']['y'] or 0, | |
| 68 | -(body['nodes'][key]['layout']['x'] or 0) | |
| 69 | if page['kind']['rtl'] else body['nodes'][key]['layout']['x'] or 0)) | |
| 70 | candidates = [n['kind']['text'].strip().split('\r')[0].rstrip() | |
| 71 | for root in roots for _, n in walk(body, root) | |
| 72 | if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']] | |
| 73 | title = next((text for text in candidates if text), '') | |
| 74 | encoded_title = title.encode('utf-16-le') | |
| 75 | end = 510 | |
| 76 | if len(encoded_title) > end and 0xd800 <= int.from_bytes(encoded_title[end - 2:end], 'little') <= 0xdbff: end += 2 | |
| 77 | title = encoded_title[:end].decode('utf-16-le').rstrip() | |
| 78 | revision['nodes'][revision['roots']['2']]['kind']['title'] = title | |
| 79 | page['kind']['alternate_title'] = title if automatic else '' | |
| 80 | observed = copy.deepcopy(new) | |
| 81 | changed = observed['spaces'][sid]['revisions'][new_rid]['nodes'][oid] | |
| 82 | assert record['started_ms'] // 1000 - 315532800 <= changed['modified'] <= record['finished_ms'] // 1000 - 315532800, 'Modification time falls outside the edit interval' | |
| 83 | pending = [(record['page'], [])] | |
| 84 | ancestors = set() | |
| 85 | while pending: | |
| 86 | key, path = pending.pop() | |
| 87 | assert key not in path, 'Page content has a cycle' | |
| 88 | if key == oid: | |
| 89 | ancestors.update(path) | |
| 90 | else: | |
| 91 | parent = previous['nodes'][key] | |
| 92 | pending.extend((child, path + [key]) for child in parent['children'] + parent['content'] + parent['structure']) | |
| 93 | for key in ancestors: | |
| 94 | if previous['nodes'][key]['modified'] is not None: | |
| 95 | revision['nodes'][key]['modified'] = changed['modified'] | |
| 96 | del node['modified'], changed['modified'] | |
| 97 | del node['kind']['runs'], changed['kind']['runs'] | |
| 98 | assert expected == observed, 'An edit changed unrelated document structure, metadata or properties' | |
| 99 | ||
| 100 | ||
| 101 | def run(source, output, seed, rounds): | |
| 102 | source = source.resolve(strict=True) | |
| 103 | output = output.resolve() | |
| 104 | if output.is_relative_to(source): raise ValueError('Choose an output directory outside the source notebook.') | |
| 105 | output.mkdir(parents=True, exist_ok=False) | |
| 106 | notebook = output / 'notebook' | |
| 107 | shutil.copytree(source, notebook) | |
| 108 | for file in notebook.rglob("*"): | |
| 109 | if file.is_file(): file.chmod(file.stat().st_mode | stat.S_IWUSR) | |
| 110 | hashes = {p.relative_to(source).as_posix(): hashlib.sha256(p.read_bytes()).hexdigest() | |
| 111 | for p in source.rglob('*') if p.is_file()} | |
| 112 | (output / 'source.json').write_text(json.dumps(hashes, indent=2)) | |
| 113 | (output / 'run.json').write_text(json.dumps({'seed': seed, 'rounds': rounds, | |
| 114 | 'editor_sha256': hashlib.sha256(EDITOR.read_bytes()).hexdigest(), | |
| 115 | 'oracle_sha256': hashlib.sha256(Path(__file__).read_bytes()).hexdigest()}, indent=2)) | |
| 116 | count = 0 | |
| 117 | with (output / 'operations.jsonl').open('w') as log: | |
| 118 | for file in sorted(notebook.rglob('*.one')): | |
| 119 | before = export(file) | |
| 120 | pages = [(sid, page) for sid, _, _, page in ordered_pages(before[0])] | |
| 121 | for _ in range(rounds): | |
| 122 | for sid, page in pages: | |
| 123 | result = subprocess.run([EDITOR, file, '--in-place', str(seed + count), page], capture_output=True, text=True) | |
| 124 | record = json.loads(result.stdout) if result.stdout else {} | |
| 125 | record.update(file=file.relative_to(notebook).as_posix(), exit=result.returncode, stderr=result.stderr) | |
| 126 | log.write(json.dumps(record, ensure_ascii=False) + '\n'); log.flush() | |
| 127 | assert result.returncode == 0 and record.get('state') == 'Committed', f'Page edit failed: {record}' | |
| 128 | after = export(file) | |
| 129 | verify(before, after, record) | |
| 130 | before = after | |
| 131 | count += 1 | |
| 132 | assert all(hashlib.sha256((source / path).read_bytes()).hexdigest() == digest for path, digest in hashes.items()), 'A source file changed during the campaign' | |
| 133 | (output / 'result.json').write_text(json.dumps({'verified_edits': count, 'source_files_unchanged': len(hashes)}, indent=2)) | |
| 134 | print(f'Verified {count} edits; {len(hashes)} source files unchanged') | |
| 135 | ||
| 136 | ||
| 137 | if __name__ == '__main__': | |
| 138 | parser = argparse.ArgumentParser(description=__doc__) | |
| 139 | parser.add_argument('source', type=Path) | |
| 140 | parser.add_argument('output', type=Path) | |
| 141 | parser.add_argument('--seed', type=int, default=42) | |
| 142 | parser.add_argument('--rounds', type=int, default=1) | |
| 143 | args = parser.parse_args() | |
| 144 | if args.rounds <= 0 or args.seed < 0: parser.error('Use positive rounds and a nonnegative seed.') | |
| 145 | run(args.source, args.output, args.seed, args.rounds) |
tools/smb-proxy.py created+115| ... | ... | @@ -0,0 +1,115 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Trace a dedicated test SMB session and cut selected responses before delivery.""" | |
| 3 | import argparse | |
| 4 | import asyncio | |
| 5 | import json | |
| 6 | from pathlib import Path | |
| 7 | import struct | |
| 8 | import time | |
| 9 | ||
| 10 | ||
| 11 | async def main(): | |
| 12 | parser = argparse.ArgumentParser(description=__doc__) | |
| 13 | parser.add_argument('control', type=Path) | |
| 14 | parser.add_argument('--port', type=int, default=11445) | |
| 15 | parser.add_argument('--server', default='10.0.0.1') | |
| 16 | args = parser.parse_args() | |
| 17 | writers = set() | |
| 18 | state = {'mode': 'up'} | |
| 19 | previous = None | |
| 20 | blocked = False | |
| 21 | matched = 0 | |
| 22 | ||
| 23 | def record(**fields): | |
| 24 | print(json.dumps({'time': time.time(), **fields}), flush=True) | |
| 25 | ||
| 26 | async def controls(): | |
| 27 | nonlocal state, previous, blocked, matched | |
| 28 | while True: | |
| 29 | try: | |
| 30 | raw = args.control.read_bytes() | |
| 31 | if raw != previous: | |
| 32 | state = json.loads(raw) | |
| 33 | previous, matched = raw, 0 | |
| 34 | blocked = state.get('mode') == 'down' | |
| 35 | record(control=state) | |
| 36 | if blocked: | |
| 37 | for writer in list(writers): | |
| 38 | writer.transport.abort() | |
| 39 | except (FileNotFoundError, json.JSONDecodeError): | |
| 40 | pass | |
| 41 | await asyncio.sleep(0.05) | |
| 42 | ||
| 43 | async def connection(client, client_writer): | |
| 44 | nonlocal blocked, matched | |
| 45 | if blocked: | |
| 46 | client_writer.close() | |
| 47 | return | |
| 48 | server_writer = None | |
| 49 | try: | |
| 50 | server, server_writer = await asyncio.open_connection(args.server, 445) | |
| 51 | writers.update((client_writer, server_writer)) | |
| 52 | ||
| 53 | async def forward(reader, writer, direction): | |
| 54 | nonlocal blocked, matched | |
| 55 | while True: | |
| 56 | prefix = await reader.readexactly(4) | |
| 57 | frame = await reader.readexactly(int.from_bytes(prefix[1:], 'big')) | |
| 58 | at = 0 | |
| 59 | while frame[at:at+4] == b'\xfeSMB': | |
| 60 | command = struct.unpack_from('<H', frame, at+12)[0] | |
| 61 | entry = {'direction': direction, 'command': command, | |
| 62 | 'message': struct.unpack_from('<Q', frame, at+24)[0]} | |
| 63 | if direction == 'response': | |
| 64 | entry['status'] = hex(struct.unpack_from('<I', frame, at+8)[0]) | |
| 65 | elif command in (8, 9): | |
| 66 | entry['length'], entry['offset'] = struct.unpack_from('<IQ', frame, at+68) | |
| 67 | if command == 9 and entry['offset'] <= 96 and entry['offset'] + entry['length'] >= 100: | |
| 68 | data_offset = struct.unpack_from('<H', frame, at+66)[0] | |
| 69 | entry['transactions'] = struct.unpack_from('<I', frame, at+data_offset+96-entry['offset'])[0] | |
| 70 | elif command == 10: | |
| 71 | count = struct.unpack_from('<H', frame, at+66)[0] | |
| 72 | entry['locks'] = [struct.unpack_from('<QQI', frame, at+88+24*i) for i in range(count)] | |
| 73 | record(**entry) | |
| 74 | if state.get('cut') == command and direction == 'response' and entry['status'] == state.get('status', '0x0'): | |
| 75 | matched += 1 | |
| 76 | if matched == state.get('occurrence', 1): | |
| 77 | blocked = True | |
| 78 | record(cut=entry) | |
| 79 | for stream in list(writers): | |
| 80 | stream.transport.abort() | |
| 81 | return | |
| 82 | next_command = struct.unpack_from('<I', frame, at+20)[0] | |
| 83 | if not next_command: | |
| 84 | break | |
| 85 | at += next_command | |
| 86 | if frame[:4] == b'\xfdSMB': | |
| 87 | record(encrypted=True, direction=direction) | |
| 88 | writer.write(prefix + frame) | |
| 89 | await writer.drain() | |
| 90 | ||
| 91 | tasks = [asyncio.create_task(forward(client, server_writer, 'request')), | |
| 92 | asyncio.create_task(forward(server, client_writer, 'response'))] | |
| 93 | done, pending = await asyncio.wait(tasks, return_when=asyncio.FIRST_COMPLETED) | |
| 94 | for task in pending: | |
| 95 | task.cancel() | |
| 96 | await asyncio.gather(*tasks, return_exceptions=True) | |
| 97 | except (OSError, asyncio.IncompleteReadError) as error: | |
| 98 | record(error=str(error)) | |
| 99 | finally: | |
| 100 | for writer in (client_writer, server_writer): | |
| 101 | if writer: | |
| 102 | writers.discard(writer) | |
| 103 | writer.close() | |
| 104 | ||
| 105 | server = await asyncio.start_server(connection, '127.0.0.1', args.port) | |
| 106 | async with server: | |
| 107 | record(listening=args.port) | |
| 108 | await asyncio.gather(server.serve_forever(), controls()) | |
| 109 | ||
| 110 | ||
| 111 | if __name__ == '__main__': | |
| 112 | try: | |
| 113 | asyncio.run(main()) | |
| 114 | except KeyboardInterrupt: | |
| 115 | pass |
tools/smb_lock_race.py created+101| ... | ... | @@ -0,0 +1,101 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Compare SMB lock progress and exclusion across file access modes.""" | |
| 3 | import argparse | |
| 4 | from collections import Counter | |
| 5 | import fcntl | |
| 6 | import json | |
| 7 | import hashlib | |
| 8 | import platform | |
| 9 | import os | |
| 10 | from pathlib import Path | |
| 11 | import subprocess | |
| 12 | import sys | |
| 13 | import time | |
| 14 | ||
| 15 | ||
| 16 | def worker(file, marker, mode, operations, atomic): | |
| 17 | counts = Counter() | |
| 18 | for i in range(operations): | |
| 19 | access = ('r+b' if i % 2 else 'rb') if mode == 'mixed' else mode | |
| 20 | stage = 'open' | |
| 21 | try: | |
| 22 | with (os.fdopen(os.open(file, (os.O_RDWR if access == 'r+b' else os.O_RDONLY) | os.O_EXLOCK | os.O_NONBLOCK), access) if atomic else file.open(access)) as stream: | |
| 23 | stage = 'lock' | |
| 24 | if not atomic: | |
| 25 | fcntl.flock(stream, fcntl.LOCK_EX | fcntl.LOCK_NB) | |
| 26 | counts['acquired'] += 1 | |
| 27 | owned = False | |
| 28 | try: | |
| 29 | try: | |
| 30 | marker.mkdir() | |
| 31 | owned = True | |
| 32 | except FileExistsError: | |
| 33 | counts['overlap'] += 1 | |
| 34 | time.sleep(.002) | |
| 35 | try: | |
| 36 | stream.read(1) | |
| 37 | except OSError as error: | |
| 38 | counts[f'read:{error.errno}'] += 1 | |
| 39 | finally: | |
| 40 | if owned: | |
| 41 | marker.rmdir() | |
| 42 | try: | |
| 43 | fcntl.flock(stream, fcntl.LOCK_UN) | |
| 44 | except OSError as error: | |
| 45 | counts[f'unlock:{error.errno}'] += 1 | |
| 46 | stage = 'close' | |
| 47 | except OSError as error: | |
| 48 | counts[f'{stage}:{error.errno}'] += 1 | |
| 49 | time.sleep(.002) | |
| 50 | print(json.dumps(counts), flush=True) | |
| 51 | ||
| 52 | ||
| 53 | def run(output, directory, operations, atomic, clients): | |
| 54 | output.mkdir(parents=True, exist_ok=False) | |
| 55 | directory.mkdir(exist_ok=False) | |
| 56 | (output / 'run.json').write_text(json.dumps({'operations': operations, 'clients': clients, 'atomic': atomic, | |
| 57 | 'platform': platform.platform(), 'script_sha256': hashlib.sha256(Path(__file__).read_bytes()).hexdigest()}, indent=2)) | |
| 58 | results = {} | |
| 59 | for mode in ('rb', 'r+b', 'mixed'): | |
| 60 | file = directory / (mode + '.bin') | |
| 61 | file.write_bytes(b'lock probe') | |
| 62 | marker = output / 'held' | |
| 63 | processes = [] | |
| 64 | try: | |
| 65 | for i in range(clients): | |
| 66 | processes.append(subprocess.Popen([sys.executable, __file__, '--worker', str(file), str(marker), mode, str(operations), str(int(atomic))], | |
| 67 | stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)) | |
| 68 | results[mode] = [] | |
| 69 | for process in processes: | |
| 70 | stdout, stderr = process.communicate(timeout=60) | |
| 71 | assert process.returncode == 0, stderr | |
| 72 | results[mode].append(json.loads(stdout)) | |
| 73 | finally: | |
| 74 | for process in processes: | |
| 75 | if process.poll() is None: | |
| 76 | process.terminate() | |
| 77 | for process in processes: | |
| 78 | try: | |
| 79 | process.wait(timeout=5) | |
| 80 | except subprocess.TimeoutExpired: | |
| 81 | process.kill() | |
| 82 | process.wait() | |
| 83 | (output / 'result.json').write_text(json.dumps(results, indent=2)) | |
| 84 | print(mode, results[mode], flush=True) | |
| 85 | assert all(c.get('acquired', 0) and not c.get('overlap', 0) and | |
| 86 | all(k in ('acquired', 'open:35', 'lock:35') for k in c) | |
| 87 | for counters in results.values() for c in counters), 'Lock exclusion or progress failed' | |
| 88 | ||
| 89 | ||
| 90 | if __name__ == '__main__': | |
| 91 | if len(sys.argv) == 7 and sys.argv[1] == '--worker': | |
| 92 | worker(Path(sys.argv[2]), Path(sys.argv[3]), sys.argv[4], int(sys.argv[5]), bool(int(sys.argv[6]))) | |
| 93 | else: | |
| 94 | parser = argparse.ArgumentParser(description=__doc__) | |
| 95 | parser.add_argument('output', type=Path) | |
| 96 | parser.add_argument('directory', type=Path) | |
| 97 | parser.add_argument('--operations', type=int, default=500) | |
| 98 | parser.add_argument('--atomic', action='store_true') | |
| 99 | parser.add_argument('--clients', type=int, default=4) | |
| 100 | args = parser.parse_args() | |
| 101 | run(args.output.resolve(), args.directory.resolve(), args.operations, args.atomic, args.clients) |
tools/test_compare_native.py created+27| ... | ... | @@ -0,0 +1,27 @@ |
| 1 | import unittest | |
| 2 | import xml.etree.ElementTree as ET | |
| 3 | from compare_native import content | |
| 4 | ||
| 5 | ||
| 6 | class NativeComparisonTest(unittest.TestCase): | |
| 7 | def test_cache_identity_does_not_hide_text_or_formatting_changes(self): | |
| 8 | source = ET.fromstring('<OE objectID="cache-a" style="font-weight:bold"><T>Text</T></OE>') | |
| 9 | other = ET.fromstring('<OE objectID="cache-b" style="font-weight:bold"><T>Text</T></OE>') | |
| 10 | self.assertEqual(content(source), content(other)) | |
| 11 | other.find('T').text = 'Different' | |
| 12 | self.assertNotEqual(content(source), content(other)) | |
| 13 | other.find('T').text = 'Text' | |
| 14 | other.set('style', 'font-weight:normal') | |
| 15 | self.assertNotEqual(content(source), content(other)) | |
| 16 | ||
| 17 | def test_geometry_and_table_order_remain_significant(self): | |
| 18 | source = ET.fromstring('<Table><Row><Cell>A</Cell><Cell>B</Cell></Row></Table>') | |
| 19 | other = ET.fromstring('<Table><Row><Cell>B</Cell><Cell>A</Cell></Row></Table>') | |
| 20 | self.assertNotEqual(content(source), content(other)) | |
| 21 | first = ET.fromstring('<Position x="36" y="72"/>') | |
| 22 | second = ET.fromstring('<Position x="37" y="72"/>') | |
| 23 | self.assertNotEqual(content(first), content(second)) | |
| 24 | ||
| 25 | ||
| 26 | if __name__ == '__main__': | |
| 27 | unittest.main() |
tools/test_concurrent_rust.py created+58| ... | ... | @@ -0,0 +1,58 @@ |
| 1 | import copy | |
| 2 | import unittest | |
| 3 | from concurrent_rust import verify | |
| 4 | ||
| 5 | ||
| 6 | class OracleTests(unittest.TestCase): | |
| 7 | def setUp(self): | |
| 8 | self.logs = { | |
| 9 | 'w0': [{'event': 'ready'}, {'event': 'commit', 'source_transaction': 1, | |
| 10 | 'operation': 0, 'token': ' [w0:0]', 'started_us': 10, 'finished_us': 30}, {'event': 'done'}], | |
| 11 | 'w1': [{'event': 'ready'}, {'event': 'commit', 'source_transaction': 2, | |
| 12 | 'operation': 0, 'token': ' [w1:0]', 'started_us': 20, 'finished_us': 40}, {'event': 'done'}], | |
| 13 | 'r0': [{'event': 'ready'}, {'event': 'read', 'transaction': 3, | |
| 14 | 'text': 'Concurrent edits: [w0:0] [w1:0]', 'started_us': 50, 'finished_us': 60}, {'event': 'done'}], | |
| 15 | } | |
| 16 | ||
| 17 | def test_valid_history_and_deliberate_corruption(self): | |
| 18 | self.assertEqual(verify(self.logs, 1, 2, 1)['commits'], 2) | |
| 19 | for field, value in [('text', 'Concurrent edits: [w1:0]'), ('transaction', 2), ('finished_us', 19)]: | |
| 20 | logs = copy.deepcopy(self.logs) | |
| 21 | logs['r0'][1][field] = value | |
| 22 | with self.assertRaises(AssertionError): | |
| 23 | verify(logs, 1, 2, 1) | |
| 24 | ||
| 25 | def test_duplicate_snapshot_and_missing_acknowledgement(self): | |
| 26 | logs = copy.deepcopy(self.logs) | |
| 27 | logs['w1'][1]['source_transaction'] = 1 | |
| 28 | with self.assertRaises(AssertionError): | |
| 29 | verify(logs, 1, 2, 1) | |
| 30 | logs['w1'].pop(1) | |
| 31 | with self.assertRaises(AssertionError): | |
| 32 | verify(logs, 1, 2, 1) | |
| 33 | ||
| 34 | def test_length_changing_unicode_history_and_wrong_intent(self): | |
| 35 | previous = 'Concurrent edits:' | |
| 36 | for i in range(2): | |
| 37 | events = self.logs[f'w{i}'] | |
| 38 | event = events[1] | |
| 39 | event['attempt'] = 1 | |
| 40 | replacement = ' café 🦀' + event['token'] | |
| 41 | events.insert(1, {'event': 'intent', 'attempt': 1, 'operation': 0, | |
| 42 | 'source_transaction': i + 1, 'before': previous, 'token': event['token'], | |
| 43 | 'range': [17, len(previous.encode('utf-16-le')) // 2], 'replacement': replacement}) | |
| 44 | previous = 'Concurrent edits:' + replacement | |
| 45 | self.logs['r0'][1]['text'] = previous | |
| 46 | self.assertEqual(verify(self.logs, 1, 2, 1, edit=True)['final_text'], previous) | |
| 47 | self.logs['w1'][1]['range'][0] = 24 | |
| 48 | with self.assertRaises(UnicodeDecodeError): | |
| 49 | verify(self.logs, 1, 2, 1, edit=True) | |
| 50 | ||
| 51 | def test_serial_calls_do_not_count_as_concurrency(self): | |
| 52 | self.logs['w1'][1]['started_us'] = 31 | |
| 53 | with self.assertRaisesRegex(AssertionError, 'never overlapped'): | |
| 54 | verify(self.logs, 1, 2, 1) | |
| 55 | ||
| 56 | ||
| 57 | if __name__ == '__main__': | |
| 58 | unittest.main() |
tools/test_crash_recovery.py created+36| ... | ... | @@ -0,0 +1,36 @@ |
| 1 | import copy | |
| 2 | import unittest | |
| 3 | ||
| 4 | from crash_recovery import verify_text | |
| 5 | ||
| 6 | ||
| 7 | class RecoveryOracleTest(unittest.TestCase): | |
| 8 | def test_accounting_and_corruption_controls(self): | |
| 9 | logs = {'w0': [ | |
| 10 | {'event': 'intent', 'token': ' [w0:0]', 'attempt': 1}, | |
| 11 | {'event': 'commit', 'token': ' [w0:0]', 'attempt': 1, 'started_us': 5, 'finished_us': 10}, | |
| 12 | {'event': 'intent', 'token': ' [w0:1]', 'attempt': 2}, | |
| 13 | {'event': 'commit_error', 'token': ' [w0:1]', 'attempt': 2, 'state': 'Unknown', 'started_us': 18, 'finished_us': 20}, | |
| 14 | {'event': 'read', 'text': 'Base [w0:0]', 'started_us': 15, 'finished_us': 17}, | |
| 15 | ]} | |
| 16 | self.assertEqual(verify_text('Base', 'Base [w0:0] [w0:1]', logs)['unacknowledged_retained'], [' [w0:1]']) | |
| 17 | self.assertEqual(verify_text('Base', 'Base [w0:0]', logs)['acknowledged'], 1) | |
| 18 | for text in ['Base', 'Other [w0:0]', 'Base [w0:0] [w0:0]', 'Base [w0:0] [w0:2]', 'Base [w0:0] [w0:']: | |
| 19 | with self.assertRaises(AssertionError): | |
| 20 | verify_text('Base', text, logs) | |
| 21 | lost_read = copy.deepcopy(logs) | |
| 22 | lost_read['w0'][-1]['text'] = 'Base' | |
| 23 | with self.assertRaisesRegex(AssertionError, 'read missed'): | |
| 24 | verify_text('Base', 'Base [w0:0]', lost_read) | |
| 25 | committed_error = copy.deepcopy(logs) | |
| 26 | committed_error['w0'][3]['state'] = 'Committed' | |
| 27 | with self.assertRaisesRegex(AssertionError, 'acknowledged edit was lost'): | |
| 28 | verify_text('Base', 'Base [w0:0]', committed_error) | |
| 29 | rejected = copy.deepcopy(logs) | |
| 30 | rejected['w0'][3]['state'] = 'NotCommitted' | |
| 31 | with self.assertRaisesRegex(AssertionError, 'definitively uncommitted'): | |
| 32 | verify_text('Base', 'Base [w0:0] [w0:1]', rejected) | |
| 33 | future = copy.deepcopy(logs) | |
| 34 | future['w0'][1]['started_us'] = 18 | |
| 35 | with self.assertRaisesRegex(AssertionError, 'future edit'): | |
| 36 | verify_text('Base', 'Base [w0:0]', future) |
tools/test_document_oracle.py created+115| ... | ... | @@ -0,0 +1,115 @@ |
| 1 | from pathlib import Path | |
| 2 | import re | |
| 3 | import runpy | |
| 4 | import shutil | |
| 5 | import subprocess | |
| 6 | from tempfile import TemporaryDirectory | |
| 7 | import unittest | |
| 8 | import xml.etree.ElementTree as ET | |
| 9 | ||
| 10 | ROOT = Path(__file__).resolve().parent.parent | |
| 11 | compare = runpy.run_path(str(ROOT / 'tools/verify-document.py'))['compare'] | |
| 12 | ||
| 13 | ||
| 14 | class DocumentOracleTest(unittest.TestCase): | |
| 15 | def test_native_2010_does_not_render_the_documented_cell_shading_control(self): | |
| 16 | import pdfplumber | |
| 17 | fixture = ROOT / 'corpus/m6/cell-shading-control-01/read/page-001' | |
| 18 | page = ET.parse(fixture.with_suffix('.xml')).getroot() | |
| 19 | cells = [n for n in page.iter() if n.tag.endswith('}Cell')] | |
| 20 | self.assertEqual(len(cells), 6) | |
| 21 | self.assertTrue(all('shadingColor' not in n.attrib for n in cells)) | |
| 22 | with pdfplumber.open(fixture.with_suffix('.pdf')) as pdf: | |
| 23 | table_page = pdf.pages[1] | |
| 24 | self.assertIn('Cell 0,0', table_page.extract_text()) | |
| 25 | self.assertTrue(all(tuple(rect.get('non_stroking_color') or ()) != (1, 1, 0) | |
| 26 | for rect in table_page.rects)) | |
| 27 | ||
| 28 | def test_rust_saved_expansion_is_honored_by_a_fresh_native_cache(self): | |
| 29 | import pdfplumber | |
| 30 | fixture = ROOT / 'corpus/m6/rust-collapse-control-01' | |
| 31 | pages = [(p, ET.parse(p).getroot()) for p in (fixture / 'read').glob('page-*.xml')] | |
| 32 | path, page = next((p, r) for p, r in pages if r.get('name') == 'Paragraph controls') | |
| 33 | parent, = [n for n in page.iter() if n.tag.endswith('}OE') | |
| 34 | and any(c.tag.endswith('}T') and c.text == 'Collapsed parent' for c in n)] | |
| 35 | self.assertIsNone(parent.get('collapsed')) | |
| 36 | with pdfplumber.open(path.with_suffix('.pdf')) as pdf: | |
| 37 | text = ''.join(p.extract_text() or '' for p in pdf.pages) | |
| 38 | self.assertIn('Hidden child remains stored', text) | |
| 39 | self.assertIn('Grandchild', text) | |
| 40 | ||
| 41 | def test_native_expansion_changes_the_view_without_changing_notebook_bytes(self): | |
| 42 | import pdfplumber | |
| 43 | original = ROOT / 'corpus/m6/native-features-01/notebook/Features.one' | |
| 44 | capture = ROOT / 'corpus/m6/native-expanded-control-ui-01' | |
| 45 | self.assertEqual(original.read_bytes(), (capture / 'notebook/Features.one').read_bytes()) | |
| 46 | for directory, collapsed in [('before-read', '1'), ('read', None)]: | |
| 47 | candidates = [(p, ET.parse(p).getroot()) for p in (capture / directory).glob('page-*.xml')] | |
| 48 | path, page = next((p, r) for p, r in candidates if r.get('name') == 'Paragraph controls') | |
| 49 | parent, = [n for n in page.iter() if n.tag.endswith('}OE') | |
| 50 | and any(c.tag.endswith('}T') and c.text == 'Collapsed parent' for c in n)] | |
| 51 | self.assertEqual(parent.get('collapsed'), collapsed) | |
| 52 | self.assertIn('Grandchild', ''.join(parent.itertext())) | |
| 53 | with pdfplumber.open(path.with_suffix('.pdf')) as pdf: | |
| 54 | text = ''.join(p.extract_text() or '' for p in pdf.pages) | |
| 55 | self.assertNotIn('Grandchild', text) | |
| 56 | ||
| 57 | def test_missing_or_empty_source_cannot_pass(self): | |
| 58 | fixture = ROOT / 'corpus/m6/native-math-01/read' | |
| 59 | with TemporaryDirectory() as temporary: | |
| 60 | source = Path(temporary) | |
| 61 | with self.assertRaises(FileNotFoundError): | |
| 62 | compare(source / 'missing', fixture) | |
| 63 | with self.assertRaisesRegex(AssertionError, 'No notebook sections'): | |
| 64 | compare(source, fixture) | |
| 65 | ||
| 66 | def test_equations_survive_a_fresh_native_cache(self): | |
| 67 | captures = [] | |
| 68 | for fixture in ('native-math-01', 'native-math-cold-01'): | |
| 69 | pages = [ET.parse(p).getroot() for p in (ROOT / 'corpus/m6' / fixture / 'read').glob('page-*.xml')] | |
| 70 | page, = [p for p in pages if p.get('name') == 'Equation controls'] | |
| 71 | equations = [ET.fromstring(expression) for node in page.iter() if node.tag.endswith('}T') | |
| 72 | for expression in re.findall(r'<!--\[if mathML\]>(.*?)<!\[endif\]-->', node.text or '', re.S)] | |
| 73 | self.assertEqual(len(equations), 3) | |
| 74 | ns = '{http://www.w3.org/1998/Math/MathML}' | |
| 75 | self.assertEqual([n.tag for n in equations[0]], [ns + n for n in ('msup', 'mo', 'msup', 'mo', 'msup')]) | |
| 76 | self.assertEqual(''.join(equations[0].itertext()), 'x2+y2=z2') | |
| 77 | self.assertEqual([n.tag for n in equations[1]], [ns + 'mfrac']) | |
| 78 | self.assertEqual([''.join(n.itertext()) for n in equations[1][0]], ['a+b', 'c+d']) | |
| 79 | self.assertEqual(''.join(equations[2].itertext()), '𝛼+𝛽') | |
| 80 | self.assertNotIn('display', equations[2].attrib) | |
| 81 | captures.append([ET.tostring(n) for n in equations]) | |
| 82 | self.assertEqual(*captures) | |
| 83 | ||
| 84 | def test_rtl_xml_order_matches_native_visual_column_order(self): | |
| 85 | import pdfplumber | |
| 86 | fixture = ROOT / 'corpus/m6/native-page-direction-03' | |
| 87 | with pdfplumber.open(fixture / 'read/page-000.pdf') as pdf: | |
| 88 | words = pdf.pages[0].extract_words() | |
| 89 | right = [word for word in words if word['text'] == 'Right'] | |
| 90 | left = [word for word in words if word['text'] == 'Left'] | |
| 91 | self.assertEqual((len(right), len(left)), (1, 1)) | |
| 92 | self.assertLess(right[0]['x0'], left[0]['x0']) | |
| 93 | with TemporaryDirectory() as temporary: | |
| 94 | native = Path(temporary) / 'read' | |
| 95 | shutil.copytree(fixture / 'read', native) | |
| 96 | compare(fixture / 'notebook', native) | |
| 97 | ||
| 98 | def test_changed_origin_requires_matching_native_coordinates(self): | |
| 99 | fixture = ROOT / 'corpus/m6/native-origin-controls-01' | |
| 100 | with TemporaryDirectory() as temporary: | |
| 101 | output = Path(temporary) | |
| 102 | notebook = output / 'notebook' | |
| 103 | shutil.copytree(fixture / 'input/notebook', notebook) | |
| 104 | shutil.copytree(fixture / 'read', output / 'read') | |
| 105 | compare(notebook, output / 'read') | |
| 106 | subprocess.run([ROOT / 'target/debug/examples/edit_property', | |
| 107 | notebook / 'synthetic.one', output / 'changed.one', | |
| 108 | '6000b', '14001d0f', '00004040', '00008040'], check=True) | |
| 109 | (output / 'changed.one').replace(notebook / 'synthetic.one') | |
| 110 | with self.assertRaisesRegex(AssertionError, 'coordinate differences'): | |
| 111 | compare(notebook, output / 'read') | |
| 112 | ||
| 113 | ||
| 114 | if __name__ == '__main__': | |
| 115 | unittest.main() |
tools/test_native_format.py created+61| ... | ... | @@ -0,0 +1,61 @@ |
| 1 | import unittest | |
| 2 | import xml.etree.ElementTree as ET | |
| 3 | from native_format import compare_formats, native_characters, Runs | |
| 4 | from native_xml import ns, Text, project_text | |
| 5 | ||
| 6 | ||
| 7 | class FormatOracleTest(unittest.TestCase): | |
| 8 | def test_native_omits_exactly_one_final_paragraph_break(self): | |
| 9 | for stored, exported in [('A\r\r', 'A\n'), ('\rA\r', '\nA'), ('\r', ''), ('\r\r', '\n'), ('A\n', 'A\n')]: | |
| 10 | with self.subTest(stored=stored): | |
| 11 | node = {'format': {'bold': True}, 'kind': {'text': stored, 'paragraph_style': None, | |
| 12 | 'runs': [{'start': 0, 'end': len(stored), 'format': None}]}} | |
| 13 | native = [[(c, {'bold': True}) for c in exported]] | |
| 14 | self.assertEqual(compare_formats({'nodes': {}}, [node], native), (len(exported), [])) | |
| 15 | with self.assertRaisesRegex(AssertionError, 'Visible text runs differ'): | |
| 16 | compare_formats({'nodes': {}}, [node], [[(c, {'bold': True}) for c in exported + '\n']]) | |
| 17 | ||
| 18 | def test_native_break_formatting_and_tabs_preserve_distinct_source_text(self): | |
| 19 | html = '<b>A<br><br>\nB</b><br>\nC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D' | |
| 20 | expected = 'A\n\nB\nC' + '\u00a0' * 8 + 'D' | |
| 21 | self.assertEqual(''.join(Text(html).parts), expected) | |
| 22 | runs = Runs(html, {}) | |
| 23 | self.assertEqual(''.join(c for c, _ in runs.characters), expected) | |
| 24 | self.assertTrue(runs.characters[2][1]['bold']) | |
| 25 | self.assertNotIn('bold', runs.characters[4][1]) | |
| 26 | self.assertEqual(project_text('A\r\rB\rC\tD'), expected) | |
| 27 | self.assertEqual(project_text('\u00a0' * 8), '\u00a0' * 8) | |
| 28 | ||
| 29 | def test_utf16_run_boundaries_and_inherited_native_style(self): | |
| 30 | page = ET.fromstring('''<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote"> | |
| 31 | <one:QuickStyleDef index="0" font="Calibri" fontSize="14" bold="true" strikethrough="true"/> | |
| 32 | <one:Outline><one:OE quickStyleIndex="0"><one:T>A&lt;span style="font-style:italic"&gt;😀&lt;/span&gt;B</one:T></one:OE></one:Outline> | |
| 33 | </one:Page>''') | |
| 34 | node = {'format': {}, 'kind': {'text': 'A😀B', 'paragraph_style': 'base', 'runs': [ | |
| 35 | {'start': 0, 'end': 1, 'format': None}, {'start': 1, 'end': 3, 'format': 'italic'}, | |
| 36 | {'start': 3, 'end': 4, 'format': None}, | |
| 37 | ]}} | |
| 38 | space = {'nodes': {'base': {'format': {'bold': True, 'font': 'Calibri', 'font_size': 14.0}}, | |
| 39 | 'italic': {'format': {'italic': True}}}} | |
| 40 | expected = native_characters(page, page.findall('one:Outline', ns)) | |
| 41 | self.assertTrue(expected[0][0][1]['strike']) | |
| 42 | count, differences = compare_formats(space, [node], expected) | |
| 43 | self.assertEqual((count, differences), (10, [])) | |
| 44 | space['nodes']['italic']['format']['italic'] = False | |
| 45 | _, differences = compare_formats(space, [node], expected) | |
| 46 | self.assertEqual(differences, [{'paragraph': 0, 'field': 'italic', 'stored': False, | |
| 47 | 'native': True, 'characters': 1, 'positions': [1]}]) | |
| 48 | ||
| 49 | def test_partial_black_omission_is_reported_not_normalized_away(self): | |
| 50 | node = {'format': {}, 'kind': {'text': 'ABA', 'paragraph_style': None, 'runs': [ | |
| 51 | {'start': 0, 'end': 1, 'format': None}, {'start': 1, 'end': 2, 'format': 'black'}, | |
| 52 | {'start': 2, 'end': 3, 'format': None}, | |
| 53 | ]}} | |
| 54 | space = {'nodes': {'black': {'format': {'highlight': 0}}}} | |
| 55 | _, differences = compare_formats(space, [node], [[(c, {'highlight': 'automatic'}) for c in 'ABA']]) | |
| 56 | self.assertEqual(differences, [{'paragraph': 0, 'field': 'highlight', 'stored': '#000000', | |
| 57 | 'native': 'automatic', 'characters': 1, 'positions': [1]}]) | |
| 58 | ||
| 59 | ||
| 60 | if __name__ == '__main__': | |
| 61 | unittest.main() |
tools/test_native_runner.py created+68| ... | ... | @@ -0,0 +1,68 @@ |
| 1 | import json | |
| 2 | from pathlib import Path | |
| 3 | import tempfile | |
| 4 | import unittest | |
| 5 | from unittest.mock import patch | |
| 6 | ||
| 7 | import native_runner as runner | |
| 8 | ||
| 9 | ||
| 10 | class NativeRunnerTest(unittest.TestCase): | |
| 11 | def test_shutdown_timeout_still_removes_the_owned_clone(self): | |
| 12 | with tempfile.TemporaryDirectory() as temporary: | |
| 13 | output = Path(temporary) | |
| 14 | manifest = output / 'instance.json' | |
| 15 | with patch.object(runner, 'vm') as vm, patch.object(runner, 'install_agent', return_value={}): | |
| 16 | vm.instance_path.return_value = manifest | |
| 17 | vm.create_instance.side_effect = lambda _: manifest.touch() | |
| 18 | vm.delete_instance.side_effect = lambda _: manifest.unlink() | |
| 19 | vm.running.side_effect = [True, False] | |
| 20 | vm.shutdown.side_effect = SystemExit('Windows did not stop') | |
| 21 | with runner.clone(output) as name: | |
| 22 | vm.create_instance.assert_called_once_with(name) | |
| 23 | vm.qmp.assert_called_once_with(name, 'quit') | |
| 24 | vm.delete_instance.assert_called_once_with(name) | |
| 25 | self.assertEqual(json.loads((output / 'teardown.json').read_text()), {'absent': True}) | |
| 26 | ||
| 27 | def test_command_timeout_is_a_failure_even_with_stdout(self): | |
| 28 | with tempfile.TemporaryDirectory() as temporary: | |
| 29 | output = Path(temporary) | |
| 30 | with patch.object(runner.windows, 'do_cmd', return_value={ | |
| 31 | 'exit': None, 'stdout': 'Read 1 pages.', 'error': 'timed out', | |
| 32 | }): | |
| 33 | with self.assertRaisesRegex(RuntimeError, 'timed out'): | |
| 34 | runner.command('fixture', 'read', output) | |
| 35 | result = json.loads((output / 'commands.jsonl').read_text()) | |
| 36 | self.assertIsNone(result['exit']) | |
| 37 | ||
| 38 | def test_failure_still_tears_down_the_owned_clone(self): | |
| 39 | with tempfile.TemporaryDirectory() as temporary: | |
| 40 | output = Path(temporary) | |
| 41 | manifest = output / 'instance.json' | |
| 42 | with patch.object(runner.vm, 'instance_path', return_value=manifest), \ | |
| 43 | patch.object(runner.vm, 'create_instance', side_effect=lambda _: manifest.touch()), \ | |
| 44 | patch.object(runner.vm, 'start_instance'), \ | |
| 45 | patch.object(runner.vm, 'wait_instance'), \ | |
| 46 | patch.object(runner.vm, 'running', return_value=True), \ | |
| 47 | patch.object(runner.vm, 'shutdown') as shutdown, \ | |
| 48 | patch.object(runner.vm, 'delete_instance', side_effect=lambda _: manifest.unlink()), \ | |
| 49 | patch.object(runner, 'install_agent', return_value={}), \ | |
| 50 | patch.object(runner.windows, 'do_health', return_value={}), \ | |
| 51 | patch.object(runner.windows, 'do_shot', side_effect=RuntimeError('unreachable')): | |
| 52 | with self.assertRaisesRegex(RuntimeError, 'capture failed'): | |
| 53 | with runner.clone(output): | |
| 54 | raise RuntimeError('capture failed') | |
| 55 | shutdown.assert_called_once() | |
| 56 | self.assertEqual(json.loads((output / 'teardown.json').read_text()), {'absent': True}) | |
| 57 | ||
| 58 | def test_output_inside_notebook_does_not_modify_source(self): | |
| 59 | with tempfile.TemporaryDirectory() as temporary: | |
| 60 | notebook = Path(temporary) | |
| 61 | output = notebook / 'new-export' | |
| 62 | with self.assertRaisesRegex(ValueError, 'outside'): | |
| 63 | runner.capture(notebook, output) | |
| 64 | self.assertFalse(output.exists()) | |
| 65 | ||
| 66 | ||
| 67 | if __name__ == '__main__': | |
| 68 | unittest.main() |
tools/test_native_stress.py created+138| ... | ... | @@ -0,0 +1,138 @@ |
| 1 | import copy | |
| 2 | import json | |
| 3 | from pathlib import Path | |
| 4 | import subprocess | |
| 5 | import tempfile | |
| 6 | import unittest | |
| 7 | from native_stress import edit_history, native_history, verify_capture | |
| 8 | from native_collaboration import reachable_page_text | |
| 9 | from document_model import DEFAULT_CONTEXT | |
| 10 | ||
| 11 | ||
| 12 | class NativeHistoryTests(unittest.TestCase): | |
| 13 | def test_conflict_oracle_excludes_unreferenced_history_and_spaces(self): | |
| 14 | root = Path(__file__).resolve().parent.parent | |
| 15 | with tempfile.TemporaryDirectory() as folder: | |
| 16 | output = Path(folder) / 'model' | |
| 17 | subprocess.run([root / 'target/debug/examples/document', | |
| 18 | root / 'corpus/collaboration/round-01/offline/notebook/synthetic.one', output], check=True) | |
| 19 | model = json.loads((output / 'document.json').read_text()) | |
| 20 | retained = reachable_page_text(model) | |
| 21 | self.assertEqual(list(retained.values()), [['Rust edited during the native outage.'], | |
| 22 | ['Native edited while disconnected.']]) | |
| 23 | main, conflict = retained | |
| 24 | current = model['spaces'][main] | |
| 25 | revision = current['revisions'][current['contexts'][DEFAULT_CONTEXT]] | |
| 26 | current['revisions']['unreferenced'] = copy.deepcopy(revision) | |
| 27 | for node in current['revisions']['unreferenced']['nodes'].values(): | |
| 28 | if node['kind']['type'] == 'RichText': node['kind']['text'] = 'History is not recovery' | |
| 29 | self.assertEqual(reachable_page_text(model), retained) | |
| 30 | revision['nodes'][revision['roots']['1']]['spaces'] = [] | |
| 31 | self.assertIn(conflict, model['spaces']) | |
| 32 | self.assertEqual(reachable_page_text(model), {main: retained[main]}) | |
| 33 | page, = revision['nodes'][revision['roots']['1']]['content'] | |
| 34 | revision['nodes'][page]['children'] *= 2 | |
| 35 | self.assertEqual(reachable_page_text(model), {main: retained[main] * 2}) | |
| 36 | ||
| 37 | def setUp(self): | |
| 38 | self.logs = {} | |
| 39 | text = 'Concurrent edits:' | |
| 40 | for i in range(2): | |
| 41 | token = f' [w{i}:0]' | |
| 42 | at = len(text.encode('utf-16-le')) // 2 | |
| 43 | self.logs[f'w{i}'] = [{'event': 'ready'}, | |
| 44 | {'event': 'intent', 'attempt': 1, 'operation': 0, 'token': token, | |
| 45 | 'replacement': token, 'before': text, 'range': [at, at], 'source_transaction': 1}, | |
| 46 | {'event': 'commit', 'attempt': 1, 'operation': 0, 'token': token, | |
| 47 | 'source_transaction': 1, 'started_us': i * 20, 'finished_us': i * 20 + 10}, | |
| 48 | {'event': 'done'}] | |
| 49 | text += token | |
| 50 | self.logs['r0'] = [{'event': 'ready'}, {'event': 'read', 'text': text, | |
| 51 | 'started_us': 40, 'finished_us': 50}, {'event': 'done'}] | |
| 52 | ||
| 53 | def test_counter_renumbering_preserves_one_content_history(self): | |
| 54 | commits, text = edit_history(self.logs, 1) | |
| 55 | self.assertEqual(len(commits), 2) | |
| 56 | self.assertEqual(text, self.logs['r0'][1]['text']) | |
| 57 | ||
| 58 | def test_branches_unexplained_edits_and_incorrect_observations_fail(self): | |
| 59 | for field, value in [('before', 'Concurrent edits:'), ('before', 'unknown'), | |
| 60 | ('range', [0, 0]), ('replacement', 'wrong')]: | |
| 61 | logs = copy.deepcopy(self.logs) | |
| 62 | logs['w1'][1][field] = value | |
| 63 | with self.assertRaises(AssertionError): edit_history(logs, 1) | |
| 64 | for field, value in [('text', 'Concurrent edits:'), ('text', 'unknown'), ('finished_us', 1)]: | |
| 65 | logs = copy.deepcopy(self.logs) | |
| 66 | logs['r0'][1][field] = value | |
| 67 | with self.assertRaises(AssertionError): edit_history(logs, 1) | |
| 68 | ||
| 69 | def test_content_branch_and_disconnected_history_are_detected(self): | |
| 70 | for before, message in [('Concurrent edits:', 'branched'), ('Concurrent edits: unexplained', 'complete content history')]: | |
| 71 | logs = copy.deepcopy(self.logs) | |
| 72 | logs['w1'][1]['before'] = before | |
| 73 | offset = len(before.encode('utf-16-le')) // 2 | |
| 74 | logs['w1'][1]['range'] = [offset, offset] | |
| 75 | with self.assertRaisesRegex(AssertionError, message): edit_history(logs, 1) | |
| 76 | ||
| 77 | def test_replacements_chain_by_content_after_native_counter_renumbering(self): | |
| 78 | expected = 'Concurrent edits:' | |
| 79 | for i in range(2): | |
| 80 | events = self.logs[f'w{i}'] | |
| 81 | intent = events[1] | |
| 82 | intent['before'] = expected | |
| 83 | intent['range'] = [len('Concurrent edits:'), len(expected.encode('utf-16-le')) // 2] | |
| 84 | intent['replacement'] = ' café 🦀' + intent['token'] | |
| 85 | expected = 'Concurrent edits:' + intent['replacement'] | |
| 86 | self.logs['r0'][1]['text'] = expected | |
| 87 | commits, text = edit_history(self.logs, 1, edit=True) | |
| 88 | self.assertEqual((len(commits), text), (2, expected)) | |
| 89 | self.logs['w1'][1]['range'][0] = len('Concurrent edits: café ') + 1 | |
| 90 | with self.assertRaises(UnicodeDecodeError): edit_history(self.logs, 1, edit=True) | |
| 91 | ||
| 92 | def test_missing_acknowledgement_is_not_silently_dropped(self): | |
| 93 | self.logs['w1'].pop(2) | |
| 94 | with self.assertRaises(AssertionError): edit_history(self.logs, 1) | |
| 95 | ||
| 96 | def test_native_replacement_history_rejects_lost_edits_and_split_surrogates(self): | |
| 97 | events = [{'operation': 0, 'token': ' [n0:0]', 'before': 'Native 0:', | |
| 98 | 'range': [9, 9], 'replacement': ' café 🦀 [n0:0]'}, | |
| 99 | {'operation': 1, 'token': ' [n0:1]', 'before': 'Native 0: café 🦀 [n0:0]', | |
| 100 | 'range': [10, 17], 'replacement': ' café 🦀 [n0:1]'}] | |
| 101 | self.assertEqual(native_history(events, 0, 2, True), 'Native 0: café 🦀 [n0:1] [n0:0]') | |
| 102 | for field, value in [('before', 'Native 0:'), ('range', [15, 16]), | |
| 103 | ('operation', 0), ('replacement', 'unrecorded')]: | |
| 104 | changed = copy.deepcopy(events) | |
| 105 | changed[1][field] = value | |
| 106 | with self.assertRaises((AssertionError, UnicodeDecodeError)): | |
| 107 | native_history(changed, 0, 2, True) | |
| 108 | with self.assertRaises(AssertionError): native_history(events[:-1], 0, 2, True) | |
| 109 | ||
| 110 | def test_cold_capture_rejects_extra_missing_and_misformatted_content(self): | |
| 111 | with tempfile.TemporaryDirectory() as folder: | |
| 112 | root = Path(folder) | |
| 113 | (root / 'rust').mkdir() | |
| 114 | (root / 'n0').mkdir() | |
| 115 | (root / 'run.json').write_text(json.dumps({'stress_operations': 1, 'edit': True, | |
| 116 | 'rust_writers': 2, 'rust_readers': 1, 'stress_clients': 1})) | |
| 117 | text = 'Concurrent edits:' | |
| 118 | for i in range(2): | |
| 119 | events = self.logs[f'w{i}'] | |
| 120 | events[1].update(before=text, range=[17, len(text.encode('utf-16-le')) // 2], | |
| 121 | replacement=' café 🦀' + events[1]['token']) | |
| 122 | text = 'Concurrent edits:' + events[1]['replacement'] | |
| 123 | self.logs['r0'][1]['text'] = text | |
| 124 | for actor, events in self.logs.items(): | |
| 125 | (root / 'rust' / f'{actor}.jsonl').write_text('\n'.join(map(json.dumps, events))) | |
| 126 | event = {'operation': 0, 'token': ' [n0:0]', 'before': 'Native 0:', | |
| 127 | 'range': [9, 9], 'replacement': ' café 🦀 [n0:0]', 'bold': True, 'italic': False} | |
| 128 | (root / 'n0/stress-events.jsonl').write_text(json.dumps(event), encoding='utf-8-sig') | |
| 129 | native = '<OE style="font-weight:bold"><T>Native 0: café 🦀 [n0:0]</T></OE>' | |
| 130 | body = f'<OE><T>{text}</T></OE>{native}' | |
| 131 | page = root / 'page-000.xml' | |
| 132 | page.write_text(f'<Page xmlns="http://schemas.microsoft.com/office/onenote/2010/onenote"><Outline>{body}</Outline></Page>') | |
| 133 | result = verify_capture(root, root) | |
| 134 | self.assertEqual((result['rust_intents'], result['native_intents'], result['exact_paragraphs']), (2, 1, 2)) | |
| 135 | self.assertGreater(result['native_intended_format_checks'], 0) | |
| 136 | for changed in (body + native, body.replace(native, ''), body.replace('bold', 'normal')): | |
| 137 | page.write_text(f'<Page xmlns="http://schemas.microsoft.com/office/onenote/2010/onenote"><Outline>{changed}</Outline></Page>') | |
| 138 | with self.assertRaises(AssertionError): verify_capture(root, root) |
tools/test_notebook_report.py created+37| ... | ... | @@ -0,0 +1,37 @@ |
| 1 | import base64 | |
| 2 | from io import BytesIO | |
| 3 | import json | |
| 4 | from pathlib import Path | |
| 5 | import re | |
| 6 | from tempfile import TemporaryDirectory | |
| 7 | import unittest | |
| 8 | import xml.etree.ElementTree as ET | |
| 9 | ||
| 10 | from PIL import Image | |
| 11 | from notebook_report import generate | |
| 12 | ||
| 13 | ||
| 14 | class NotebookReportTest(unittest.TestCase): | |
| 15 | def test_tiff_preview_matches_native_pixels_and_retains_original_bytes(self): | |
| 16 | fixture = Path(__file__).resolve().parent.parent / 'corpus/m6/native-features-01' | |
| 17 | with TemporaryDirectory() as temporary: | |
| 18 | output = Path(temporary) / 'report' | |
| 19 | generate(fixture / 'notebook', output) | |
| 20 | page, = [p for p in json.loads((output / 'pages.json').read_text()) if p['title'] == 'Image tiff'] | |
| 21 | source, = re.findall(r'<img[^>]*src="([^"]+)"', (output / page['report']).read_text()) | |
| 22 | preview = output / source | |
| 23 | self.assertEqual(preview.suffix, '.png') | |
| 24 | original, = (output / 'assets').glob('*.tiff') | |
| 25 | self.assertEqual(original.read_bytes(), (fixture / 'notebook/fixture-data/pattern.tiff').read_bytes()) | |
| 26 | native, = [root for p in (fixture / 'read').glob('page-*.xml') | |
| 27 | if (root := ET.parse(p).getroot()).get('name') == 'Image tiff'] | |
| 28 | data, = [n.text for n in native.iter() if n.tag.endswith('}Data')] | |
| 29 | with Image.open(BytesIO(base64.b64decode(data))) as expected, Image.open(preview) as actual: | |
| 30 | self.assertEqual(actual.size, expected.size) | |
| 31 | self.assertEqual(actual.convert('RGBA').tobytes(), expected.convert('RGBA').tobytes()) | |
| 32 | references = [a['path'] for p in (output / 'model').glob('*/assets.json') for a in json.loads(p.read_text())] | |
| 33 | self.assertIn('../../assets/' + original.name, references) | |
| 34 | ||
| 35 | ||
| 36 | if __name__ == '__main__': | |
| 37 | unittest.main() |
tools/test_pdf_format.py created+53| ... | ... | @@ -0,0 +1,53 @@ |
| 1 | from pathlib import Path | |
| 2 | import runpy | |
| 3 | import unittest | |
| 4 | from types import SimpleNamespace | |
| 5 | from unittest.mock import patch | |
| 6 | ||
| 7 | verify = runpy.run_path(str(Path(__file__).with_name('verify-document.py')))['verify_pdf_black'] | |
| 8 | ||
| 9 | ||
| 10 | class PdfFormatOracleTest(unittest.TestCase): | |
| 11 | def test_unmapped_text_cannot_hide_missing_text_or_incorrect_highlighting(self): | |
| 12 | chars = [{'text': c, 'x0': i * 2, 'x1': i * 2 + 1, 'top': 0, 'bottom': 1} | |
| 13 | for i, c in enumerate('BeforeSilk after tail') if not c.isspace()] | |
| 14 | rect = {'fill': True, 'non_stroking_color': 0, 'x0': 12, 'x1': 19, 'top': 0, 'bottom': 1} | |
| 15 | page = SimpleNamespace(page_number=1, chars=chars, rects=[rect]) | |
| 16 | runs = [{'text': text, 'format': {'hidden': False, 'highlight': highlight}} | |
| 17 | for text, highlight in [('Before', None), ('Silk', 0), (' after e\u0301 tail', None)]] | |
| 18 | with patch('pdfplumber.open') as opened: | |
| 19 | opened.return_value.__enter__.return_value.pages = [page] | |
| 20 | self.assertEqual(verify('unused', [runs]), 1) | |
| 21 | page.rects.append({**rect, 'x0': 32, 'x1': 35}) | |
| 22 | with self.assertRaisesRegex(AssertionError, 'unhighlighted unmapped text'): | |
| 23 | verify('unused', [runs]) | |
| 24 | page.rects.pop() | |
| 25 | runs[2]['text'] = ' after ordinary tail' | |
| 26 | with self.assertRaisesRegex(AssertionError, 'ambiguous'): | |
| 27 | verify('unused', [runs]) | |
| 28 | runs[2].update(text=' after e\u0301 tail', format={'hidden': False, 'highlight': 0}) | |
| 29 | with self.assertRaisesRegex(AssertionError, 'visual verification'): | |
| 30 | verify('unused', [runs]) | |
| 31 | runs[2]['format']['highlight'] = None | |
| 32 | page.chars += chars | |
| 33 | with self.assertRaisesRegex(AssertionError, 'ambiguous'): | |
| 34 | verify('unused', [runs]) | |
| 35 | page.chars = [{**chars[0], 'text': 'a', 'x0': i * 2, 'x1': i * 2 + 1} for i in range(3)] | |
| 36 | page.rects = [{**rect, 'x0': 0, 'x1': 5}] | |
| 37 | with self.assertRaisesRegex(AssertionError, 'ambiguous'): | |
| 38 | verify('unused', [[{'text': 'aa', 'format': {'hidden': False, 'highlight': 0}}]]) | |
| 39 | ||
| 40 | def test_native_pdf_locates_partial_black_by_paragraph_and_character(self): | |
| 41 | pdf = Path(__file__).resolve().parent.parent / 'corpus/m6/native-structure-01/read/page-001.pdf' | |
| 42 | runs = [{'text': text, 'format': {'hidden': False, 'highlight': highlight}} | |
| 43 | for text, highlight in [('Before ', None), ('middle', 0), (' after', None)]] | |
| 44 | self.assertEqual(verify(pdf, [runs]), 1) | |
| 45 | runs[0]['text'] = 'Before m' | |
| 46 | runs[1]['text'] = 'iddle ' | |
| 47 | runs[2]['text'] = 'after' | |
| 48 | with self.assertRaisesRegex(AssertionError, 'character positions'): | |
| 49 | verify(pdf, [runs]) | |
| 50 | ||
| 51 | ||
| 52 | if __name__ == '__main__': | |
| 53 | unittest.main() |
tools/test_random_edit_campaign.py created+81| ... | ... | @@ -0,0 +1,81 @@ |
| 1 | import copy | |
| 2 | from pathlib import Path | |
| 3 | import json | |
| 4 | import subprocess | |
| 5 | import tempfile | |
| 6 | import unittest | |
| 7 | from random_edit_campaign import EDITOR, ROOT, export, verify | |
| 8 | from document_model import ordered_pages | |
| 9 | ||
| 10 | ||
| 11 | class RandomEditOracleTests(unittest.TestCase): | |
| 12 | def test_a_random_replacement_cannot_be_a_no_op(self): | |
| 13 | with tempfile.TemporaryDirectory() as temporary: | |
| 14 | source = Path(temporary) / 'source.one' | |
| 15 | subprocess.run([ROOT / 'target/debug/examples/create_section', source, ' café ', 'No-op regression'], check=True) | |
| 16 | before = export(source) | |
| 17 | for mode in ['create', 'in-place']: | |
| 18 | destination = Path(temporary) / (mode + '.one') | |
| 19 | if mode == 'create': | |
| 20 | args = [EDITOR, source, destination, '301'] | |
| 21 | else: | |
| 22 | destination.write_bytes(source.read_bytes()) | |
| 23 | args = [EDITOR, destination, '--in-place', '301'] | |
| 24 | record = json.loads(subprocess.check_output(args)) | |
| 25 | self.assertEqual(record['range'], [0, 0]) | |
| 26 | self.assertNotEqual(source.read_bytes(), destination.read_bytes()) | |
| 27 | verify(before, export(destination), record) | |
| 28 | ||
| 29 | def test_native_fixture_splice_and_unrelated_damage(self): | |
| 30 | source = ROOT / 'corpus/native/20260905-05/snapshots/06-attachment/notebook/synthetic.one' | |
| 31 | with tempfile.TemporaryDirectory() as temporary: | |
| 32 | destination = Path(temporary) / 'edited.one' | |
| 33 | record = json.loads(subprocess.check_output([EDITOR, source, destination, '42'])) | |
| 34 | before, after = export(source), export(destination) | |
| 35 | verify(before, after, record) | |
| 36 | sid, oid = record['space'], record['object'] | |
| 37 | rid = after[0]['spaces'][sid]['contexts']['{00000000-0000-0000-0000-000000000000},0'] | |
| 38 | for kind in ['format', 'metadata', 'payload', 'structure', 'ancestor-time', 'unrelated-time']: | |
| 39 | damaged = copy.deepcopy(after) | |
| 40 | if kind == 'format': damaged[1][sid][rid][oid][0]['format']['bold'] = not damaged[1][sid][rid][oid][0]['format']['bold'] | |
| 41 | if kind == 'metadata': damaged[0]['spaces'][sid]['revisions'][rid]['nodes'][oid]['created'] = 0 | |
| 42 | if kind == 'payload': damaged[2].append('another payload') | |
| 43 | if kind == 'structure': damaged[0]['spaces'][sid]['revisions'][rid]['nodes'][oid]['children'].append('another object') | |
| 44 | if kind == 'ancestor-time': damaged[0]['spaces'][sid]['revisions'][rid]['nodes'][record['page']]['modified'] = 0 | |
| 45 | if kind == 'unrelated-time': | |
| 46 | old_rid = before[0]['spaces'][sid]['contexts']['{00000000-0000-0000-0000-000000000000},0'] | |
| 47 | old = before[0]['spaces'][sid]['revisions'][old_rid]['nodes'] | |
| 48 | nodes = damaged[0]['spaces'][sid]['revisions'][rid]['nodes'] | |
| 49 | key = next(key for key, node in nodes.items() if node['modified'] is not None and node['modified'] == old[key]['modified']) | |
| 50 | nodes[key]['modified'] = 0 | |
| 51 | with self.assertRaises(AssertionError, msg=kind): verify(before, damaged, record) | |
| 52 | ||
| 53 | def test_seeded_edits_work_on_native_legacy_text(self): | |
| 54 | source = ROOT / 'corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one' | |
| 55 | with tempfile.TemporaryDirectory() as temporary: | |
| 56 | for seed in range(42, 74): | |
| 57 | destination = Path(temporary) / f'{seed}.one' | |
| 58 | result = subprocess.run([EDITOR, source, destination, str(seed)], capture_output=True, text=True) | |
| 59 | self.assertEqual(result.returncode, 0, (seed, result.stderr)) | |
| 60 | self.assertTrue(destination.is_file()) | |
| 61 | ||
| 62 | def test_title_cache_changes_are_required_and_bounded(self): | |
| 63 | source = ROOT / 'corpus/m6/native-structure-01/notebook/synthetic.one' | |
| 64 | before = export(source) | |
| 65 | sid, _, revision, page = next(p for p in ordered_pages(before[0]) if any( | |
| 66 | n['kind']['type'] == 'RichText' and any(f['id'] == 0x88001cb4 for f in n['extra'][0]) | |
| 67 | for n in p[2]['nodes'].values())) | |
| 68 | with tempfile.TemporaryDirectory() as temporary: | |
| 69 | destination = Path(temporary) / 'edited.one' | |
| 70 | record = json.loads(subprocess.check_output([EDITOR, source, destination, '98', page])) | |
| 71 | self.assertTrue(any(f['id'] == 0x88001cb4 for f in revision['nodes'][record['object']]['extra'][0])) | |
| 72 | after = export(destination) | |
| 73 | verify(before, after, record) | |
| 74 | rid = after[0]['spaces'][sid]['contexts']['{00000000-0000-0000-0000-000000000000},0'] | |
| 75 | damaged = copy.deepcopy(after) | |
| 76 | damaged[0]['spaces'][sid]['revisions'][rid]['nodes'][revision['roots']['2']]['kind']['title'] = revision['nodes'][revision['roots']['2']]['kind']['title'] | |
| 77 | with self.assertRaises(AssertionError): verify(before, damaged, record) | |
| 78 | ||
| 79 | ||
| 80 | if __name__ == '__main__': | |
| 81 | unittest.main() |
tools/toc_boundary.py created+45| ... | ... | @@ -0,0 +1,45 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Generate a reproducible TOC edit history that crosses log and counter boundaries.""" | |
| 3 | import argparse | |
| 4 | from document_model import EXPORTER, view | |
| 5 | import hashlib | |
| 6 | import json | |
| 7 | from pathlib import Path | |
| 8 | import shutil | |
| 9 | import subprocess | |
| 10 | import tempfile | |
| 11 | ||
| 12 | ROOT = Path(__file__).resolve().parent.parent | |
| 13 | ||
| 14 | if __name__ == '__main__': | |
| 15 | parser = argparse.ArgumentParser(description=__doc__) | |
| 16 | parser.add_argument('source', type=Path) | |
| 17 | parser.add_argument('destination', type=Path) | |
| 18 | args = parser.parse_args() | |
| 19 | if args.destination.resolve().is_relative_to(args.source.resolve()): | |
| 20 | raise ValueError('Choose a destination outside the source notebook.') | |
| 21 | args.destination.mkdir(parents=True, exist_ok=False) | |
| 22 | notebook = args.destination / 'notebook' | |
| 23 | shutil.copytree(args.source, notebook) | |
| 24 | toc = notebook / 'Open Notebook.onetoc2' | |
| 25 | original = toc.read_bytes() | |
| 26 | doc = json.loads(subprocess.check_output([EXPORTER, toc])) | |
| 27 | _, space = view(doc, doc['root']); oid = space['roots']['1'] | |
| 28 | color = space['nodes'][oid]['kind']['color'] | |
| 29 | history = [] | |
| 30 | with tempfile.TemporaryDirectory() as temporary: | |
| 31 | source = Path(temporary) / 'current' | |
| 32 | source.write_bytes(original) | |
| 33 | for value in range(260): | |
| 34 | destination = Path(temporary) / 'next' | |
| 35 | subprocess.run([ROOT / 'target/debug/examples/edit_property', source, destination, | |
| 36 | '20001', '14001cbe', color.to_bytes(4, 'little').hex(), | |
| 37 | value.to_bytes(4, 'little').hex(), doc['root'], oid], check=True) | |
| 38 | destination.replace(source) | |
| 39 | history.append({'before': color, 'after': value}) | |
| 40 | color = value | |
| 41 | toc.write_bytes(source.read_bytes()) | |
| 42 | (args.destination / 'history.json').write_text(json.dumps({ | |
| 43 | 'source_sha256': hashlib.sha256(original).hexdigest(), 'space': doc['root'], 'object': oid, | |
| 44 | 'property': '14001cbe', 'operations': history, 'result_sha256': hashlib.sha256(toc.read_bytes()).hexdigest(), | |
| 45 | }, indent=2)) |
tools/verify-collaboration.py created+104| ... | ... | @@ -0,0 +1,104 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Verify captured SMB collaboration and recovery against native cold reads.""" | |
| 3 | from collections import defaultdict | |
| 4 | import hashlib | |
| 5 | import json | |
| 6 | from pathlib import Path | |
| 7 | import subprocess | |
| 8 | import xml.etree.ElementTree as ET | |
| 9 | from native_xml import ns, pages, texts | |
| 10 | ||
| 11 | root = Path(__file__).resolve().parent.parent | |
| 12 | corpus = root / 'corpus/collaboration/round-01' | |
| 13 | for item in json.loads((corpus / 'manifest.json').read_text())['files']: | |
| 14 | data = (corpus / item['path']).read_bytes() | |
| 15 | assert len(data) == item['bytes'] | |
| 16 | assert hashlib.sha256(data).hexdigest() == item['sha256'], item['path'] | |
| 17 | ||
| 18 | expected = { | |
| 19 | 'fault-01': ['A notebook created in Rust.'], | |
| 20 | 'fault-02': ['Publication survived a lost reply.'], | |
| 21 | 'fault-03': ['Cleanup survived a lost reply.'], | |
| 22 | 'live-01': ['Live Rust: café, 東京, مرحبا', 'Rust same paragraph.', 'Left cell', 'Right cell'], | |
| 23 | 'offline-02': ['Rust edited during the native outage.'], | |
| 24 | 'contention-01': ['Native edit waited for the lock.'], | |
| 25 | } | |
| 26 | for name, text in expected.items(): | |
| 27 | captured = pages(corpus / 'native' / f'stage5-cold-{name}' / 'read') | |
| 28 | assert len(captured) == 1 and texts(captured[0]) == text, name | |
| 29 | ||
| 30 | subprocess.run(['cargo', 'build', '--quiet', '--example', 'inventory'], cwd=root, check=True) | |
| 31 | for case, main, conflict in [ | |
| 32 | ('live', 'Rust same paragraph.', 'Native same paragraph.'), | |
| 33 | ('offline', 'Rust edited during the native outage.', 'Native edited while disconnected.'), | |
| 34 | ]: | |
| 35 | output = subprocess.check_output([root / 'target/debug/examples/inventory', corpus / case / 'notebook/synthetic.one'], text=True) | |
| 36 | by_space = defaultdict(list) | |
| 37 | metadata = {} | |
| 38 | for row in output.splitlines(): | |
| 39 | kind, space, value = row.split('\t') | |
| 40 | if kind == 'page': | |
| 41 | metadata[space] = int(value, 16) | |
| 42 | elif kind in ('ascii', 'unicode'): | |
| 43 | by_space[space].append(bytes.fromhex(value).decode('ascii' if kind == 'ascii' else 'utf-16-le').rstrip('\0')) | |
| 44 | assert sum(metadata.get(space) == 0x20030 and main in text for space, text in by_space.items()) == 1 | |
| 45 | assert any(metadata.get(space) == 0x20038 and conflict in text for space, text in by_space.items()) | |
| 46 | ||
| 47 | before = ET.parse(corpus / 'live/before-native-edit.xml').getroot() | |
| 48 | merged = ET.parse(corpus / 'live/merged.xml').getroot() | |
| 49 | assert 'Fictitious: café, 東京, مرحبا' in texts(before) | |
| 50 | assert texts(merged) == ['Live Rust: café, 東京, مرحبا', 'Native edited the other outline.', 'Left cell', 'Right cell'] | |
| 51 | ||
| 52 | # Cache identities and edit timestamps change across native COM saves. | |
| 53 | def content(node): | |
| 54 | attrs = {key: value for key, value in node.attrib.items() | |
| 55 | if key not in ('objectID', 'pathCache', 'creationTime', 'lastModifiedTime')} | |
| 56 | return node.tag, sorted(attrs.items()), (node.text or '').strip(), [content(child) for child in node] | |
| 57 | ||
| 58 | original = pages(root / 'corpus/native-ink/cold-ui-ink/read')[0] | |
| 59 | final = pages(corpus / 'native/stage5-cold-live-01/read')[0] | |
| 60 | # These exact geometry changes appeared in the first native COM merge capture. | |
| 61 | ink_position = original.findall('one:InkDrawing/one:Position', ns)[1] | |
| 62 | assert ink_position.get('z') == '7' | |
| 63 | assert merged.findall('one:InkDrawing/one:Position', ns)[1].get('z') == '6' | |
| 64 | ink_position.set('z', '6') | |
| 65 | column = original.find('.//one:Table/one:Columns/one:Column', ns) | |
| 66 | assert column.get('width') == '39.14614105224609' | |
| 67 | assert merged.find('.//one:Table/one:Columns/one:Column', ns).get('width') == '38.61000061035156' | |
| 68 | column.set('width', '38.61000061035156') | |
| 69 | for tag in ('Image', 'InkDrawing', 'Table', 'InsertedFile'): | |
| 70 | old = [content(node) for node in original.findall(f'.//one:{tag}', ns)] | |
| 71 | new = [content(node) for node in final.findall(f'.//one:{tag}', ns)] | |
| 72 | assert old and old == new, tag | |
| 73 | assert [content(node) for node in original.findall('one:QuickStyleDef', ns)] == [content(node) for node in final.findall('one:QuickStyleDef', ns)] | |
| 74 | assert [node.attrib for node in original.findall('one:Outline/one:Position', ns)] == [node.attrib for node in final.findall('one:Outline/one:Position', ns)] | |
| 75 | assert next((root / 'corpus/native-ink/cold-ui-ink/read').glob('*.attachment')).read_bytes() == next((corpus / 'native/stage5-cold-live-01/read').glob('*.attachment')).read_bytes() | |
| 76 | ||
| 77 | lock = json.loads((corpus / 'contention/lock-result.json').read_text()) | |
| 78 | assert lock['changed_while_locked'] is False | |
| 79 | assert lock['before_sha256'] == lock['after_sha256'] | |
| 80 | assert hashlib.sha256((corpus / 'contention/notebook/synthetic.one').read_bytes()).hexdigest() != lock['after_sha256'] | |
| 81 | assert 'write' in (corpus / 'contention/locks.txt').read_text() | |
| 82 | assert json.loads((corpus / 'contention/controller/inbox/0002.json').read_text())['text'] == expected['contention-01'][0] | |
| 83 | for action in (2, 3): | |
| 84 | assert (corpus / f'contention/controller/outbox/{action}/done').read_text() == 'ok' | |
| 85 | ||
| 86 | trace = [json.loads(line) for line in (corpus / 'smb-faults.jsonl').read_text().splitlines()] | |
| 87 | cuts = [i for i, row in enumerate(trace) if 'cut' in row] | |
| 88 | assert len(cuts) == 3 | |
| 89 | start = 0 | |
| 90 | for end, counter, state, case in zip(cuts, (1, 2, 256), ('NotCommitted', 'Unknown', 'Committed'), ('fault-01', 'fault-02', 'fault-03')): | |
| 91 | cut = trace[end]['cut'] | |
| 92 | assert cut['command'] == 7 and cut['direction'] == 'response' and cut['status'] == '0x0' | |
| 93 | segment = trace[start:end] | |
| 94 | assert [row['transactions'] for row in segment if 'transactions' in row][-1] == counter | |
| 95 | assert any([0, 2**64 - 1, 18] in row.get('locks', []) for row in segment) | |
| 96 | result = json.loads((corpus / case / 'result.json').read_text()) | |
| 97 | assert result['exit'] != 0 | |
| 98 | assert result.get('state') == state or f'state: {state},' in result.get('stderr', '') | |
| 99 | if counter == 256: | |
| 100 | publication = next(i for i, row in enumerate(segment) if row.get('transactions') == 511) | |
| 101 | cleanup = next(i for i, row in enumerate(segment) if row.get('transactions') == 256) | |
| 102 | assert any(row.get('direction') == 'response' and row.get('command') == 7 and row.get('status') == '0x0' for row in segment[publication + 1:cleanup]) | |
| 103 | start = end + 1 | |
| 104 | print('Passed: native lock contention, disjoint merge, retained conflict edits, offline convergence, three lost-FLUSH outcomes, and cold native content preservation') |
tools/verify-corpus.py created+110| ... | ... | @@ -0,0 +1,110 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Check native fixture content independently of a revision-store parser.""" | |
| 3 | import base64 | |
| 4 | from collections import Counter | |
| 5 | import hashlib | |
| 6 | import json | |
| 7 | from pathlib import Path | |
| 8 | import xml.etree.ElementTree as ET | |
| 9 | from native_xml import ns, texts, pages | |
| 10 | ||
| 11 | root = Path(__file__).resolve().parent.parent | |
| 12 | native = root / 'corpus/native/20260905-05' | |
| 13 | ||
| 14 | ||
| 15 | manifest = json.loads((native / 'manifest.json').read_text(encoding='utf-8-sig')) | |
| 16 | assert manifest['status'] == 'completed' | |
| 17 | assert manifest['office']['file_version'] == '14.0.7015.1000' | |
| 18 | assert len(manifest['fixtures']) == 9 | |
| 19 | for fixture in manifest['fixtures']: | |
| 20 | name = fixture['name'] | |
| 21 | assert fixture['status'] == 'captured', name | |
| 22 | snapshot = native / 'snapshots' / name | |
| 23 | recorded = json.loads((snapshot / 'snapshot.json').read_text(encoding='utf-8-sig')) | |
| 24 | for item in recorded['files']: | |
| 25 | data = (snapshot / 'notebook' / item['path'].replace('\\', '/')).read_bytes() | |
| 26 | assert len(data) == item['bytes'], name | |
| 27 | assert hashlib.sha256(data).hexdigest() == item['sha256'], name | |
| 28 | warm = pages(native / 'evidence' / name / 'pages') | |
| 29 | cold = pages(root / 'corpus/native' / ('cold-05-' + name) / 'read') | |
| 30 | number = int(name[:2]) | |
| 31 | assert len(warm) == len(cold) == (0 if number == 0 else 1), name | |
| 32 | if not cold: | |
| 33 | continue | |
| 34 | page = cold[0] | |
| 35 | assert texts(page) == texts(warm[0]), name | |
| 36 | expected = [] | |
| 37 | if number == 2: | |
| 38 | expected = ['Fictitious plain text.'] | |
| 39 | elif number >= 3: | |
| 40 | expected = ['Fictitious: café, 東京, مرحبا'] | |
| 41 | if number >= 4: | |
| 42 | expected += ['Fictitious positioned outline.'] | |
| 43 | if number >= 7: | |
| 44 | expected += ['Left cell', 'Right cell'] | |
| 45 | assert texts(page) == expected, name | |
| 46 | if number >= 3: | |
| 47 | assert 'font-weight:bold' in ''.join(n.text or '' for n in page.findall('.//one:T', ns)), name | |
| 48 | assert any('color:#1F4E79' in n.get('style', '') for n in page.findall('.//one:OE', ns)), name | |
| 49 | if number >= 4: | |
| 50 | positioned = [o for o in page.findall('one:Outline', ns) if texts(o) == ['Fictitious positioned outline.']] | |
| 51 | assert len(positioned) == 1, name | |
| 52 | position = positioned[0].find('one:Position', ns) | |
| 53 | assert float(position.get('x')) == 144 and float(position.get('y')) == 96, name | |
| 54 | images = page.findall('.//one:Image/one:Data', ns) | |
| 55 | assert len(images) == int(number >= 5), name | |
| 56 | for data in images: | |
| 57 | assert base64.b64decode(data.text) == (native / 'assets/fictitious-image.png').read_bytes(), name | |
| 58 | attachments = page.findall('.//one:InsertedFile', ns) | |
| 59 | assert len(attachments) == int(number >= 6), name | |
| 60 | if attachments: | |
| 61 | assert attachments[0].get('preferredName') == 'fictitious-attachment.txt', name | |
| 62 | tables = page.findall('.//one:Table', ns) | |
| 63 | assert len(tables) == int(number >= 7), name | |
| 64 | if tables: | |
| 65 | assert [texts(cell) for cell in tables[0].findall('one:Row/one:Cell', ns)] == [['Left cell'], ['Right cell']], name | |
| 66 | ||
| 67 | ink = root / 'corpus/native-ink/cold-ui-ink/read' | |
| 68 | ink_pages = pages(ink) | |
| 69 | assert len(ink_pages) == 1 | |
| 70 | drawings = ink_pages[0].findall('one:InkDrawing', ns) | |
| 71 | assert len(drawings) == 2 | |
| 72 | for drawing in drawings: | |
| 73 | assert len(base64.b64decode(drawing.find('one:Data', ns).text)) > 20 | |
| 74 | attachment = list(ink.glob('*.attachment')) | |
| 75 | assert len(attachment) == 1 | |
| 76 | assert attachment[0].read_bytes() == (native / 'assets/fictitious-attachment.txt').read_bytes() | |
| 77 | ||
| 78 | encrypted = root / 'corpus/native-encrypted' | |
| 79 | provenance = json.loads((encrypted / 'manifest.json').read_text()) | |
| 80 | for item in provenance['files']: | |
| 81 | data = (encrypted / item['path']).read_bytes() | |
| 82 | assert len(data) == item['bytes'] | |
| 83 | assert hashlib.sha256(data).hexdigest() == item['sha256'] | |
| 84 | unlocked = pages(encrypted / 'cold-encrypted-02/read') | |
| 85 | assert len(unlocked) == 1 | |
| 86 | assert texts(unlocked[0]) == [''] + texts(pages(root / 'corpus/native/cold-05-07-table/read')[0]) | |
| 87 | assert next((encrypted / 'cold-encrypted-02/read').glob('*.attachment')).read_bytes() == attachment[0].read_bytes() | |
| 88 | ||
| 89 | deleted = root / 'corpus/native-delete/cold-deletion-05/read' | |
| 90 | deleted_pages = pages(deleted) | |
| 91 | assert len(deleted_pages) == 2 | |
| 92 | marker = [page for page in deleted_pages if texts(page) == ['Recoverable deletion marker.']] | |
| 93 | assert len(marker) == 1 | |
| 94 | hierarchy = ET.parse(deleted / 'hierarchy.xml') | |
| 95 | trash = [p.get('ID') for section in hierarchy.findall('.//one:Section', ns) | |
| 96 | if section.get('isInRecycleBin') == 'true' for p in section.findall('one:Page', ns)] | |
| 97 | assert marker[0].get('ID') in trash | |
| 98 | ||
| 99 | private = root / 'corpus/private' | |
| 100 | source = json.loads((private / 'source-manifest.json').read_text()) | |
| 101 | for item in source['files']: | |
| 102 | assert hashlib.sha256((private / 'original' / item['path']).read_bytes()).hexdigest() == item['sha256'] | |
| 103 | private_pages = pages(private / 'exact-native/read') | |
| 104 | private_ids = {p.get('ID') for p in private_pages} | |
| 105 | tree = ET.parse(private / 'exact-native/read/hierarchy.xml') | |
| 106 | assert private_ids == {p.get('ID') for p in tree.findall('.//one:Page', ns)} | |
| 107 | assert len(private_ids) == 26 | |
| 108 | features = Counter(e.tag.rsplit('}', 1)[-1] for page in private_pages for e in page.iter()) | |
| 109 | assert features['InkDrawing'] and features['MediaFile'] and features['Image'] and features['Tag'] | |
| 110 | print('Passed: 9 generated snapshots, cold ink, deletion and encryption fixtures, attachment bytes, 26 private pages') |
tools/verify-document.py created+362| ... | ... | @@ -0,0 +1,362 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Compare document order and text with independently captured OneNote XML.""" | |
| 3 | import argparse | |
| 4 | import base64 | |
| 5 | import hashlib | |
| 6 | from io import BytesIO | |
| 7 | from tempfile import TemporaryDirectory | |
| 8 | from PIL import Image | |
| 9 | from datetime import datetime, timezone | |
| 10 | import json | |
| 11 | from pathlib import Path, PureWindowsPath | |
| 12 | from zoneinfo import ZoneInfo | |
| 13 | import subprocess | |
| 14 | import xml.etree.ElementTree as ET | |
| 15 | import uuid | |
| 16 | import unicodedata | |
| 17 | from native_xml import ns, pages, texts, project_text | |
| 18 | from document_model import EXPORTER, ordered_pages, version_pages, walk | |
| 19 | from native_format import native_characters, compare_formats | |
| 20 | ||
| 21 | ROOT = Path(__file__).resolve().parent.parent | |
| 22 | ||
| 23 | ||
| 24 | def verify_pdf_black(path, paragraphs): | |
| 25 | import pdfplumber | |
| 26 | characters = [] | |
| 27 | with pdfplumber.open(path) as pdf: | |
| 28 | for page in pdf.pages: | |
| 29 | black = [r for r in page.rects if r.get('fill') and r.get('non_stroking_color') in (0, (0, 0, 0))] | |
| 30 | for char in page.chars: | |
| 31 | if char['text'].isspace(): | |
| 32 | continue | |
| 33 | x, y = (char['x0'] + char['x1']) / 2, (char['top'] + char['bottom']) / 2 | |
| 34 | covered = any(r['x0'] - .2 <= x <= r['x1'] + .2 and r['top'] - .2 <= y <= r['bottom'] + .2 for r in black) | |
| 35 | characters.extend((c, covered, (page.page_number, char, black)) for c in char['text']) | |
| 36 | text = ''.join(c for c, _, _ in characters) | |
| 37 | checked = 0 | |
| 38 | for runs in paragraphs: | |
| 39 | source = [(c, run['format']['highlight'] == 0) for run in runs if not run['format']['hidden'] | |
| 40 | for c in run['text'] if not c.isspace()] | |
| 41 | if not any(black for _, black in source): | |
| 42 | continue | |
| 43 | value = ''.join(c for c, _ in source) | |
| 44 | omitted = [] | |
| 45 | if value not in text: | |
| 46 | # OneNote can map rendered combining clusters to spaces in PDF text. | |
| 47 | projected = [] | |
| 48 | index = 0 | |
| 49 | while index < len(source): | |
| 50 | end = index + 1 | |
| 51 | while end < len(source) and unicodedata.combining(source[end][0]): | |
| 52 | end += 1 | |
| 53 | if end > index + 1: | |
| 54 | assert not any(black for _, black in source[index:end]), 'Black-highlighted unmapped text requires visual verification' | |
| 55 | omitted.append(len(projected)) | |
| 56 | else: | |
| 57 | projected.append(source[index]) | |
| 58 | index = end | |
| 59 | source = projected | |
| 60 | value = ''.join(c for c, _ in source) | |
| 61 | start = text.find(value) | |
| 62 | assert start >= 0 and text.find(value, start + 1) < 0, 'Native PDF paragraph text is missing or ambiguous' | |
| 63 | assert [(c, covered) for c, covered, _ in characters[start:start + len(source)]] == source, 'Native PDF black rectangles disagree with the stored character positions' | |
| 64 | for index in omitted: | |
| 65 | assert 0 < index < len(source), 'Unmapped text has no surrounding PDF characters' | |
| 66 | left_page, left, black = characters[start + index - 1][2] | |
| 67 | right_page, right, _ = characters[start + index][2] | |
| 68 | assert left_page == right_page and abs(left['top'] - right['top']) < .2 and left['x1'] < right['x0'], 'Unmapped text has no unambiguous inline PDF position' | |
| 69 | assert not any(r['x0'] < right['x0'] - .2 and r['x1'] > left['x1'] + .2 | |
| 70 | and r['top'] < min(left['bottom'], right['bottom']) - .2 | |
| 71 | and r['bottom'] > max(left['top'], right['top']) + .2 for r in black), 'Native PDF black rectangles cover unhighlighted unmapped text' | |
| 72 | checked += 1 | |
| 73 | assert checked, 'No stored black-highlight paragraph was checked' | |
| 74 | return checked | |
| 75 | ||
| 76 | ||
| 77 | def visible_text(node, space): | |
| 78 | kind = node['kind'] | |
| 79 | data = kind['text'].encode('utf-16-le') | |
| 80 | text = ''.join(data[run['start'] * 2:run['end'] * 2].decode('utf-16-le') for run in kind['runs'] | |
| 81 | if not run['format'] or not space['nodes'][run['format']]['format']['hidden']) | |
| 82 | return "" if text == "\u00a0" else project_text(text.removesuffix('\r')) | |
| 83 | ||
| 84 | ||
| 85 | def compare_objects(space, roots, page, native_roots, assets, native_payloads): | |
| 86 | types = {'T': 'RichText', 'Image': 'Image', 'InsertedFile': 'Attachment', 'MediaFile': 'Attachment', 'Table': 'Table'} | |
| 87 | actual = [n for root in roots for _, n in walk(space, root) | |
| 88 | if n['kind']['type'] in types.values() and not n['kind'].get('boilerplate')] | |
| 89 | wanted = [n for root in native_roots for n in root.iter() if n.tag.rsplit('}', 1)[-1] in types] | |
| 90 | assert [n['kind']['type'] for n in actual] == [types[n.tag.rsplit('}', 1)[-1]] for n in wanted], 'Content object order differs' | |
| 91 | parents = {child: parent for parent in page.iter() for child in parent} | |
| 92 | definitions = {n.attrib['index']: n for n in page.findall('one:TagDef', ns)} | |
| 93 | count = 0 | |
| 94 | for node, native in zip(actual, wanted, strict=True): | |
| 95 | kind = node['kind'] | |
| 96 | if kind['type'] in ('Image', 'Attachment'): | |
| 97 | container = space['nodes'][kind['container']]['kind'] | |
| 98 | data = assets[json.dumps(container['reference'], sort_keys=True)] | |
| 99 | if kind['type'] == 'Image': | |
| 100 | expected = base64.b64decode(native.find('one:Data', ns).text) | |
| 101 | if data != expected: | |
| 102 | actual_image = Image.open(BytesIO(data)).convert('RGBA') | |
| 103 | expected_image = Image.open(BytesIO(expected)).convert('RGBA') | |
| 104 | assert actual_image.size == expected_image.size and actual_image.tobytes() == expected_image.tobytes(), 'Image pixels differ' | |
| 105 | assert bool(kind['background']) == (native.get('backgroundImage') == 'true'), 'Image background state differs' | |
| 106 | assert bool(kind['printout']) == (native.get('isPrintOut') == 'true'), 'Image printout state differs' | |
| 107 | assert kind['alt'] == native.get('alt'), 'Image alternative text differs' | |
| 108 | assert kind['link'] == native.get('hyperlink'), 'Image hyperlink differs' | |
| 109 | size = native.find('one:Size', ns) | |
| 110 | if size is None: | |
| 111 | assert native.get('format') == 'png' and Image.open(BytesIO(expected)).size == (1, 1), 'Native image size is unavailable' | |
| 112 | assert node['layout']['max_width'] is None and node['layout']['max_height'] is None, 'Native image omitted an explicit size' | |
| 113 | for axis in ('width', 'height'): | |
| 114 | native_size = .75 if size is None else float(size.get(axis)) | |
| 115 | stored_size = node['layout']['max_' + axis] | |
| 116 | if stored_size is None: | |
| 117 | stored_size = kind['picture_' + axis] | |
| 118 | if stored_size is not None: | |
| 119 | # Native printout XML includes the 0.72-point border on each side. | |
| 120 | frame_size = stored_size + (1.44 if kind['printout'] else 0) | |
| 121 | assert abs(frame_size - native_size) < .002, ('Image display dimension differs', axis, frame_size, native_size) | |
| 122 | else: | |
| 123 | expected = [p for p in native_payloads if p['page'] == page.get('ID') and p['object'] == parents[native].get('objectID')] | |
| 124 | assert len(expected) == 1, 'Native attachment association is ambiguous' | |
| 125 | assert hashlib.sha256(data).hexdigest() == expected[0]['sha256'], 'Associated attachment bytes differ' | |
| 126 | assert kind['filename'] == expected[0]['name'], 'Attachment filename differs' | |
| 127 | media = native.find('one:MediaReference', ns) | |
| 128 | assert (kind['recording_id'] is None) == (media is None), 'Recording identity presence differs' | |
| 129 | if media is not None: | |
| 130 | assert uuid.UUID(bytes_le=bytes(kind['recording_id'])) == uuid.UUID(media.get('mediaID')), 'Recording identity differs' | |
| 131 | elif kind['type'] == 'Table': | |
| 132 | rows = native.findall('one:Row', ns) | |
| 133 | columns = native.findall('one:Columns/one:Column', ns) | |
| 134 | assert len(rows) == kind['rows'] and len(columns) == kind['columns'], 'Table dimensions differ' | |
| 135 | for column, width in zip(columns, kind['widths'], strict=True): | |
| 136 | assert abs(float(column.get('width')) - width) < .002, 'Table column width differs' | |
| 137 | assert (kind['locked'] or [False] * len(columns)) == [c.get('isLocked') == 'true' for c in columns], 'Table column lock state differs' | |
| 138 | assert len(node['children']) == len(rows), 'Table row count differs' | |
| 139 | for oid, row in zip(node['children'], rows, strict=True): | |
| 140 | assert len(space['nodes'][oid]['children']) == len(row.findall('one:Cell', ns)), 'Table cell count differs' | |
| 141 | tags = native.findall('one:Tag', ns) + parents[native].findall('one:Tag', ns) | |
| 142 | tasks = native.findall('one:OutlookTask', ns) + parents[native].findall('one:OutlookTask', ns) | |
| 143 | assert len(node['tags']) == len(tags) + len(tasks), 'Associated note tag count differs' | |
| 144 | by_type = {int(definitions[t.attrib['index']].attrib['type']): t for t in tags} | |
| 145 | assert len(by_type) == len(tags), 'Native note tag types are repeated' | |
| 146 | for tag in node['tags']: | |
| 147 | if tag['status'] & 4: | |
| 148 | assert len(tasks) == 1 and tag['definition'] is None, 'Task association differs' | |
| 149 | task = tasks[0] | |
| 150 | assert uuid.UUID(bytes_le=bytes(tag['task_id'])) == uuid.UUID(task.get('guidTask')), 'Task identity differs' | |
| 151 | for mask, name in [(1, 'completed'), (2, 'disabled')]: | |
| 152 | assert bool(tag['status'] & mask) == (task.get(name) == 'true'), 'Task state differs' | |
| 153 | for field, name in [('created', 'creationDate'), ('completed', 'completionDate'), ('start', 'startDate'), ('due', 'dueDate')]: | |
| 154 | if tag[field]: | |
| 155 | actual = datetime.fromtimestamp(tag[field] + 315532800, timezone.utc) | |
| 156 | assert actual == datetime.fromisoformat(task.get(name).replace('Z', '+00:00')), 'Task date differs' | |
| 157 | else: | |
| 158 | assert task.get(name) is None, 'Unset task date differs' | |
| 159 | count += 1 | |
| 160 | continue | |
| 161 | definition = space['nodes'][tag['definition']]['kind'] | |
| 162 | expected = by_type[definition['action_type']] | |
| 163 | native_definition = definitions[expected.attrib['index']] | |
| 164 | assert definition['label'] == native_definition.attrib['name'], 'Tag label differs' | |
| 165 | assert definition['shape'] == int(native_definition.attrib['symbol']), 'Tag shape differs' | |
| 166 | assert definition['action_type'] == int(native_definition.attrib['type']), 'Tag type differs' | |
| 167 | assert bool(tag['status'] & 1) == (expected.attrib['completed'] == 'true'), 'Tag completion differs' | |
| 168 | assert bool(tag['status'] & 2) == (expected.attrib['disabled'] == 'true'), 'Tag disabled state differs' | |
| 169 | for field, key in [('created', 'creationDate'), ('completed', 'completionDate')]: | |
| 170 | if field == 'completed' and tag[field] == 0: | |
| 171 | assert key not in expected.attrib, 'Unset tag completion date was exported' | |
| 172 | continue | |
| 173 | if tag[field] is not None: | |
| 174 | timestamp = datetime.fromtimestamp(tag[field] + 315532800, timezone.utc) | |
| 175 | assert timestamp == datetime.fromisoformat(expected.attrib[key].replace('Z', '+00:00')), 'Tag date differs' | |
| 176 | for field, key in [('color', 'fontColor'), ('highlight', 'highlightColor')]: | |
| 177 | value = definition[field] | |
| 178 | if value is not None: | |
| 179 | color = native_definition.attrib[key].lower() | |
| 180 | assert (value == 0xff000000 and color in ('automatic', 'none')) or color == '#' + ''.join(f'{(value >> (8 * i)) & 255:02x}' for i in range(3)), 'Tag color differs' | |
| 181 | count += 1 | |
| 182 | indexes = native.findall('one:MediaIndex', ns) + parents[native].findall('one:MediaIndex', ns) | |
| 183 | assert [uuid.UUID(bytes_le=bytes(value)) for value in node['media_ids']] == [uuid.UUID(value.find('one:MediaReference', ns).get('mediaID')) for value in indexes], 'Recording annotation association differs' | |
| 184 | for index in indexes: | |
| 185 | assert node['media_time_ms'] == int(index.get('timeIndex')), 'Recording annotation time differs' | |
| 186 | return count | |
| 187 | ||
| 188 | ||
| 189 | def compare(notebook, native, versions=None): | |
| 190 | notebook = notebook.resolve(strict=True) | |
| 191 | native = native.resolve(strict=True) | |
| 192 | sections = sorted(notebook.rglob('*.one')) | |
| 193 | assert sections, 'No notebook sections were supplied for comparison' | |
| 194 | captures = {page.attrib['ID']: (page, path.with_suffix('.pdf')) | |
| 195 | for path, page in zip(sorted(native.glob('page-*.xml')), pages(native), strict=True)} | |
| 196 | native_payloads = json.loads((native / 'payloads.json').read_text(encoding='utf-8-sig')) if (native / 'payloads.json').exists() else [] | |
| 197 | hierarchy = ET.parse(native / 'hierarchy.xml').getroot() | |
| 198 | compared = formatting = tags = 0 | |
| 199 | discrepancies = [] | |
| 200 | pdf_checks = [] | |
| 201 | geometry = [] | |
| 202 | for path in sections: | |
| 203 | relative = path.relative_to(notebook) | |
| 204 | if versions is not None and relative.as_posix() != versions['section']: | |
| 205 | continue | |
| 206 | with TemporaryDirectory() as temporary: | |
| 207 | exported = Path(temporary) / 'document' | |
| 208 | subprocess.run([EXPORTER, path, exported], check=True) | |
| 209 | document = json.loads((exported / 'document.json').read_text()) | |
| 210 | resolved_text = json.loads((exported / 'text.json').read_text()) | |
| 211 | assets = {json.dumps(a['reference'], sort_keys=True): (exported / a['path']).read_bytes() | |
| 212 | for a in json.loads((exported / 'assets.json').read_text())} | |
| 213 | candidates = [n for n in hierarchy.findall('.//one:Section', ns) | |
| 214 | if PureWindowsPath(n.attrib['path']).parts[-len(relative.parts):] == relative.parts] | |
| 215 | assert len(candidates) == 1, (relative, 'native section identity') | |
| 216 | expected = [captures[n.attrib['ID']][0] for n in candidates[0].findall('one:Page', ns)] | |
| 217 | actual = list(ordered_pages(document)) | |
| 218 | if versions is not None: | |
| 219 | assert hashlib.sha256(path.read_bytes()).hexdigest() == versions['source_sha256'], 'Historical source changed' | |
| 220 | section_pages = {n.get('ID') for n in candidates[0].findall('one:Page', ns)} | |
| 221 | historical = [] | |
| 222 | expected = [] | |
| 223 | associations = [] | |
| 224 | for row in versions['pages']: | |
| 225 | assert row['native_id'] in section_pages, 'Copied version belongs to a different section' | |
| 226 | sid, _, revision, _ = actual[row['source_ordinal']] | |
| 227 | choices = list(version_pages(document, sid, revision)) | |
| 228 | if row.get('selection') == 'sole-version': | |
| 229 | assert len(choices) == 1, 'The native sole-version selection has multiple stored candidates' | |
| 230 | matches = [(context, rid, page, oid) for context, rid, page, oid, _ in choices] | |
| 231 | else: | |
| 232 | matches = [(context, rid, page, oid) for context, rid, page, oid, proxy in choices | |
| 233 | if proxy['kind']['modified_filetime'] is not None | |
| 234 | and datetime.fromtimestamp(proxy['kind']['modified_filetime'] / 10_000_000 - 11644473600, ZoneInfo(versions['timezone'])).date().isoformat() == row['displayed_date']] | |
| 235 | assert len(matches) == 1, 'Native version association is ambiguous' | |
| 236 | context, rid, page, oid = matches[0] | |
| 237 | historical.append((sid, rid, page, oid)) | |
| 238 | expected.append(captures[row['native_id']][0]) | |
| 239 | associations.append({**row, 'space': sid, 'context': context, 'revision': rid, 'object': oid}) | |
| 240 | available = {(sid, context, oid) for sid, _, revision, _ in actual | |
| 241 | for context, _, _, oid, _ in version_pages(document, sid, revision)} | |
| 242 | assert {(row['space'], row['context'], row['object']) for row in associations} == available, 'Native captures do not cover every historical page' | |
| 243 | assert len(historical) == len(available), 'Historical page is captured more than once' | |
| 244 | actual = historical | |
| 245 | assert len(actual) == len(expected), (relative, 'page count', len(actual), len(expected)) | |
| 246 | for ordinal, ((sid, rid, space, oid), page) in enumerate(zip(actual, expected, strict=True)): | |
| 247 | title_nodes = [n for _, n in walk(space, oid) if n['kind']['type'] == 'RichText' | |
| 248 | and any(field['id'] == 0x88001cb4 for field in n['extra'][0])] | |
| 249 | title = title_nodes[0]['kind']['text'].lstrip().split('\r')[0] if len(title_nodes) == 1 else '' | |
| 250 | if title: | |
| 251 | assert space['nodes'][space['roots']['2']]['kind']['title'] == title, 'Cached page title differs from visible title text' | |
| 252 | cached = space['nodes'][space['roots']['2']]['kind']['title'] or '' | |
| 253 | assert page.get('name') == (cached.replace('\t', ' ') or 'Untitled page'), 'Cached page title differs from native navigation' | |
| 254 | native_z = {int(n.find('one:Position', ns).attrib['z']) for n in page if n.find('one:Position', ns) is not None} | |
| 255 | source_page = space['nodes'][oid] | |
| 256 | assert bool(source_page['kind']['rtl']) == (page.find('one:PageSettings', ns).get('RTL') == 'true'), 'Page direction differs' | |
| 257 | if source_page['kind']['rtl']: | |
| 258 | # Storage orders columns visually left to right; native XML follows page direction. | |
| 259 | for table in page.findall('.//one:Table', ns): | |
| 260 | columns = table.find('one:Columns', ns) | |
| 261 | columns[:] = reversed(columns[:]) | |
| 262 | for row in table.findall('one:Row', ns): | |
| 263 | row[:] = reversed(row[:]) | |
| 264 | assert sum(space['nodes'][child]['kind']['type'] == 'Ink' for child in source_page['children']) == len(page.findall('one:InkDrawing', ns)), 'Opaque ink object count differs' | |
| 265 | for child in page: | |
| 266 | position = child.find('one:Position', ns) | |
| 267 | if position is None: | |
| 268 | continue | |
| 269 | z = int(position.attrib['z']) | |
| 270 | source = space['nodes'][source_page['children'][z]] | |
| 271 | if source['kind']['type'] == 'Ink': | |
| 272 | continue | |
| 273 | for axis in ('x', 'y'): | |
| 274 | if source['layout'][axis] is not None: | |
| 275 | stored_position, native_position = source['layout'][axis], float(position.attrib[axis]) | |
| 276 | origin = source_page['kind']['margin_origin_' + axis] | |
| 277 | canonical_origin = (-36.0 if source_page['kind']['rtl'] else 36.0) if axis == 'x' else 14.4 | |
| 278 | projected = stored_position + (canonical_origin - origin if origin is not None else 0) | |
| 279 | if axis == 'x' and source_page['kind']['rtl']: | |
| 280 | assert source['kind']['type'] == 'Outline' and source['layout']['max_width'] is not None, 'RTL positioning requires an outline width' | |
| 281 | assert not any(p['id'] == 0x14001c84 for group in source['extra'] for p in group), 'Explicit RTL outline alignment requires a native control' | |
| 282 | # Default RTL outlines keep their right edge when native layout changes width. | |
| 283 | projected += source['layout']['max_width'] - float(child.find('one:Size', ns).get('width')) | |
| 284 | if abs(projected - native_position) > 0.002: | |
| 285 | geometry.append({'file': str(relative), 'page': ordinal, 'z': z, 'axis': axis, | |
| 286 | 'stored': stored_position, 'origin': origin, 'projected': projected, 'native': native_position}) | |
| 287 | roots = list(source_page['structure']) | |
| 288 | for z, child in enumerate(source_page['children']): | |
| 289 | subtree = list(walk(space, child)) | |
| 290 | if z not in native_z: | |
| 291 | assert all(n['kind']['type'] in ('Outline', 'Paragraph', 'RichText') for _, n in subtree) | |
| 292 | # Native XML omits otherwise empty outlines containing only ASCII spaces. | |
| 293 | assert not any(n['kind'].get('text', '').strip(' ') or n['kind'].get('lists') or n['tags'] for _, n in subtree) | |
| 294 | continue | |
| 295 | roots.append(child) | |
| 296 | text_nodes = [n for root in roots for _, n in walk(space, root) | |
| 297 | if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']] | |
| 298 | observed = [visible_text(n, space) for n in text_nodes] | |
| 299 | native_children = list(page) | |
| 300 | content = [n for n in native_children if n.find('one:Position', ns) is not None] | |
| 301 | content.sort(key=lambda n: int(n.find('one:Position', ns).attrib['z'])) | |
| 302 | wanted = [text for n in native_children if n.tag == '{' + ns['one'] + '}Title' for text in texts(n)] | |
| 303 | wanted.extend(text for n in content for text in texts(n)) | |
| 304 | if observed != wanted: | |
| 305 | destination = native.parent / 'text-order-diff.json' | |
| 306 | destination.write_text(json.dumps({'file': str(relative), 'page': ordinal, 'space': sid, | |
| 307 | 'actual': observed, 'native': wanted}, indent=2)) | |
| 308 | raise AssertionError(f'{relative}: page {ordinal}: ordered text differs; inspect {destination}') | |
| 309 | native_roots = [n for n in native_children if n.tag == '{' + ns['one'] + '}Title'] + content | |
| 310 | try: | |
| 311 | tags += compare_objects(space, roots, page, native_roots, assets, native_payloads) | |
| 312 | native_runs = native_characters(page, native_roots) | |
| 313 | text_ids = [oid for root in roots for oid, n in walk(space, root) | |
| 314 | if n['kind']['type'] == 'RichText' and not n['kind']['boilerplate']] | |
| 315 | for text_id, expected_runs in zip(text_ids, native_runs, strict=True): | |
| 316 | observed_runs = [(char, run['link']) for run in resolved_text[sid][rid][text_id] | |
| 317 | if not run['format']['hidden'] for char in run['text']] | |
| 318 | if observed_runs and observed_runs[-1][0] == '\r': | |
| 319 | observed_runs.pop() | |
| 320 | observed_runs = [(projected, link) for char, link in observed_runs for projected in project_text(char)] | |
| 321 | expected_links = [(char, style.get('link')) for char, style in expected_runs] | |
| 322 | if observed_runs == [('\u00a0', None)] and not expected_links: | |
| 323 | observed_runs = [] | |
| 324 | assert observed_runs == expected_links, 'Resolved text or associated hyperlink differs' | |
| 325 | count, differences = compare_formats(space, text_nodes, native_runs) | |
| 326 | formatting += count | |
| 327 | pdf = captures[page.attrib['ID']][1] | |
| 328 | if differences and pdf.exists() and all(d['field'] == 'highlight' and d['stored'] == '#000000' and d['native'] == 'automatic' for d in differences): | |
| 329 | paragraphs = verify_pdf_black(pdf, [resolved_text[sid][rid][i] for i in text_ids]) | |
| 330 | pdf_checks.append({'file': str(relative), 'page': ordinal, 'paragraphs': paragraphs, | |
| 331 | 'pdf': pdf.name, 'pdf_sha256': hashlib.sha256(pdf.read_bytes()).hexdigest(), | |
| 332 | 'source_sha256': hashlib.sha256(path.read_bytes()).hexdigest(), | |
| 333 | 'xml_omissions': differences}) | |
| 334 | differences = [] | |
| 335 | discrepancies.extend({"file": str(relative), "page": ordinal, **d} for d in differences) | |
| 336 | except AssertionError as error: | |
| 337 | raise AssertionError((str(relative), ordinal, str(error))) from error | |
| 338 | compared += 1 | |
| 339 | if versions is not None: | |
| 340 | assert compared == len(versions['pages']) > 0, 'No historical source section was compared' | |
| 341 | (native.parent / 'geometry-differences.json').write_text(json.dumps(geometry, indent=2)) | |
| 342 | (native.parent / 'pdf-format-checks.json').write_text(json.dumps(pdf_checks, indent=2)) | |
| 343 | destination = native.parent / 'format-differences.json' | |
| 344 | destination.write_text(json.dumps(discrepancies, indent=2)) | |
| 345 | if geometry: | |
| 346 | raise AssertionError(f'{len(geometry)} coordinate differences; inspect {native.parent / "geometry-differences.json"}') | |
| 347 | if discrepancies: | |
| 348 | raise AssertionError(f'{len(discrepancies)} formatting differences across {compared} pages; inspect {destination}') | |
| 349 | if versions is not None: | |
| 350 | (native.parent / 'version-associations.json').write_text(json.dumps(associations, indent=2)) | |
| 351 | print(f'Passed: {compared} pages with native-normalized paragraph text/order; {tags} associated tags; {formatting} explicit character-format comparisons') | |
| 352 | if pdf_checks: | |
| 353 | print(f'Native PDF rectangles independently verified black-highlight character positions in {sum(p["paragraphs"] for p in pdf_checks)} paragraphs where XML omitted formatting.') | |
| 354 | ||
| 355 | ||
| 356 | if __name__ == '__main__': | |
| 357 | parser = argparse.ArgumentParser(description=__doc__) | |
| 358 | parser.add_argument('notebook', type=Path) | |
| 359 | parser.add_argument('native', type=Path) | |
| 360 | parser.add_argument('--versions', type=Path, help='Native history UI date and copied-page associations.') | |
| 361 | args = parser.parse_args() | |
| 362 | compare(args.notebook.resolve(), args.native.resolve(), json.loads(args.versions.read_text()) if args.versions else None) |
tools/verify-reader.py created+67| ... | ... | @@ -0,0 +1,67 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Compare current Rust page content against independent native XML; requires Pillow.""" | |
| 3 | import base64 | |
| 4 | from collections import Counter | |
| 5 | import io | |
| 6 | from pathlib import Path | |
| 7 | import subprocess | |
| 8 | from PIL import Image | |
| 9 | from native_xml import Text, ns, pages, texts | |
| 10 | ||
| 11 | root = Path(__file__).resolve().parent.parent | |
| 12 | private = root / 'corpus/private' | |
| 13 | paths = sorted((private / 'original').rglob('*.one')) | |
| 14 | output = subprocess.check_output( | |
| 15 | ['cargo', 'run', '--quiet', '--example', 'inventory', '--', *map(str, paths)], | |
| 16 | cwd=root, text=True, | |
| 17 | ) | |
| 18 | records = [line.split('\t') for line in output.splitlines()] | |
| 19 | regular = {row[1] for row in records if row[0] == 'page' and row[2] == '20030'} | |
| 20 | assert len(regular) == 26 | |
| 21 | assert Counter(row[2] for row in records if row[0] == 'page') == {'20030': 26, '2003e': 1} | |
| 22 | content = {osid: Counter() for osid in regular} | |
| 23 | payloads = {osid: [] for osid in regular} | |
| 24 | links = [] | |
| 25 | for kind, osid, value in records: | |
| 26 | if osid not in regular: | |
| 27 | continue | |
| 28 | if kind == 'file': | |
| 29 | payloads[osid].append(bytes.fromhex(value)) | |
| 30 | elif kind in ('ascii', 'unicode'): | |
| 31 | data = bytes.fromhex(value) | |
| 32 | text = data.decode('utf-16-le').removesuffix('\0') if kind == 'unicode' else data.decode('latin1') | |
| 33 | if text.startswith('\ufddfHYPERLINK "'): | |
| 34 | target, text = text[len('\ufddfHYPERLINK "'):].rsplit('"', 1) | |
| 35 | links.append(target) | |
| 36 | if text.strip(): | |
| 37 | content[osid][text] += 1 | |
| 38 | ||
| 39 | native = pages(private / 'exact-native/read') | |
| 40 | native_content = [Counter(text for text in texts(page) if text.strip()) for page in native] | |
| 41 | assert Counter(tuple(sorted(c.items())) for c in content.values()) == Counter(tuple(sorted(c.items())) for c in native_content) | |
| 42 | native_links = [target for page in native for node in page.findall('.//one:T', ns) for target in Text(node.text or '').links] | |
| 43 | assert len(links) == 3 and all(target in native_links for target in links) | |
| 44 | ||
| 45 | exact = converted = 0 | |
| 46 | for page, expected in zip(native, native_content, strict=True): | |
| 47 | candidates = [data for osid, text in content.items() if text == expected for data in payloads[osid]] | |
| 48 | for node in page.findall('.//one:Image/one:Data', ns): | |
| 49 | data = base64.b64decode(node.text) | |
| 50 | if data in candidates: | |
| 51 | exact += 1 | |
| 52 | continue | |
| 53 | image = Image.open(io.BytesIO(data)).convert('RGBA') | |
| 54 | matched = False | |
| 55 | for candidate in candidates: | |
| 56 | if not candidate.startswith((b'GIF87a', b'GIF89a')): | |
| 57 | continue | |
| 58 | gif = Image.open(io.BytesIO(candidate)).convert('RGBA') | |
| 59 | if gif.size == image.size and gif.tobytes() == image.tobytes(): | |
| 60 | matched = True | |
| 61 | break | |
| 62 | assert matched, 'Native image differs from its stored payload' | |
| 63 | converted += 1 | |
| 64 | ||
| 65 | assert exact == 18 and converted == 3 | |
| 66 | assert sum(sum(c.values()) for c in content.values()) == 581 | |
| 67 | print('Passed: 26 pages, 581 nonempty text objects by page, 3 hyperlink targets, 18 exact images, 3 native GIF conversions') |
tools/verify-scale.py created+43| ... | ... | @@ -0,0 +1,43 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Compare a Rust scale fixture against its generator and fresh native capture.""" | |
| 3 | import argparse | |
| 4 | import hashlib | |
| 5 | import json | |
| 6 | from pathlib import Path, PureWindowsPath | |
| 7 | import subprocess | |
| 8 | import xml.etree.ElementTree as ET | |
| 9 | ||
| 10 | from document_model import EXPORTER, ordered_pages, walk | |
| 11 | from native_xml import ns, pages, texts, project_text | |
| 12 | ||
| 13 | ROOT = Path(__file__).resolve().parent.parent | |
| 14 | ||
| 15 | ||
| 16 | def compare(source, capture): | |
| 17 | expected = json.loads((source / 'expected.json').read_text()) | |
| 18 | manifest = {row['path']: row for row in json.loads((capture / 'source.json').read_text())} | |
| 19 | for name, row in manifest.items(): | |
| 20 | assert hashlib.sha256((source / 'notebook' / name).read_bytes()).hexdigest() == row['sha256'], 'Source changed since native capture' | |
| 21 | hierarchy = ET.parse(capture / 'read/hierarchy.xml').getroot() | |
| 22 | sections = hierarchy.findall('.//one:Section', ns) | |
| 23 | order = [PureWindowsPath(section.get('path')).name for section in sections] | |
| 24 | assert order == [row['section'] for row in reversed(expected)], 'Native section order differs from the generated reverse order' | |
| 25 | native = {page.get('ID'): page for page in pages(capture / 'read')} | |
| 26 | section_pages = {PureWindowsPath(section.get('path')).name: section.findall('one:Page', ns) for section in sections} | |
| 27 | for row in expected: | |
| 28 | output = subprocess.check_output([EXPORTER, source / 'notebook' / row['section']]) | |
| 29 | document = json.loads(output) | |
| 30 | (_, _, space, oid), = ordered_pages(document) | |
| 31 | actual = [node['kind']['text'] for _, node in walk(space, oid) if node['kind']['type'] == 'RichText'] | |
| 32 | assert actual == [row['text']], (row['section'], 'Rust text differs from generator input') | |
| 33 | page, = section_pages[row['section']] | |
| 34 | assert texts(native[page.get('ID')]) == [project_text(row['text'])], (row['section'], 'Native text differs from generator input') | |
| 35 | print(f'Passed {len(expected)} sections and {sum(len(row["text"]) for row in expected):,} Unicode scalars against the independent generator input; reverse section order survived native import.') | |
| 36 | ||
| 37 | ||
| 38 | if __name__ == '__main__': | |
| 39 | parser = argparse.ArgumentParser(description=__doc__) | |
| 40 | parser.add_argument('source', type=Path) | |
| 41 | parser.add_argument('capture', type=Path) | |
| 42 | args = parser.parse_args() | |
| 43 | compare(args.source, args.capture) |
tools/verify-writer.py created+98| ... | ... | @@ -0,0 +1,98 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Verify captured native reads of Rust-written files.""" | |
| 3 | import copy | |
| 4 | import hashlib | |
| 5 | import json | |
| 6 | from pathlib import Path | |
| 7 | import subprocess | |
| 8 | import xml.etree.ElementTree as ET | |
| 9 | from native_xml import ns, pages, texts | |
| 10 | ||
| 11 | root = Path(__file__).resolve().parent.parent | |
| 12 | corpus = root / 'corpus/writer' | |
| 13 | manifest = json.loads((corpus / 'manifest.json').read_text()) | |
| 14 | for item in manifest['files']: | |
| 15 | data = (corpus / item['path']).read_bytes() | |
| 16 | assert len(data) == item['bytes'] | |
| 17 | assert hashlib.sha256(data).hexdigest() == item['sha256'] | |
| 18 | ||
| 19 | for run in ['cold-edit-01', 'cold-edit-02']: | |
| 20 | captured = pages(corpus / run / 'read') | |
| 21 | assert len(captured) == 1 and texts(captured[0]) == ['Portable plain text...'] | |
| 22 | ||
| 23 | for before, after in [ | |
| 24 | (root / 'corpus/native/20260905-05/snapshots/02-text/notebook/synthetic.one', corpus / 'edit-01/notebook/synthetic.one'), | |
| 25 | (corpus / 'native-edit-02/notebook/synthetic.one', corpus / 'edit-02/notebook/synthetic.one'), | |
| 26 | (root / 'corpus/native-ink/20260905-ui/notebook/synthetic.one', corpus / 'complex-01/notebook/synthetic.one'), | |
| 27 | ]: | |
| 28 | source = before.read_bytes() | |
| 29 | assert after.read_bytes()[1024:len(source)] == source[1024:] | |
| 30 | ||
| 31 | native_saved = subprocess.check_output(['cargo', 'run', '--quiet', '--example', 'inventory', '--', str(corpus / 'native-edit-02/notebook/synthetic.one')], cwd=root, text=True) | |
| 32 | assert [bytes.fromhex(row.split('\t')[2]).decode('ascii') for row in native_saved.splitlines() if row.startswith('ascii\t')] == ['Fictitious plain text.'] | |
| 33 | ||
| 34 | before = pages(root / 'corpus/native-ink/cold-ui-ink/read')[0] | |
| 35 | after = pages(corpus / 'cold-complex-01/read')[0] | |
| 36 | assert texts(after) == ['Compatible: café, 東京, مرحبا', 'Fictitious positioned outline.', 'Left cell', 'Right cell'] | |
| 37 | ||
| 38 | ||
| 39 | def normalized(page): | |
| 40 | page = copy.deepcopy(page) | |
| 41 | for node in page.iter(): | |
| 42 | for name in ['ID', 'objectID', 'pathCache', 'selected']: | |
| 43 | node.attrib.pop(name, None) | |
| 44 | if node.text: | |
| 45 | node.text = node.text.replace('Fictitious: café', 'Compatible: café') | |
| 46 | if not node.text.strip(): | |
| 47 | node.text = None | |
| 48 | node.tail = None | |
| 49 | for outline in page.findall('one:Outline', ns): | |
| 50 | if texts(outline) == ['Compatible: café, 東京, مرحبا']: | |
| 51 | # OneNote recalculates outline height when the replacement text wraps. | |
| 52 | outline.find('one:Size', ns).attrib.pop('height') | |
| 53 | return page | |
| 54 | ||
| 55 | ||
| 56 | def fingerprint(node): | |
| 57 | return node.tag, sorted(node.attrib.items()), node.text, [fingerprint(child) for child in node] | |
| 58 | ||
| 59 | ||
| 60 | assert fingerprint(normalized(before)) == fingerprint(normalized(after)) | |
| 61 | assert next((root / 'corpus/native-ink/cold-ui-ink/read').glob('*.attachment')).read_bytes() == next((corpus / 'cold-complex-01/read').glob('*.attachment')).read_bytes() | |
| 62 | print('Passed: native edit/save/read cycle; Unicode edit preserves native formatting, positions, table, image, ink, and attachment bytes') | |
| 63 | ||
| 64 | assert ET.parse(corpus / 'toc-01/hierarchy.xml').getroot().get('color') == '#336699' | |
| 65 | created = ET.parse(corpus / 'create-05/page-000.xml').getroot() | |
| 66 | assert texts(created) == ['Created in Rust: café 東京 🦀'] | |
| 67 | assert created.find('one:Outline', ns).get('author') == 'Fixture Author' | |
| 68 | assert texts(ET.parse(corpus / 'create-05/returned-page.xml').getroot()) == ['Rust edited it again, with a longer paragraph.'] | |
| 69 | assert texts(ET.parse(corpus / 'create-notebook-01/page-000.xml').getroot()) == ['A notebook created in Rust.'] | |
| 70 | assert len(ET.parse(corpus / 'create-notebook-01/hierarchy.xml').getroot().findall('one:Section', ns)) == 1 | |
| 71 | print('Passed: native TOC color edit, template-free section and notebook creation, native save, and longer Rust replacement') | |
| 72 | ||
| 73 | append = root / 'corpus/append/round-01' | |
| 74 | for item in json.loads((append / 'manifest.json').read_text())['files']: | |
| 75 | data = (append / item['path']).read_bytes() | |
| 76 | assert len(data) == item['bytes'] and hashlib.sha256(data).hexdigest() == item['sha256'] | |
| 77 | ||
| 78 | expected = { | |
| 79 | 'tx-17': 'Transaction 17', 'tx-255': 'Transaction 255', | |
| 80 | 'tx-256': 'Transaction 256', 'tx-511': 'Transaction 256', | |
| 81 | 'prepared-old': 'Transaction 255', 'tx-65535': 'Fictitious plain text.', | |
| 82 | 'tx-65536': 'Crossed the second counter byte.', | |
| 83 | 'tx-131071': 'Crossed the second counter byte.', | |
| 84 | 'tx-130816': 'Crossed the second counter byte.', | |
| 85 | 'shared-result': 'Rust committed through the SMB mount.', | |
| 86 | **{f'metadata-{i}': 'Transaction 255' for i in range(8)}, | |
| 87 | } | |
| 88 | for name, text in expected.items(): | |
| 89 | captured = pages(append / 'native' / f'append-01-{name}' / 'read') | |
| 90 | assert len(captured) == 1 and texts(captured[0]) == [text], name | |
| 91 | ||
| 92 | after = pages(append / 'native/append-01-complex/read')[0] | |
| 93 | assert fingerprint(normalized(before)) == fingerprint(normalized(after)) | |
| 94 | assert next((root / 'corpus/native-ink/cold-ui-ink/read').glob('*.attachment')).read_bytes() == next((append / 'native/append-01-complex/read').glob('*.attachment')).read_bytes() | |
| 95 | assert ET.parse(append / 'native/append-01-toc/read/hierarchy.xml').getroot().get('color') == '#336699' | |
| 96 | saved = subprocess.check_output(['cargo', 'run', '--quiet', '--example', 'inventory', '--', str(append / 'native-after-511.one')], cwd=root, text=True) | |
| 97 | assert [bytes.fromhex(row.split('\t')[2]).decode('ascii') for row in saved.splitlines() if row.startswith('ascii\t')] == ['Native after interrupted cleanup.'] | |
| 98 | print('Passed: append encoding, native metadata and counter recovery, post-recovery native save, and filesystem-backed SMB commit') |
tools/w7/README.md created+144| ... | ... | @@ -0,0 +1,144 @@ |
| 1 | # w7 — remote computer use on a Windows 7 box | |
| 2 | ||
| 3 | Drive `wayback` (Windows 7, Tailscale `100.104.74.68`) from a model by writing | |
| 4 | AutoHotkey v2 scripts. Each call runs a script on the real desktop and comes | |
| 5 | back with its stdout and a screenshot. | |
| 6 | ||
| 7 | Two halves: | |
| 8 | ||
| 9 | - `payload/` — copy the folder to the Win7 box and run `run.bat`. It starts an | |
| 10 | HTTP listener on port 8777 that executes AHK and screenshots. See | |
| 11 | [payload/README.txt](payload/README.txt). | |
| 12 | - `mcp_win7.py` — stays on the Mac. An MCP server (stdio) for desktop control, | |
| 13 | file transfer, commands, detached processes, and VM lifecycle. System python3, | |
| 14 | stdlib only. | |
| 15 | ||
| 16 | ## Wire up Codex | |
| 17 | ||
| 18 | Paste [codex-config-snippet.toml](codex-config-snippet.toml) into | |
| 19 | `~/.codex/config.toml`, then restart Codex. `/mcp` should list `win7` and | |
| 20 | `one-linux`. Their editable implementation and guest payload live in | |
| 21 | `/Users/clo/dev/one/tools/w7`. | |
| 22 | ||
| 23 | ## Smoke test | |
| 24 | ||
| 25 | ```sh | |
| 26 | ./mcp_win7.py health # listener version info | |
| 27 | ./mcp_win7.py shot # -> ./screenshot.png | |
| 28 | ./mcp_win7.py exec 'Run("notepad.exe") | |
| 29 | WinWait("Untitled - Notepad",, 10) | |
| 30 | SendText("hello")' # prints stdout/exit, -> ./screenshot.png | |
| 31 | ./mcp_win7.py cmd 'ipconfig' # plain shell command, no screenshot | |
| 32 | ./mcp_win7.py spawn '"C:\tools\capture.exe" /output C:\trace.pml' | |
| 33 | ``` | |
| 34 | ||
| 35 | ## Local QEMU VM | |
| 36 | ||
| 37 | `vm.py` runs the Windows 7 build VM on Apple silicon. VM state stays in | |
| 38 | `/Volumes/Documents/OneNote VMs`; the Windows ISO is opened read-only. Override | |
| 39 | the location with `ONE_VM_HOME` and `WIN7_TARGETS_FILE`. | |
| 40 | ||
| 41 | ```sh | |
| 42 | ./vm.py install # create the disk and boot the Windows installer | |
| 43 | ./vm.py status win7-build | |
| 44 | ./vm.py screenshot | |
| 45 | ./vm.py poweroff # request a clean Windows shutdown | |
| 46 | ./vm.py run # boot the installed system | |
| 47 | ./vm.py media # rebuild win7-agent.iso from payload/ | |
| 48 | ./vm.py seal # validate and publish the stopped build disk | |
| 49 | ``` | |
| 50 | ||
| 51 | Normal boots attach `win7-agent.iso` as a read-only CD. Copy its contents to | |
| 52 | `C:\win7-agent`, run `install-autostart.cmd` as administrator, restart, then | |
| 53 | verify the forwarded listener: | |
| 54 | ||
| 55 | ```sh | |
| 56 | ./mcp_win7.py --target local health | |
| 57 | ``` | |
| 58 | ||
| 59 | Do not put the build disk or licensed installation media in this repository. | |
| 60 | Create the immutable base image only after Windows, Office, and the agent pass | |
| 61 | their checks and the VM has shut down cleanly. | |
| 62 | ||
| 63 | ## Test VMs | |
| 64 | ||
| 65 | Each clone is a sparse overlay on the read-only base. Its name derives a unique | |
| 66 | Windows hostname (`alpha` becomes `ONE-ALPHA`), MAC address, forwarded control | |
| 67 | port, authentication token, and MCP target. Two vCPUs and 4 GiB are the defaults. | |
| 68 | ||
| 69 | ```sh | |
| 70 | ./vm.py up alpha --wait # creates when absent; waits through hostname restart | |
| 71 | ./vm.py up alpha --display # visible Cocoa window instead of headless | |
| 72 | ./mcp_win7.py --target alpha health | |
| 73 | ./vm.py screenshot alpha | |
| 74 | ./vm.py status # lists every clone | |
| 75 | ./vm.py down alpha # clean shutdown, then delete the clone | |
| 76 | ./vm.py down alpha --preserve-machine # keep a stopped clone for reproduction | |
| 77 | ``` | |
| 78 | ||
| 79 | The MCP server exposes `win7_vm_up`, `win7_vm_down`, and `win7_vm_status`. | |
| 80 | `up` accepts creation settings and a `wait` flag; `down` deletes by default and | |
| 81 | accepts `preserve_machine`. Use `win7_spawn` for a long-lived process such as | |
| 82 | Procmon so it cannot inherit and hold the command channel. | |
| 83 | ||
| 84 | The control agent starts minimized after login. Its taskbar button remains | |
| 85 | available for diagnosis without covering OneNote or changing screenshot-based | |
| 86 | test coordinates. | |
| 87 | ||
| 88 | ## Abrupt-stop recovery tests | |
| 89 | ||
| 90 | `python3 tools/w7/crash.py windows NAME` and `python3 tools/w7/crash.py linux NAME` | |
| 91 | (from the repository root) stop a registered disposable QEMU process without | |
| 92 | requesting guest shutdown. They verify its VM/socket identity and preserve its | |
| 93 | disk and configuration. Restart with the corresponding `up NAME --wait`, and | |
| 94 | finish with `down NAME` to delete the owned machine. The existing MCP lifecycle | |
| 95 | continues to perform clean shutdowns. | |
| 96 | ||
| 97 | These stops discard guest memory while host storage remains powered. Pair them | |
| 98 | with the library's persisted-image tests when evaluating crash recovery; neither | |
| 99 | operation certifies a physical disk's behavior during host power loss. | |
| 100 | ||
| 101 | ## Linux Samba VM | |
| 102 | ||
| 103 | `linux_vm.py` creates an SSH-only Debian 13 arm64 appliance from Debian's | |
| 104 | official generic-cloud image. The downloaded base is SHA-512 verified and kept | |
| 105 | under `/Volumes/Documents/OneNote VMs/linux`; instances are sparse copy-on-write | |
| 106 | overlays. Cloud-init installs Samba, dnsmasq, CIFS tools, smbclient, and fio. | |
| 107 | ||
| 108 | ```sh | |
| 109 | ./linux_vm.py fetch | |
| 110 | ./linux_vm.py up samba --wait | |
| 111 | ./linux_vm.py ssh samba -- 'systemctl is-active smbd dnsmasq' | |
| 112 | ./linux_vm.py status | |
| 113 | ./linux_vm.py down samba | |
| 114 | ``` | |
| 115 | ||
| 116 | While it runs, Windows VMs obtain an address on their second NIC and reach the | |
| 117 | guest-writable share at `\\192.168.77.1\agent`. The Mac controls and inspects | |
| 118 | the appliance over its forwarded SSH port. One appliance runs at a time because | |
| 119 | that stable share address is the synchronization point for concurrent Windows | |
| 120 | clients. A local VDE switch joins up to 63 guests without host privileges. The | |
| 121 | `one-linux` MCP exposes fetch, up, SSH, down, and status; its `up` and `down` | |
| 122 | follow the same auto-create, wait-flag, and preserve conventions as Windows. | |
| 123 | ||
| 124 | To restore a base from private object storage, upload the sealed qcow2 beside | |
| 125 | its JSON manifest and pass the manifest URL. A presigned URL needs no secret; | |
| 126 | otherwise set `ONE_VM_AUTHORIZATION` to the complete HTTP Authorization value. | |
| 127 | ||
| 128 | ```sh | |
| 129 | ./vm.py fetch 'https://private.example/one/win7-office-base.json' | |
| 130 | ``` | |
| 131 | ||
| 132 | `install-autostart.cmd` disables UAC so the isolated test guest can rename | |
| 133 | itself, start the control agent, and run Procmon without human prompts. QEMU | |
| 134 | publishes each guest agent only on host loopback. Do not run that installer on | |
| 135 | a physical or network-reachable Windows machine. | |
| 136 | ||
| 137 | ## Gotchas | |
| 138 | ||
| 139 | - Keep Windows display scaling at 100%. Anything else and the screenshot | |
| 140 | coordinates no longer match where clicks land. | |
| 141 | - The listener must run in the interactive logged-in session — as a scheduled | |
| 142 | task or service it gets session 0 and sees a black screen. | |
| 143 | - The box is only reachable over Tailscale at `100.104.74.68`; power it on | |
| 144 | first, `health` failing with "cannot reach" usually just means it is off. |
tools/w7/codex-config-snippet.toml created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | # Paste into ~/.codex/config.toml. | |
| 2 | [mcp_servers.win7] | |
| 3 | command = "python3" | |
| 4 | args = ["/Users/clo/dev/one/tools/w7/mcp_win7.py"] | |
| 5 | # Covers a contended multi-VM boot with wait enabled. | |
| 6 | tool_timeout_sec = 915 | |
| 7 | ||
| 8 | [mcp_servers.win7.env] | |
| 9 | WIN7 = "http://100.104.74.68:8777" # wayback over Tailscale | |
| 10 | # WIN7_TOKEN = "..." # only if the listener was started with a token | |
| 11 | ||
| 12 | [mcp_servers.one-linux] | |
| 13 | command = "python3" | |
| 14 | args = ["/Users/clo/dev/one/tools/w7/mcp_linux.py"] | |
| 15 | # A first boot downloads packages through cloud-init. | |
| 16 | tool_timeout_sec = 915 |
tools/w7/crash.py created+49| ... | ... | @@ -0,0 +1,49 @@ |
| 1 | """Abruptly stop a disposable lab VM while preserving its disk for recovery.""" | |
| 2 | import argparse | |
| 3 | import json | |
| 4 | import os | |
| 5 | import signal | |
| 6 | import subprocess | |
| 7 | import time | |
| 8 | ||
| 9 | import linux_vm | |
| 10 | import vm | |
| 11 | ||
| 12 | ||
| 13 | def stop(kind, name): | |
| 14 | backend = {'windows': vm, 'linux': linux_vm}[kind] | |
| 15 | backend.load_instance(name) | |
| 16 | if not backend.running(name): | |
| 17 | raise ValueError('Choose a running disposable VM.') | |
| 18 | _, socket_path, pid_path, *_ = backend.runtime(name) | |
| 19 | pid = int(pid_path.read_text()) | |
| 20 | expected = ('OneNote Windows 7 ' if kind == 'windows' else 'OneNote Linux Samba ') + name | |
| 21 | if backend.qmp(name, 'query-name').get('name') != expected: | |
| 22 | raise ValueError('The VM identity differs from its registered name.') | |
| 23 | command = subprocess.check_output(['ps', '-p', str(pid), '-o', 'command='], text=True) | |
| 24 | if str(socket_path) not in command or 'qemu-system-' not in command: | |
| 25 | raise ValueError('The registered process does not own this VM socket.') | |
| 26 | started = time.time_ns() | |
| 27 | os.kill(pid, signal.SIGKILL) | |
| 28 | deadline = time.monotonic() + 15 | |
| 29 | while time.monotonic() < deadline: | |
| 30 | try: | |
| 31 | os.waitpid(pid, os.WNOHANG) | |
| 32 | except ChildProcessError: | |
| 33 | pass | |
| 34 | if not backend.running(name): | |
| 35 | break | |
| 36 | time.sleep(.1) | |
| 37 | if backend.running(name): | |
| 38 | raise TimeoutError('The VM process did not stop.') | |
| 39 | return {'kind': kind, 'name': name, 'pid': pid, 'signal': 'SIGKILL', | |
| 40 | 'started_ns': started, 'stopped_ns': time.time_ns(), | |
| 41 | 'machine_preserved': backend.instance_path(name).exists()} | |
| 42 | ||
| 43 | ||
| 44 | if __name__ == '__main__': | |
| 45 | parser = argparse.ArgumentParser(description=__doc__) | |
| 46 | parser.add_argument('kind', choices=['windows', 'linux']) | |
| 47 | parser.add_argument('name') | |
| 48 | args = parser.parse_args() | |
| 49 | print(json.dumps(stop(args.kind, args.name), indent=2)) |
tools/w7/lab_network.py created+37| ... | ... | @@ -0,0 +1,37 @@ |
| 1 | import fcntl | |
| 2 | import os | |
| 3 | from pathlib import Path | |
| 4 | import shutil | |
| 5 | import subprocess | |
| 6 | import time | |
| 7 | ||
| 8 | ||
| 9 | def ensure_hub(vm_home): | |
| 10 | root = vm_home / "run" / "lab" | |
| 11 | socket_dir = root / "switch" | |
| 12 | pidfile = root / "vde.pid" | |
| 13 | root.mkdir(parents=True, exist_ok=True) | |
| 14 | with (root / ".lock").open("a") as lock: | |
| 15 | fcntl.flock(lock, fcntl.LOCK_EX) | |
| 16 | try: | |
| 17 | pid = int(pidfile.read_text()) | |
| 18 | os.kill(pid, 0) | |
| 19 | if (socket_dir / "ctl").exists(): | |
| 20 | return socket_dir | |
| 21 | except (FileNotFoundError, ProcessLookupError, ValueError): | |
| 22 | pass | |
| 23 | pidfile.unlink(missing_ok=True) | |
| 24 | shutil.rmtree(socket_dir, ignore_errors=True) | |
| 25 | executable = shutil.which("vde_switch") or "/opt/homebrew/bin/vde_switch" | |
| 26 | if not Path(executable).is_file(): | |
| 27 | raise SystemExit("Install the Homebrew vde package for the VM lab network") | |
| 28 | subprocess.run([ | |
| 29 | executable, "--daemon", "--nostdin", "--numports", "64", | |
| 30 | "--sock", str(socket_dir), "--pidfile", str(pidfile), | |
| 31 | "--dirmode", "0700", "--mode", "0600", | |
| 32 | ], check=True) | |
| 33 | for _ in range(50): | |
| 34 | if pidfile.exists() and (socket_dir / "ctl").exists(): | |
| 35 | return socket_dir | |
| 36 | time.sleep(0.1) | |
| 37 | raise SystemExit("The VM lab network did not start") |
tools/w7/linux_vm.py created+540| ... | ... | @@ -0,0 +1,540 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | ||
| 3 | import argparse | |
| 4 | import base64 | |
| 5 | import fcntl | |
| 6 | import hashlib | |
| 7 | import json | |
| 8 | import os | |
| 9 | from pathlib import Path | |
| 10 | import re | |
| 11 | import shlex | |
| 12 | import shutil | |
| 13 | import socket | |
| 14 | import subprocess | |
| 15 | import tempfile | |
| 16 | import time | |
| 17 | import urllib.parse | |
| 18 | import urllib.request | |
| 19 | import uuid | |
| 20 | ||
| 21 | from lab_network import ensure_hub | |
| 22 | ||
| 23 | ||
| 24 | VM_HOME = Path(os.environ.get( | |
| 25 | "ONE_VM_HOME", "/Volumes/Documents/OneNote VMs" | |
| 26 | )).expanduser() | |
| 27 | LINUX_HOME = VM_HOME / "linux" | |
| 28 | IMAGES = LINUX_HOME / "images" | |
| 29 | INSTANCES = LINUX_HOME / "instances" | |
| 30 | RUN = LINUX_HOME / "run" | |
| 31 | BASE = IMAGES / "debian-13-genericcloud-arm64.qcow2" | |
| 32 | BASE_MANIFEST = IMAGES / "debian-13-genericcloud-arm64.json" | |
| 33 | IMAGE_URL = os.environ.get( | |
| 34 | "LINUX_VM_IMAGE_URL", | |
| 35 | "https://cloud.debian.org/images/cloud/trixie/latest/" | |
| 36 | "debian-13-genericcloud-arm64.qcow2", | |
| 37 | ) | |
| 38 | FIRMWARE = Path(os.environ.get( | |
| 39 | "LINUX_VM_FIRMWARE", "/opt/homebrew/share/qemu/edk2-aarch64-code.fd" | |
| 40 | )) | |
| 41 | LAB_ADDRESS = "192.168.77.1" | |
| 42 | NAME = re.compile(r"[a-z0-9](?:[a-z0-9-]{0,22}[a-z0-9])?") | |
| 43 | ||
| 44 | ||
| 45 | def require_vm_home(): | |
| 46 | if len(VM_HOME.parts) > 2 and VM_HOME.parts[1] == "Volumes": | |
| 47 | volume = Path("/Volumes") / VM_HOME.parts[2] | |
| 48 | if not os.path.ismount(volume): | |
| 49 | raise SystemExit("VM volume is not mounted: %s" % volume) | |
| 50 | ||
| 51 | ||
| 52 | def executable(name): | |
| 53 | path = shutil.which(name) or "/opt/homebrew/bin/" + name | |
| 54 | if not Path(path).is_file(): | |
| 55 | raise SystemExit("Missing executable: %s" % name) | |
| 56 | return path | |
| 57 | ||
| 58 | ||
| 59 | def atomic_json(path, value): | |
| 60 | path.parent.mkdir(parents=True, exist_ok=True) | |
| 61 | temporary = path.with_suffix(path.suffix + ".tmp") | |
| 62 | temporary.write_text(json.dumps(value, indent=2, sort_keys=True) + "\n") | |
| 63 | temporary.replace(path) | |
| 64 | ||
| 65 | ||
| 66 | def runtime(name): | |
| 67 | root = RUN / name | |
| 68 | return root, root / "qmp.sock", root / "qemu.pid", root / "qemu.log" | |
| 69 | ||
| 70 | ||
| 71 | def running(name): | |
| 72 | try: | |
| 73 | os.kill(int(runtime(name)[2].read_text()), 0) | |
| 74 | return True | |
| 75 | except (FileNotFoundError, ProcessLookupError, ValueError): | |
| 76 | return False | |
| 77 | ||
| 78 | ||
| 79 | def instance_path(name): | |
| 80 | return INSTANCES / (name + ".json") | |
| 81 | ||
| 82 | ||
| 83 | def validate_name(name): | |
| 84 | if not NAME.fullmatch(name): | |
| 85 | raise SystemExit("VM name must be 1-24 lowercase letters, digits, or hyphens") | |
| 86 | ||
| 87 | ||
| 88 | def load_instance(name): | |
| 89 | validate_name(name) | |
| 90 | try: | |
| 91 | return json.loads(instance_path(name).read_text()) | |
| 92 | except FileNotFoundError: | |
| 93 | raise SystemExit("Linux VM does not exist: %s" % name) | |
| 94 | except (OSError, ValueError) as e: | |
| 95 | raise SystemExit("Cannot read Linux VM %s: %s" % (name, e)) | |
| 96 | ||
| 97 | ||
| 98 | def configs(): | |
| 99 | if not INSTANCES.exists(): | |
| 100 | return [] | |
| 101 | return [(path.stem, json.loads(path.read_text())) | |
| 102 | for path in sorted(INSTANCES.glob("*.json"))] | |
| 103 | ||
| 104 | ||
| 105 | def available_port(field, start, end, requested=None): | |
| 106 | used = {config[field] for _name, config in configs()} | |
| 107 | candidates = [requested] if requested else range(start, end + 1) | |
| 108 | for port in candidates: | |
| 109 | if port is None or port < 1024 or port > 65535 or port in used: | |
| 110 | continue | |
| 111 | with socket.socket() as probe: | |
| 112 | try: | |
| 113 | probe.bind(("127.0.0.1", port)) | |
| 114 | except OSError: | |
| 115 | continue | |
| 116 | return port | |
| 117 | raise SystemExit("No unused %s is available" % field.replace("_", " ")) | |
| 118 | ||
| 119 | ||
| 120 | def mac(prefix, name): | |
| 121 | tail = uuid.uuid5(uuid.NAMESPACE_URL, prefix + name).bytes[-3:] | |
| 122 | kind = 4 if prefix == "lab:" else 3 | |
| 123 | return "52:54:%02x:%02x:%02x:%02x" % (kind, *tail) | |
| 124 | ||
| 125 | ||
| 126 | def key_path(name): | |
| 127 | return INSTANCES / (name + ".key") | |
| 128 | ||
| 129 | ||
| 130 | def seed_path(name): | |
| 131 | return INSTANCES / (name + "-seed.iso") | |
| 132 | ||
| 133 | ||
| 134 | def overlay_path(name): | |
| 135 | return INSTANCES / (name + ".qcow2") | |
| 136 | ||
| 137 | ||
| 138 | def make_seed(path, hostname, public_key, wan_mac, lab_mac): | |
| 139 | samba = """[global] | |
| 140 | workgroup = WORKGROUP | |
| 141 | server role = standalone server | |
| 142 | map to guest = Bad User | |
| 143 | server min protocol = SMB2_02 | |
| 144 | interfaces = lo wan0 lab0 | |
| 145 | bind interfaces only = yes | |
| 146 | ||
| 147 | [agent] | |
| 148 | path = /srv/agent | |
| 149 | read only = no | |
| 150 | guest ok = yes | |
| 151 | force user = agent | |
| 152 | create mask = 0666 | |
| 153 | directory mask = 0777 | |
| 154 | """ | |
| 155 | dnsmasq = """port=0 | |
| 156 | interface=lab0 | |
| 157 | bind-interfaces | |
| 158 | dhcp-range=192.168.77.10,192.168.77.250,255.255.255.0,12h | |
| 159 | dhcp-option=3 | |
| 160 | dhcp-option=6 | |
| 161 | """ | |
| 162 | user_data = """#cloud-config | |
| 163 | hostname: {hostname} | |
| 164 | manage_etc_hosts: true | |
| 165 | users: | |
| 166 | - name: agent | |
| 167 | gecos: OneNote test agent | |
| 168 | groups: [sudo] | |
| 169 | shell: /bin/bash | |
| 170 | sudo: ALL=(ALL) NOPASSWD:ALL | |
| 171 | lock_passwd: true | |
| 172 | ssh_authorized_keys: | |
| 173 | - {public_key} | |
| 174 | ssh_pwauth: false | |
| 175 | disable_root: true | |
| 176 | package_update: true | |
| 177 | packages: [samba, dnsmasq, cifs-utils, smbclient, fio] | |
| 178 | write_files: | |
| 179 | - path: /etc/samba/smb.conf | |
| 180 | permissions: '0644' | |
| 181 | encoding: b64 | |
| 182 | content: {samba} | |
| 183 | - path: /etc/dnsmasq.d/onenote-lab.conf | |
| 184 | permissions: '0644' | |
| 185 | encoding: b64 | |
| 186 | content: {dnsmasq} | |
| 187 | runcmd: | |
| 188 | - [mkdir, -p, /srv/agent] | |
| 189 | - [chown, agent:agent, /srv/agent] | |
| 190 | - [systemctl, enable, --now, dnsmasq] | |
| 191 | - [systemctl, enable, --now, smbd] | |
| 192 | """.format( | |
| 193 | hostname=hostname, | |
| 194 | public_key=public_key, | |
| 195 | samba=base64.b64encode(samba.encode()).decode(), | |
| 196 | dnsmasq=base64.b64encode(dnsmasq.encode()).decode(), | |
| 197 | ) | |
| 198 | network = """version: 2 | |
| 199 | ethernets: | |
| 200 | wan0: | |
| 201 | match: | |
| 202 | macaddress: "{wan_mac}" | |
| 203 | set-name: wan0 | |
| 204 | dhcp4: true | |
| 205 | lab0: | |
| 206 | match: | |
| 207 | macaddress: "{lab_mac}" | |
| 208 | set-name: lab0 | |
| 209 | addresses: [{lab_address}/24] | |
| 210 | """.format(wan_mac=wan_mac, lab_mac=lab_mac, lab_address=LAB_ADDRESS) | |
| 211 | path.parent.mkdir(parents=True, exist_ok=True) | |
| 212 | with tempfile.TemporaryDirectory(prefix="one-linux-seed-") as temporary: | |
| 213 | root = Path(temporary) | |
| 214 | (root / "meta-data").write_text( | |
| 215 | "instance-id: %s\nlocal-hostname: %s\n" % (hostname, hostname) | |
| 216 | ) | |
| 217 | (root / "user-data").write_text(user_data) | |
| 218 | (root / "network-config").write_text(network) | |
| 219 | subprocess.run([ | |
| 220 | "hdiutil", "makehybrid", "-quiet", "-iso", "-joliet", | |
| 221 | "-default-volume-name", "cidata", "-o", str(path), str(root), | |
| 222 | ], check=True) | |
| 223 | ||
| 224 | ||
| 225 | def fetch_base(): | |
| 226 | require_vm_home() | |
| 227 | if BASE.exists() and BASE_MANIFEST.exists(): | |
| 228 | subprocess.run([executable("qemu-img"), "check", str(BASE)], check=True) | |
| 229 | print(BASE_MANIFEST) | |
| 230 | return | |
| 231 | headers = {} | |
| 232 | if os.environ.get("ONE_VM_AUTHORIZATION"): | |
| 233 | headers["Authorization"] = os.environ["ONE_VM_AUTHORIZATION"] | |
| 234 | expected = os.environ.get("LINUX_VM_SHA512", "").lower() | |
| 235 | if not expected: | |
| 236 | sums_url = urllib.parse.urljoin(IMAGE_URL, "SHA512SUMS") | |
| 237 | with urllib.request.urlopen(urllib.request.Request(sums_url, headers=headers)) as response: | |
| 238 | sums = response.read().decode() | |
| 239 | filename = urllib.parse.urlparse(IMAGE_URL).path.rsplit("/", 1)[-1] | |
| 240 | match = re.search(r"^([0-9a-f]{128})\s+\*?%s$" % re.escape(filename), | |
| 241 | sums, re.MULTILINE) | |
| 242 | if not match: | |
| 243 | raise SystemExit("Image is absent from %s" % sums_url) | |
| 244 | expected = match.group(1) | |
| 245 | if not re.fullmatch(r"[0-9a-f]{128}", expected): | |
| 246 | raise SystemExit("LINUX_VM_SHA512 must contain 128 hexadecimal characters") | |
| 247 | IMAGES.mkdir(parents=True, exist_ok=True) | |
| 248 | temporary = BASE.with_suffix(".download.qcow2") | |
| 249 | digest = hashlib.sha512() | |
| 250 | try: | |
| 251 | with urllib.request.urlopen(urllib.request.Request(IMAGE_URL, headers=headers)) as response: | |
| 252 | with temporary.open("wb") as output: | |
| 253 | while chunk := response.read(8 * 1024 * 1024): | |
| 254 | output.write(chunk) | |
| 255 | digest.update(chunk) | |
| 256 | if digest.hexdigest() != expected: | |
| 257 | raise SystemExit("Downloaded Linux image failed SHA-512 verification") | |
| 258 | subprocess.run([executable("qemu-img"), "check", str(temporary)], check=True) | |
| 259 | temporary.replace(BASE) | |
| 260 | BASE.chmod(0o444) | |
| 261 | atomic_json(BASE_MANIFEST, {"file": BASE.name, "sha512": expected, | |
| 262 | "url": IMAGE_URL}) | |
| 263 | except Exception: | |
| 264 | temporary.unlink(missing_ok=True) | |
| 265 | raise | |
| 266 | print(BASE_MANIFEST) | |
| 267 | ||
| 268 | ||
| 269 | def create_instance(name, cpus=2, memory_mb=2048, disk_gb=16, | |
| 270 | ssh_port=None, samba_port=None): | |
| 271 | require_vm_home() | |
| 272 | validate_name(name) | |
| 273 | if not BASE.is_file() or not BASE_MANIFEST.is_file(): | |
| 274 | raise SystemExit("No Linux base image. Run: ./linux_vm.py fetch") | |
| 275 | if not 1 <= cpus <= 16: | |
| 276 | raise SystemExit("CPU count must be between 1 and 16") | |
| 277 | if not 512 <= memory_mb <= 65536: | |
| 278 | raise SystemExit("Memory must be between 512 and 65536 MiB") | |
| 279 | if not 8 <= disk_gb <= 1024: | |
| 280 | raise SystemExit("Disk size must be between 8 and 1024 GiB") | |
| 281 | LINUX_HOME.mkdir(parents=True, exist_ok=True) | |
| 282 | with (LINUX_HOME / ".lock").open("a") as lock: | |
| 283 | fcntl.flock(lock, fcntl.LOCK_EX) | |
| 284 | if instance_path(name).exists(): | |
| 285 | raise SystemExit("Linux VM already exists: %s" % name) | |
| 286 | ssh_port = available_port("ssh_port", 22000, 22099, ssh_port) | |
| 287 | samba_port = available_port("samba_port", 14450, 14549, samba_port) | |
| 288 | hostname = "one-" + name | |
| 289 | private = key_path(name) | |
| 290 | public = private.with_suffix(".key.pub") | |
| 291 | overlay = overlay_path(name) | |
| 292 | seed = seed_path(name) | |
| 293 | INSTANCES.mkdir(parents=True, exist_ok=True) | |
| 294 | try: | |
| 295 | subprocess.run(["ssh-keygen", "-q", "-t", "ed25519", "-N", "", | |
| 296 | "-C", hostname, "-f", str(private)], check=True) | |
| 297 | private.chmod(0o600) | |
| 298 | subprocess.run([ | |
| 299 | executable("qemu-img"), "create", "-f", "qcow2", "-F", "qcow2", | |
| 300 | "-b", str(BASE), str(overlay), | |
| 301 | ], check=True) | |
| 302 | subprocess.run([executable("qemu-img"), "resize", str(overlay), | |
| 303 | "%dG" % disk_gb], check=True) | |
| 304 | wan = mac("wan:", name) | |
| 305 | lab = mac("lab:", name) | |
| 306 | make_seed(seed, hostname, public.read_text().strip(), wan, lab) | |
| 307 | seed.chmod(0o600) | |
| 308 | config = {"cpus": cpus, "disk_gb": disk_gb, "hostname": hostname, | |
| 309 | "lab_address": LAB_ADDRESS, "lab_mac": lab, | |
| 310 | "memory_mb": memory_mb, "samba_port": samba_port, | |
| 311 | "ssh_port": ssh_port, "wan_mac": wan} | |
| 312 | atomic_json(instance_path(name), config) | |
| 313 | instance_path(name).chmod(0o600) | |
| 314 | except Exception: | |
| 315 | for path in (private, public, overlay, seed, instance_path(name)): | |
| 316 | path.unlink(missing_ok=True) | |
| 317 | raise | |
| 318 | print(json.dumps(dict(config, name=name), sort_keys=True)) | |
| 319 | ||
| 320 | ||
| 321 | def launch(name): | |
| 322 | require_vm_home() | |
| 323 | config = load_instance(name) | |
| 324 | if running(name): | |
| 325 | raise SystemExit("Linux VM is already running: %s" % name) | |
| 326 | active = [other for other, _config in configs() if other != name and running(other)] | |
| 327 | if active: | |
| 328 | raise SystemExit("Only one Samba VM may use %s: %s" % | |
| 329 | (LAB_ADDRESS, ", ".join(active))) | |
| 330 | if not FIRMWARE.is_file(): | |
| 331 | raise SystemExit("AArch64 UEFI firmware not found: %s" % FIRMWARE) | |
| 332 | root, qmp_socket, pid, log_path = runtime(name) | |
| 333 | root.mkdir(parents=True, exist_ok=True) | |
| 334 | qmp_socket.unlink(missing_ok=True) | |
| 335 | lab_socket = ensure_hub(VM_HOME) | |
| 336 | command = [ | |
| 337 | executable("qemu-system-aarch64"), | |
| 338 | "-name", "OneNote Linux Samba " + name, | |
| 339 | "-machine", "virt,accel=hvf", "-cpu", "host", | |
| 340 | "-smp", str(config["cpus"]), "-m", str(config["memory_mb"]), | |
| 341 | "-bios", str(FIRMWARE), | |
| 342 | "-drive", "if=none,file=%s,format=qcow2,id=root" % overlay_path(name), | |
| 343 | "-device", "virtio-blk-pci,drive=root", | |
| 344 | "-device", "virtio-scsi-pci,id=scsi", | |
| 345 | "-drive", "if=none,file=%s,format=raw,media=cdrom,readonly=on,id=seed" % seed_path(name), | |
| 346 | "-device", "scsi-cd,drive=seed", | |
| 347 | "-netdev", ("user,id=wan,hostfwd=tcp:127.0.0.1:%d-:22," | |
| 348 | "hostfwd=tcp:127.0.0.1:%d-:445" % | |
| 349 | (config["ssh_port"], config["samba_port"])), | |
| 350 | "-device", "virtio-net-pci,netdev=wan,mac=%s" % config["wan_mac"], | |
| 351 | "-netdev", "vde,id=lab,sock=%s" % lab_socket, | |
| 352 | "-device", "virtio-net-pci,netdev=lab,mac=%s" % config["lab_mac"], | |
| 353 | "-uuid", str(uuid.uuid5(uuid.NAMESPACE_URL, "onenote-linux:" + name)), | |
| 354 | "-display", "none", "-serial", "stdio", "-monitor", "none", | |
| 355 | "-qmp", "unix:%s,server=on,wait=off" % qmp_socket, | |
| 356 | "-pidfile", str(pid), | |
| 357 | ] | |
| 358 | with log_path.open("ab") as log: | |
| 359 | subprocess.Popen(command, stdin=subprocess.DEVNULL, stdout=log, stderr=log, | |
| 360 | start_new_session=True) | |
| 361 | for _ in range(50): | |
| 362 | if running(name): | |
| 363 | print("Linux VM opened: %s" % name) | |
| 364 | return | |
| 365 | time.sleep(0.1) | |
| 366 | raise SystemExit("Linux VM did not open. Check: %s" % log_path) | |
| 367 | ||
| 368 | ||
| 369 | def ssh_argv(name, command=None): | |
| 370 | config = load_instance(name) | |
| 371 | known = INSTANCES / (name + ".known_hosts") | |
| 372 | argv = ["ssh", "-p", str(config["ssh_port"]), "-i", str(key_path(name)), | |
| 373 | "-o", "BatchMode=yes", "-o", "IdentitiesOnly=yes", | |
| 374 | "-o", "StrictHostKeyChecking=accept-new", | |
| 375 | "-o", 'UserKnownHostsFile="%s"' % known, | |
| 376 | "-o", "ConnectTimeout=5", "agent@127.0.0.1"] | |
| 377 | if command is not None: | |
| 378 | argv.append(command) | |
| 379 | return argv | |
| 380 | ||
| 381 | ||
| 382 | def run_ssh(name, command, timeout=60): | |
| 383 | return subprocess.run(ssh_argv(name, command), capture_output=True, text=True, | |
| 384 | timeout=timeout) | |
| 385 | ||
| 386 | ||
| 387 | def wait_instance(name, timeout): | |
| 388 | deadline = time.monotonic() + timeout | |
| 389 | while time.monotonic() < deadline: | |
| 390 | try: | |
| 391 | if run_ssh(name, "true", timeout=8).returncode == 0: | |
| 392 | break | |
| 393 | except subprocess.TimeoutExpired: | |
| 394 | pass | |
| 395 | time.sleep(1) | |
| 396 | else: | |
| 397 | raise SystemExit("SSH did not become ready within %d seconds: %s" % (timeout, name)) | |
| 398 | remaining = max(1, int(deadline - time.monotonic())) | |
| 399 | try: | |
| 400 | result = run_ssh( | |
| 401 | name, | |
| 402 | "sudo cloud-init status --wait && " | |
| 403 | "command -v smbd dnsmasq mount.cifs smbclient fio >/dev/null && " | |
| 404 | "systemctl is-active --quiet smbd dnsmasq", | |
| 405 | timeout=remaining, | |
| 406 | ) | |
| 407 | except subprocess.TimeoutExpired: | |
| 408 | raise SystemExit("Cloud-init did not finish within %d seconds: %s" % (timeout, name)) | |
| 409 | if result.returncode: | |
| 410 | raise SystemExit((result.stdout + result.stderr).strip() or | |
| 411 | "Linux bootstrap validation failed: %s" % name) | |
| 412 | config = load_instance(name) | |
| 413 | print("Ready: %s ssh=127.0.0.1:%d smb=127.0.0.1:%d windows=//%s/agent" % | |
| 414 | (name, config["ssh_port"], config["samba_port"], LAB_ADDRESS)) | |
| 415 | ||
| 416 | ||
| 417 | def qmp(name, command): | |
| 418 | with socket.socket(socket.AF_UNIX) as client: | |
| 419 | client.settimeout(5) | |
| 420 | client.connect(str(runtime(name)[1])) | |
| 421 | stream = client.makefile("rwb", buffering=0) | |
| 422 | stream.readline() | |
| 423 | stream.write(b'{"execute":"qmp_capabilities"}\n') | |
| 424 | while "return" not in json.loads(stream.readline()): | |
| 425 | pass | |
| 426 | stream.write((json.dumps({"execute": command}) + "\n").encode()) | |
| 427 | while True: | |
| 428 | response = json.loads(stream.readline()) | |
| 429 | if "return" in response: | |
| 430 | return response["return"] | |
| 431 | if "error" in response: | |
| 432 | raise SystemExit(response["error"]["desc"]) | |
| 433 | ||
| 434 | ||
| 435 | def shutdown(name, timeout): | |
| 436 | if not running(name): | |
| 437 | raise SystemExit("Linux VM is not running: %s" % name) | |
| 438 | try: | |
| 439 | run_ssh(name, "sudo poweroff", timeout=10) | |
| 440 | except (subprocess.TimeoutExpired, OSError): | |
| 441 | qmp(name, "system_powerdown") | |
| 442 | deadline = time.monotonic() + timeout | |
| 443 | while time.monotonic() < deadline: | |
| 444 | if not running(name): | |
| 445 | print("Linux VM stopped: %s" % name) | |
| 446 | return | |
| 447 | time.sleep(1) | |
| 448 | raise SystemExit("Linux VM did not stop within %d seconds: %s" % (timeout, name)) | |
| 449 | ||
| 450 | ||
| 451 | def delete_instance(name): | |
| 452 | require_vm_home() | |
| 453 | load_instance(name) | |
| 454 | if running(name): | |
| 455 | raise SystemExit("Shut down Linux before deleting: %s" % name) | |
| 456 | for path in (overlay_path(name), seed_path(name), key_path(name), | |
| 457 | key_path(name).with_suffix(".key.pub"), | |
| 458 | INSTANCES / (name + ".known_hosts"), instance_path(name)): | |
| 459 | path.unlink(missing_ok=True) | |
| 460 | shutil.rmtree(runtime(name)[0], ignore_errors=True) | |
| 461 | print("Deleted Linux VM: %s" % name) | |
| 462 | ||
| 463 | ||
| 464 | def list_instances(name=None): | |
| 465 | if name: | |
| 466 | load_instance(name) | |
| 467 | print("running" if running(name) else "stopped") | |
| 468 | return | |
| 469 | rows = configs() | |
| 470 | if not rows: | |
| 471 | print("No Linux VMs.") | |
| 472 | return | |
| 473 | for vm_name, config in rows: | |
| 474 | state = "running" if running(vm_name) else "stopped" | |
| 475 | print("%-24s %-24s %-7s ssh:%d smb:%d" % | |
| 476 | (vm_name, config["hostname"], state, config["ssh_port"], | |
| 477 | config["samba_port"])) | |
| 478 | ||
| 479 | ||
| 480 | def main(): | |
| 481 | parser = argparse.ArgumentParser(description="Run SSH-only OneNote Linux Samba VMs") | |
| 482 | commands = parser.add_subparsers(dest="command", required=True) | |
| 483 | commands.add_parser("fetch") | |
| 484 | status = commands.add_parser("status") | |
| 485 | status.add_argument("name", nargs="?") | |
| 486 | up = commands.add_parser("up") | |
| 487 | up.add_argument("name") | |
| 488 | up.add_argument("--cpus", type=int, default=2) | |
| 489 | up.add_argument("--memory", type=int, default=2048, dest="memory_mb") | |
| 490 | up.add_argument("--disk", type=int, default=16, dest="disk_gb") | |
| 491 | up.add_argument("--ssh-port", type=int) | |
| 492 | up.add_argument("--samba-port", type=int) | |
| 493 | up.add_argument("--wait", action="store_true") | |
| 494 | up.add_argument("--timeout", type=int, default=600) | |
| 495 | ssh = commands.add_parser("ssh") | |
| 496 | ssh.add_argument("name") | |
| 497 | ssh.add_argument("remote_command", nargs=argparse.REMAINDER) | |
| 498 | down = commands.add_parser("down") | |
| 499 | down.add_argument("name") | |
| 500 | down.add_argument("--timeout", type=int, default=60) | |
| 501 | down.add_argument("--preserve-machine", action="store_true") | |
| 502 | args = parser.parse_args() | |
| 503 | if args.command == "fetch": | |
| 504 | fetch_base() | |
| 505 | elif args.command == "up": | |
| 506 | if not instance_path(args.name).exists(): | |
| 507 | create_instance(args.name, args.cpus, args.memory_mb, args.disk_gb, | |
| 508 | args.ssh_port, args.samba_port) | |
| 509 | if running(args.name): | |
| 510 | print("Linux VM already running: %s" % args.name) | |
| 511 | else: | |
| 512 | launch(args.name) | |
| 513 | if args.wait: | |
| 514 | wait_instance(args.name, args.timeout) | |
| 515 | elif args.command == "ssh": | |
| 516 | command = args.remote_command | |
| 517 | if command[:1] == ["--"]: | |
| 518 | command = command[1:] | |
| 519 | remote = command[0] if len(command) == 1 else shlex.join(command) | |
| 520 | os.execvp("ssh", ssh_argv(args.name, remote if command else None)) | |
| 521 | elif args.command == "down": | |
| 522 | if not instance_path(args.name).exists(): | |
| 523 | print("Linux VM absent: %s" % args.name) | |
| 524 | else: | |
| 525 | load_instance(args.name) | |
| 526 | if running(args.name): | |
| 527 | shutdown(args.name, args.timeout) | |
| 528 | if args.preserve_machine: | |
| 529 | print("Preserved Linux VM: %s" % args.name) | |
| 530 | else: | |
| 531 | delete_instance(args.name) | |
| 532 | else: | |
| 533 | if args.name and not instance_path(args.name).exists(): | |
| 534 | print("absent") | |
| 535 | else: | |
| 536 | list_instances(args.name) | |
| 537 | ||
| 538 | ||
| 539 | if __name__ == "__main__": | |
| 540 | main() |
tools/w7/mcp_linux.py created+160| ... | ... | @@ -0,0 +1,160 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """MCP server for disposable SSH-only Linux Samba VMs.""" | |
| 3 | ||
| 4 | import json | |
| 5 | from pathlib import Path | |
| 6 | import subprocess | |
| 7 | import sys | |
| 8 | ||
| 9 | ||
| 10 | ROOT = Path(__file__).resolve().parent | |
| 11 | VM = ROOT / "linux_vm.py" | |
| 12 | ||
| 13 | ||
| 14 | TOOLS = [ | |
| 15 | { | |
| 16 | "name": "linux_vm_fetch", | |
| 17 | "description": ( | |
| 18 | "Download and SHA-512 verify the official Debian 13 arm64 cloud base. " | |
| 19 | "The immutable image is stored outside the repository." | |
| 20 | ), | |
| 21 | "inputSchema": {"type": "object", "properties": {}}, | |
| 22 | }, | |
| 23 | { | |
| 24 | "name": "linux_vm_up", | |
| 25 | "description": ( | |
| 26 | "Create a Linux clone when absent, then boot it headlessly. Creation settings " | |
| 27 | "are ignored for an existing clone. Set wait to return after cloud-init and " | |
| 28 | "Samba validation. One VM owns the shared lab address 192.168.77.1." | |
| 29 | ), | |
| 30 | "inputSchema": { | |
| 31 | "type": "object", | |
| 32 | "properties": {"name": {"type": "string", | |
| 33 | "description": "Unique lowercase VM name."}, | |
| 34 | "cpus": {"type": "integer", "default": 2, | |
| 35 | "minimum": 1, "maximum": 16}, | |
| 36 | "memory_mb": {"type": "integer", "default": 2048, | |
| 37 | "minimum": 512, "maximum": 65536}, | |
| 38 | "disk_gb": {"type": "integer", "default": 16, | |
| 39 | "minimum": 8, "maximum": 1024}, | |
| 40 | "ssh_port": {"type": "integer", "minimum": 1024, | |
| 41 | "maximum": 65535}, | |
| 42 | "samba_port": {"type": "integer", "minimum": 1024, | |
| 43 | "maximum": 65535}, | |
| 44 | "wait": {"type": "boolean", "default": False}, | |
| 45 | "timeout": {"type": "integer", "default": 600, | |
| 46 | "minimum": 1, "maximum": 900}}, | |
| 47 | "required": ["name"], | |
| 48 | }, | |
| 49 | }, | |
| 50 | { | |
| 51 | "name": "linux_ssh", | |
| 52 | "description": ( | |
| 53 | "Run a shell command over the clone's private SSH key. Use /srv/agent for " | |
| 54 | "the Samba share exported to Windows as //192.168.77.1/agent." | |
| 55 | ), | |
| 56 | "inputSchema": { | |
| 57 | "type": "object", | |
| 58 | "properties": {"name": {"type": "string"}, | |
| 59 | "command": {"type": "string"}, | |
| 60 | "timeout": {"type": "integer", "default": 120, | |
| 61 | "minimum": 1, "maximum": 900}}, | |
| 62 | "required": ["name", "command"], | |
| 63 | }, | |
| 64 | }, | |
| 65 | { | |
| 66 | "name": "linux_vm_down", | |
| 67 | "description": ( | |
| 68 | "Cleanly stop one VM and delete its overlay, key, and metadata. Set " | |
| 69 | "preserve_machine to keep the stopped VM for reproduction or reuse." | |
| 70 | ), | |
| 71 | "inputSchema": { | |
| 72 | "type": "object", | |
| 73 | "properties": {"name": {"type": "string"}, | |
| 74 | "timeout": {"type": "integer", "default": 60, | |
| 75 | "minimum": 1, "maximum": 120}, | |
| 76 | "preserve_machine": {"type": "boolean", "default": False}}, | |
| 77 | "required": ["name"], | |
| 78 | }, | |
| 79 | }, | |
| 80 | { | |
| 81 | "name": "linux_vm_status", | |
| 82 | "description": "List every Linux VM, or report whether one is absent, stopped, or running.", | |
| 83 | "inputSchema": {"type": "object", "properties": {"name": {"type": "string"}}}, | |
| 84 | }, | |
| 85 | ] | |
| 86 | ||
| 87 | ||
| 88 | def run(argv, timeout=120): | |
| 89 | process = subprocess.run([sys.executable, str(VM)] + argv, capture_output=True, | |
| 90 | text=True, timeout=timeout) | |
| 91 | output = (process.stdout + process.stderr).strip() | |
| 92 | return [{"type": "text", "text": output or "ok"}], process.returncode != 0 | |
| 93 | ||
| 94 | ||
| 95 | def call_tool(name, args): | |
| 96 | if name == "linux_vm_fetch": | |
| 97 | return run(["fetch"], 900) | |
| 98 | if name == "linux_vm_up": | |
| 99 | argv = ["up", args["name"]] | |
| 100 | for key, option in (("cpus", "--cpus"), ("memory_mb", "--memory"), | |
| 101 | ("disk_gb", "--disk"), ("ssh_port", "--ssh-port"), | |
| 102 | ("samba_port", "--samba-port")): | |
| 103 | if args.get(key) is not None: | |
| 104 | argv += [option, str(args[key])] | |
| 105 | timeout = args.get("timeout", 600) | |
| 106 | if args.get("wait"): | |
| 107 | argv += ["--wait", "--timeout", str(timeout)] | |
| 108 | return run(argv, timeout + 15 if args.get("wait") else 120) | |
| 109 | if name == "linux_ssh": | |
| 110 | timeout = args.get("timeout", 120) | |
| 111 | return run(["ssh", args["name"], "--", args["command"]], timeout) | |
| 112 | if name == "linux_vm_down": | |
| 113 | timeout = args.get("timeout", 60) | |
| 114 | argv = ["down", args["name"], "--timeout", str(timeout)] | |
| 115 | if args.get("preserve_machine"): | |
| 116 | argv.append("--preserve-machine") | |
| 117 | return run(argv, timeout + 15) | |
| 118 | if name == "linux_vm_status": | |
| 119 | return run(["status"] + ([args["name"]] if args.get("name") else [])) | |
| 120 | return [{"type": "text", "text": "unknown tool: %s" % name}], True | |
| 121 | ||
| 122 | ||
| 123 | def handle(method, params): | |
| 124 | if method == "initialize": | |
| 125 | return {"protocolVersion": "2025-06-18", "capabilities": {"tools": {}}, | |
| 126 | "serverInfo": {"name": "one-linux", "version": "1.0.0"}} | |
| 127 | if method == "ping": | |
| 128 | return {} | |
| 129 | if method == "tools/list": | |
| 130 | return {"tools": TOOLS} | |
| 131 | if method == "tools/call": | |
| 132 | content, is_error = call_tool(params.get("name"), params.get("arguments") or {}) | |
| 133 | result = {"content": content} | |
| 134 | if is_error: | |
| 135 | result["isError"] = True | |
| 136 | return result | |
| 137 | return None | |
| 138 | ||
| 139 | ||
| 140 | def serve(): | |
| 141 | for line in sys.stdin: | |
| 142 | try: | |
| 143 | message = json.loads(line) | |
| 144 | if message.get("id") is None: | |
| 145 | continue | |
| 146 | result = handle(message.get("method"), message.get("params") or {}) | |
| 147 | if result is None: | |
| 148 | reply = {"jsonrpc": "2.0", "id": message["id"], | |
| 149 | "error": {"code": -32601, "message": "unknown method"}} | |
| 150 | else: | |
| 151 | reply = {"jsonrpc": "2.0", "id": message["id"], "result": result} | |
| 152 | except Exception as e: | |
| 153 | reply = {"jsonrpc": "2.0", "id": None, | |
| 154 | "error": {"code": -32603, "message": "%s: %s" % | |
| 155 | (type(e).__name__, e)}} | |
| 156 | print(json.dumps(reply), flush=True) | |
| 157 | ||
| 158 | ||
| 159 | if __name__ == "__main__": | |
| 160 | serve() |
tools/w7/mcp_win7.py created+584| ... | ... | @@ -0,0 +1,584 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """MCP server (stdio, newline-delimited JSON-RPC) and CLI for driving the | |
| 3 | Windows 7 box `wayback` through its AutoHotkey exec listener.""" | |
| 4 | ||
| 5 | import base64 | |
| 6 | import json | |
| 7 | import os | |
| 8 | from pathlib import Path | |
| 9 | import socket | |
| 10 | import subprocess | |
| 11 | import sys | |
| 12 | import urllib.error | |
| 13 | import urllib.request | |
| 14 | ||
| 15 | WAYBACK_BASE = os.environ.get("WIN7", "http://100.104.74.68:8777").rstrip("/") | |
| 16 | WAYBACK_TOKEN = os.environ.get("WIN7_TOKEN") | |
| 17 | DEFAULT_TARGET = os.environ.get("WIN7_TARGET", "wayback") | |
| 18 | TARGETS_PATH = Path(os.environ.get( | |
| 19 | "WIN7_TARGETS_FILE", "/Volumes/Documents/OneNote VMs/targets.json" | |
| 20 | )).expanduser() | |
| 21 | VM = Path(__file__).with_name("vm.py") | |
| 22 | ||
| 23 | ||
| 24 | class Win7Error(Exception): | |
| 25 | pass | |
| 26 | ||
| 27 | ||
| 28 | def resolve_target(name): | |
| 29 | targets = { | |
| 30 | "wayback": {"base": WAYBACK_BASE, "token": WAYBACK_TOKEN}, | |
| 31 | "local": {"base": "http://127.0.0.1:18777"}, | |
| 32 | } | |
| 33 | if TARGETS_PATH.exists(): | |
| 34 | try: | |
| 35 | configured = json.loads(TARGETS_PATH.read_text()) | |
| 36 | except (OSError, ValueError) as e: | |
| 37 | raise Win7Error("Cannot read %s: %s" % (TARGETS_PATH, e)) | |
| 38 | if not isinstance(configured, dict): | |
| 39 | raise Win7Error("Windows targets must be a JSON object: %s" % TARGETS_PATH) | |
| 40 | targets.update(configured) | |
| 41 | name = name or DEFAULT_TARGET | |
| 42 | target = targets.get(name) | |
| 43 | if not isinstance(target, dict) or not target.get("base"): | |
| 44 | raise Win7Error( | |
| 45 | "Unknown Windows target %r. Choose: %s" | |
| 46 | % (name, ", ".join(sorted(targets))) | |
| 47 | ) | |
| 48 | token = target.get("token") | |
| 49 | if target.get("token_env"): | |
| 50 | token = os.environ.get(target["token_env"]) | |
| 51 | return name, target["base"].rstrip("/"), token | |
| 52 | ||
| 53 | ||
| 54 | def request(path, payload, timeout_ms=15000, target=None): | |
| 55 | """POST json to the listener (GET when payload is None). Raises Win7Error.""" | |
| 56 | name, base, token = resolve_target(target) | |
| 57 | headers = {"Content-Type": "application/json"} | |
| 58 | if token: | |
| 59 | headers["X-Win7-Token"] = token | |
| 60 | body = None if payload is None else json.dumps(payload).encode("utf-8") | |
| 61 | req = urllib.request.Request(base + path, data=body, headers=headers) | |
| 62 | try: | |
| 63 | # The box owns the deadline; give the socket slack so its own timeout | |
| 64 | # wins and we get a real stdout/stderr back instead of a dead socket. | |
| 65 | with urllib.request.urlopen(req, timeout=timeout_ms / 1000.0 + 15) as resp: | |
| 66 | raw = resp.read() | |
| 67 | except urllib.error.HTTPError as e: | |
| 68 | raise Win7Error("%s %s: HTTP %d %s" % (path, base, e.code, e.reason)) | |
| 69 | except (urllib.error.URLError, socket.timeout, OSError) as e: | |
| 70 | reason = getattr(e, "reason", e) | |
| 71 | raise Win7Error( | |
| 72 | "Cannot reach %r at %s (%s). Start it and open the desktop agent." | |
| 73 | % (name, base, reason) | |
| 74 | ) | |
| 75 | try: | |
| 76 | return json.loads(raw.decode("utf-8")) | |
| 77 | except ValueError: | |
| 78 | raise Win7Error("%s returned non-JSON: %r" % (path, raw[:200])) | |
| 79 | ||
| 80 | ||
| 81 | def do_health(target=None): | |
| 82 | return request("/health", None, target=target) | |
| 83 | ||
| 84 | ||
| 85 | def do_shot(target=None): | |
| 86 | return request("/shot", {}, target=target) | |
| 87 | ||
| 88 | ||
| 89 | def do_exec(script, shot_delay_ms=500, timeout_ms=60000, target=None): | |
| 90 | return request( | |
| 91 | "/exec", | |
| 92 | {"script": script, "shot_delay_ms": shot_delay_ms, "timeout_ms": timeout_ms}, | |
| 93 | timeout_ms, | |
| 94 | target, | |
| 95 | ) | |
| 96 | ||
| 97 | ||
| 98 | def do_cmd(command, timeout_ms=60000, target=None): | |
| 99 | return request( | |
| 100 | "/cmd", {"command": command, "timeout_ms": timeout_ms}, timeout_ms, target | |
| 101 | ) | |
| 102 | ||
| 103 | ||
| 104 | def do_spawn(command, target=None): | |
| 105 | return request("/spawn", {"command": command}, target=target) | |
| 106 | ||
| 107 | ||
| 108 | def do_ui(target=None): | |
| 109 | return request("/ui", {}, target=target) | |
| 110 | ||
| 111 | ||
| 112 | # The base64 stays inside this process on both transfers: a tool that took file | |
| 113 | # bytes as an argument would spend the whole file as context tokens. | |
| 114 | def do_put(local, remote, target=None): | |
| 115 | with open(local, "rb") as f: | |
| 116 | blob = f.read() | |
| 117 | resp = request("/put", {"path": remote, "b64": base64.b64encode(blob).decode("ascii")}, | |
| 118 | 120000, target) | |
| 119 | resp.setdefault("bytes", len(blob)) | |
| 120 | return resp | |
| 121 | ||
| 122 | ||
| 123 | def do_get(remote, local, target=None): | |
| 124 | resp = request("/get", {"path": remote}, 120000, target) | |
| 125 | if resp.get("b64"): | |
| 126 | with open(local, "wb") as f: | |
| 127 | f.write(base64.b64decode(resp["b64"])) | |
| 128 | return {"bytes": resp.get("bytes"), "path": os.path.abspath(local), | |
| 129 | "error": resp.get("error")} | |
| 130 | ||
| 131 | ||
| 132 | # Raw string: this text is mostly about backslashes, and rendering it correctly | |
| 133 | # matters more than keeping the source lines joined. | |
| 134 | EXEC_DESCRIPTION = r"""Run an AutoHotkey v2 script on the Windows 7 desktop. | |
| 135 | Returns whatever the script printed, plus a screenshot taken shot_delay_ms | |
| 136 | after the script exits. | |
| 137 | ||
| 138 | Coordinates are screen-absolute and match the returned screenshot | |
| 139 | pixel-for-pixel (CoordMode Screen is already set; do not change it). The only | |
| 140 | way to send text back is FileAppend(text, "*") -- there is no implicit output. | |
| 141 | Put a whole sequence of actions in one script; one call per click is slow and | |
| 142 | blind. | |
| 143 | ||
| 144 | BACKSLASHES. AutoHotkey's escape character is the backtick, NOT the backslash, | |
| 145 | so a backslash inside an AHK string is already literal. You are emitting this | |
| 146 | script as a JSON string, so one literal backslash is written "\\" in the JSON | |
| 147 | and arrives in the script as "\". Never write "\\\\" -- that is what makes an | |
| 148 | app receive A:\\cute.png instead of A:\cute.png. Escape inside AHK with the | |
| 149 | backtick instead: `n newline, `t tab, `" quote. | |
| 150 | ||
| 151 | LITERAL TEXT. Send() reads ^ + ! # { } as Ctrl/Shift/Alt/Win and key groups. | |
| 152 | Use SendText() for anything literal -- paths, passwords, arbitrary content -- | |
| 153 | and keep Send() for actual key combinations. | |
| 154 | ||
| 155 | CLEAN UP. When you finish a task, close the applications you opened (WinClose, | |
| 156 | or the app's own quit path). Leaving windows stacked makes later screenshots | |
| 157 | harder to read, and a forgotten modal swallows input from the next script. | |
| 158 | ||
| 159 | Click something, let the UI settle: | |
| 160 | Click(512, 384) | |
| 161 | Sleep(300) | |
| 162 | ||
| 163 | Type a literal path into the focused field: | |
| 164 | SendText("A:\cute.png") | |
| 165 | Send("{Enter}") | |
| 166 | ||
| 167 | Shortcut, then read the result out of the clipboard: | |
| 168 | Send("^a^c") | |
| 169 | ClipWait(1) | |
| 170 | FileAppend(A_Clipboard, "*") | |
| 171 | ||
| 172 | Launch an app, wait for its window, and close it when done: | |
| 173 | Run("mspaint.exe") | |
| 174 | WinWait("Paint", , 10) | |
| 175 | WinActivate() | |
| 176 | WinClose("Paint") | |
| 177 | ||
| 178 | Raise timeout_ms when the script itself waits on the UI; raise shot_delay_ms | |
| 179 | when an animation or app launch needs longer to settle before the screenshot.""" | |
| 180 | ||
| 181 | TARGET_PROPERTY = { | |
| 182 | "type": "string", | |
| 183 | "description": "Target name. Omit to use the configured default.", | |
| 184 | } | |
| 185 | ||
| 186 | TOOLS = [ | |
| 187 | { | |
| 188 | "name": "win7_exec", | |
| 189 | "description": EXEC_DESCRIPTION, | |
| 190 | "inputSchema": { | |
| 191 | "type": "object", | |
| 192 | "properties": { | |
| 193 | "target": TARGET_PROPERTY, | |
| 194 | "script": {"type": "string", "description": "AutoHotkey v2 source."}, | |
| 195 | "shot_delay_ms": { | |
| 196 | "type": "integer", | |
| 197 | "default": 500, | |
| 198 | "description": "Wait this long after the script ends, then screenshot.", | |
| 199 | }, | |
| 200 | "timeout_ms": { | |
| 201 | "type": "integer", | |
| 202 | "default": 60000, | |
| 203 | "description": "Kill the script after this long.", | |
| 204 | }, | |
| 205 | }, | |
| 206 | "required": ["script"], | |
| 207 | }, | |
| 208 | }, | |
| 209 | { | |
| 210 | "name": "win7_cmd", | |
| 211 | "description": ( | |
| 212 | "Run a command through cmd.exe on the Windows 7 box and return its output. " | |
| 213 | "No screenshot -- use it to inspect files, launch programs and check state " | |
| 214 | "without spending a screenshot on it." | |
| 215 | ), | |
| 216 | "inputSchema": { | |
| 217 | "type": "object", | |
| 218 | "properties": { | |
| 219 | "target": TARGET_PROPERTY, | |
| 220 | "command": {"type": "string", "description": "Passed to cmd.exe /c."}, | |
| 221 | "timeout_ms": {"type": "integer", "default": 60000}, | |
| 222 | }, | |
| 223 | "required": ["command"], | |
| 224 | }, | |
| 225 | }, | |
| 226 | { | |
| 227 | "name": "win7_spawn", | |
| 228 | "description": ( | |
| 229 | "Start a detached Windows process and return immediately. Its standard " | |
| 230 | "handles are closed, so a long-lived GUI or capture process cannot wedge " | |
| 231 | "the control channel." | |
| 232 | ), | |
| 233 | "inputSchema": { | |
| 234 | "type": "object", | |
| 235 | "properties": { | |
| 236 | "target": TARGET_PROPERTY, | |
| 237 | "command": {"type": "string", "description": "Windows command line."}, | |
| 238 | }, | |
| 239 | "required": ["command"], | |
| 240 | }, | |
| 241 | }, | |
| 242 | { | |
| 243 | "name": "win7_put", | |
| 244 | "description": ( | |
| 245 | "Copy a file from this Mac to the Windows 7 box. Give two paths; the bytes " | |
| 246 | "never pass through the conversation, so file size costs nothing." | |
| 247 | ), | |
| 248 | "inputSchema": { | |
| 249 | "type": "object", | |
| 250 | "properties": { | |
| 251 | "target": TARGET_PROPERTY, | |
| 252 | "local": {"type": "string", "description": "Path on the Mac."}, | |
| 253 | "remote": { | |
| 254 | "type": "string", | |
| 255 | "description": "Windows path, e.g. C:\\\\work\\\\a.one.", | |
| 256 | }, | |
| 257 | }, | |
| 258 | "required": ["local", "remote"], | |
| 259 | }, | |
| 260 | }, | |
| 261 | { | |
| 262 | "name": "win7_get", | |
| 263 | "description": "Copy a file from the Windows 7 box back to this Mac.", | |
| 264 | "inputSchema": { | |
| 265 | "type": "object", | |
| 266 | "properties": { | |
| 267 | "target": TARGET_PROPERTY, | |
| 268 | "remote": {"type": "string", "description": "Windows path."}, | |
| 269 | "local": {"type": "string", "description": "Path on the Mac."}, | |
| 270 | }, | |
| 271 | "required": ["remote", "local"], | |
| 272 | }, | |
| 273 | }, | |
| 274 | { | |
| 275 | "name": "win7_shot", | |
| 276 | "description": "Screenshot the Windows 7 desktop without running anything.", | |
| 277 | "inputSchema": {"type": "object", "properties": {"target": TARGET_PROPERTY}}, | |
| 278 | }, | |
| 279 | { | |
| 280 | "name": "win7_ui", | |
| 281 | "description": ( | |
| 282 | "Dump the foreground window's control tree as text -- class name, window " | |
| 283 | "text and client rect (l,t,w,h) for the window and each child control. " | |
| 284 | "It reads real Win32 controls, so it is excellent for dialogs, menus and " | |
| 285 | "standard controls, and near-useless for custom-drawn canvases like " | |
| 286 | "OneNote's page surface -- reach for a screenshot there instead." | |
| 287 | ), | |
| 288 | "inputSchema": {"type": "object", "properties": {"target": TARGET_PROPERTY}}, | |
| 289 | }, | |
| 290 | ] | |
| 291 | ||
| 292 | TOOLS += [ | |
| 293 | { | |
| 294 | "name": "win7_vm_up", | |
| 295 | "description": ( | |
| 296 | "Create a named Windows 7 clone when absent, then boot it. Creation settings " | |
| 297 | "are ignored for an existing clone. Set wait to return only when its " | |
| 298 | "authenticated desktop agent reports the expected hostname." | |
| 299 | ), | |
| 300 | "inputSchema": { | |
| 301 | "type": "object", | |
| 302 | "properties": { | |
| 303 | "name": {"type": "string", | |
| 304 | "description": "Unique 1-11 character lowercase VM name."}, | |
| 305 | "hostname": {"type": "string", "description": "Optional Windows hostname."}, | |
| 306 | "cpus": {"type": "integer", "default": 2, "minimum": 1, "maximum": 16}, | |
| 307 | "memory_mb": {"type": "integer", "default": 4096, | |
| 308 | "minimum": 1024, "maximum": 65536}, | |
| 309 | "port": {"type": "integer", "minimum": 1024, "maximum": 65535}, | |
| 310 | "display": {"type": "boolean", "default": False}, | |
| 311 | "wait": {"type": "boolean", "default": False}, | |
| 312 | "timeout": {"type": "integer", "default": 300, "minimum": 1, | |
| 313 | "maximum": 900}, | |
| 314 | }, | |
| 315 | "required": ["name"], | |
| 316 | }, | |
| 317 | }, | |
| 318 | { | |
| 319 | "name": "win7_vm_down", | |
| 320 | "description": ( | |
| 321 | "Cleanly stop one clone and delete its overlay and metadata. Set " | |
| 322 | "preserve_machine to keep the stopped clone for reproduction or reuse." | |
| 323 | ), | |
| 324 | "inputSchema": { | |
| 325 | "type": "object", | |
| 326 | "properties": { | |
| 327 | "name": {"type": "string"}, | |
| 328 | "timeout": {"type": "integer", "default": 60, "minimum": 1, | |
| 329 | "maximum": 110}, | |
| 330 | "preserve_machine": {"type": "boolean", "default": False}, | |
| 331 | }, | |
| 332 | "required": ["name"], | |
| 333 | }, | |
| 334 | }, | |
| 335 | { | |
| 336 | "name": "win7_vm_status", | |
| 337 | "description": "List every clone, or report whether one named clone is absent, stopped, or running.", | |
| 338 | "inputSchema": { | |
| 339 | "type": "object", | |
| 340 | "properties": {"name": {"type": "string"}}, | |
| 341 | }, | |
| 342 | }, | |
| 343 | ] | |
| 344 | ||
| 345 | ||
| 346 | def win_line(resp): | |
| 347 | win = resp.get("win") | |
| 348 | if not win or not (win.get("title") or win.get("class")): | |
| 349 | return "" | |
| 350 | tag = win.get("class") or "" | |
| 351 | if win.get("dialog"): | |
| 352 | tag = (tag + " dialog").strip() | |
| 353 | return 'window: "%s" (%s)' % (win.get("title", ""), tag) | |
| 354 | ||
| 355 | ||
| 356 | def shot_blocks(resp, text_prefix=""): | |
| 357 | text = text_prefix + "screen: %sx%s" % (resp.get("w"), resp.get("h")) | |
| 358 | wl = win_line(resp) | |
| 359 | if wl: | |
| 360 | text += "\n" + wl | |
| 361 | blocks = [{"type": "text", "text": text}] | |
| 362 | png = resp.get("png_b64") | |
| 363 | if png: | |
| 364 | blocks.append({"type": "image", "data": png, "mimeType": "image/png"}) | |
| 365 | return blocks | |
| 366 | ||
| 367 | ||
| 368 | def text_result(resp): | |
| 369 | lines = ["exit=%s" % resp.get("exit")] | |
| 370 | for key in ("stdout", "stderr", "error"): | |
| 371 | val = resp.get(key) | |
| 372 | if val: | |
| 373 | lines.append("%s:\n%s" % (key, val)) | |
| 374 | return "\n".join(lines) | |
| 375 | ||
| 376 | ||
| 377 | def vm_tool(name, args): | |
| 378 | verb = name.removeprefix("win7_vm_") | |
| 379 | if verb == "status": | |
| 380 | argv = ["status"] + ([args["name"]] if args.get("name") else []) | |
| 381 | elif verb == "up": | |
| 382 | argv = ["up", args["name"]] | |
| 383 | for key, option in (("hostname", "--hostname"), ("cpus", "--cpus"), | |
| 384 | ("memory_mb", "--memory"), ("port", "--port")): | |
| 385 | if args.get(key) is not None: | |
| 386 | argv += [option, str(args[key])] | |
| 387 | if args.get("display"): | |
| 388 | argv.append("--display") | |
| 389 | if args.get("wait"): | |
| 390 | argv += ["--wait", "--timeout", str(args.get("timeout", 300))] | |
| 391 | elif verb == "down": | |
| 392 | argv = ["down", args["name"], "--timeout", str(args.get("timeout", 60))] | |
| 393 | if args.get("preserve_machine"): | |
| 394 | argv.append("--preserve-machine") | |
| 395 | process = subprocess.run( | |
| 396 | [sys.executable, str(VM)] + argv, | |
| 397 | capture_output=True, | |
| 398 | text=True, | |
| 399 | timeout=args.get("timeout", 300) + 15 if verb == "up" and args.get("wait") | |
| 400 | else 120, | |
| 401 | ) | |
| 402 | output = (process.stdout + process.stderr).strip() | |
| 403 | return [{"type": "text", "text": output or "ok"}], process.returncode != 0 | |
| 404 | ||
| 405 | ||
| 406 | def call_tool(name, args): | |
| 407 | if name.startswith("win7_vm_"): | |
| 408 | return vm_tool(name, args) | |
| 409 | target = args.get("target") | |
| 410 | if name == "win7_shot": | |
| 411 | return shot_blocks(do_shot(target)), False | |
| 412 | if name == "win7_ui": | |
| 413 | resp = do_ui(target) | |
| 414 | wl = win_line(resp) | |
| 415 | parts = [p for p in (wl, resp.get("controls"), resp.get("error") and | |
| 416 | "error: %s" % resp["error"]) if p] | |
| 417 | return [{"type": "text", "text": "\n".join(parts)}], False | |
| 418 | if name == "win7_put": | |
| 419 | resp = do_put(args["local"], args["remote"], target) | |
| 420 | text = "wrote %s bytes to %s" % (resp.get("bytes"), resp.get("path")) | |
| 421 | return [{"type": "text", "text": text}], False | |
| 422 | if name == "win7_get": | |
| 423 | resp = do_get(args["remote"], args["local"], target) | |
| 424 | text = "read %s bytes to %s" % (resp.get("bytes"), resp.get("path")) | |
| 425 | return [{"type": "text", "text": text}], False | |
| 426 | if name == "win7_cmd": | |
| 427 | command = args.get("command") | |
| 428 | if not isinstance(command, str) or not command.strip(): | |
| 429 | return [{"type": "text", "text": "command is required"}], True | |
| 430 | resp = do_cmd(command, args.get("timeout_ms", 60000), target) | |
| 431 | return [{"type": "text", "text": text_result(resp)}], False | |
| 432 | if name == "win7_spawn": | |
| 433 | command = args.get("command") | |
| 434 | if not isinstance(command, str) or not command.strip(): | |
| 435 | return [{"type": "text", "text": "command is required"}], True | |
| 436 | resp = do_spawn(command, target) | |
| 437 | return [{"type": "text", "text": "pid=%s" % resp.get("pid")}], False | |
| 438 | if name == "win7_exec": | |
| 439 | script = args.get("script") | |
| 440 | if not isinstance(script, str) or not script.strip(): | |
| 441 | return [{"type": "text", "text": "script is required"}], True | |
| 442 | resp = do_exec( | |
| 443 | script, | |
| 444 | args.get("shot_delay_ms", 500), | |
| 445 | args.get("timeout_ms", 60000), | |
| 446 | target, | |
| 447 | ) | |
| 448 | return shot_blocks(resp, text_result(resp) + "\n"), False | |
| 449 | raise Win7Error("unknown tool %r" % (name,)) | |
| 450 | ||
| 451 | ||
| 452 | def handle(method, params): | |
| 453 | if method == "initialize": | |
| 454 | return { | |
| 455 | "protocolVersion": "2025-06-18", | |
| 456 | "capabilities": {"tools": {}}, | |
| 457 | "serverInfo": {"name": "win7", "version": "1.0.0"}, | |
| 458 | } | |
| 459 | if method == "ping": | |
| 460 | return {} | |
| 461 | if method == "tools/list": | |
| 462 | return {"tools": TOOLS} | |
| 463 | if method == "tools/call": | |
| 464 | try: | |
| 465 | content, is_error = call_tool(params.get("name"), params.get("arguments") or {}) | |
| 466 | except Win7Error as e: | |
| 467 | content, is_error = [{"type": "text", "text": str(e)}], True | |
| 468 | # No structuredContent key, ever: Codex drops content[] outright when it | |
| 469 | # is present (openai/codex#10334), which silently discards the screenshot. | |
| 470 | result = {"content": content, "_meta": {"codex/imageDetail": "original"}} | |
| 471 | if is_error: | |
| 472 | result["isError"] = True | |
| 473 | return result | |
| 474 | return None | |
| 475 | ||
| 476 | ||
| 477 | def serve(): | |
| 478 | out = sys.stdout | |
| 479 | for line in sys.stdin: | |
| 480 | line = line.strip() | |
| 481 | if not line: | |
| 482 | continue | |
| 483 | try: | |
| 484 | msg = json.loads(line) | |
| 485 | except ValueError: | |
| 486 | print("win7: dropping unparseable line: %r" % line[:200], file=sys.stderr) | |
| 487 | continue | |
| 488 | mid = msg.get("id") | |
| 489 | if mid is None: | |
| 490 | continue # notification: a reply would itself be a protocol error | |
| 491 | try: | |
| 492 | result = handle(msg.get("method"), msg.get("params") or {}) | |
| 493 | except Exception as e: # a crash here would wedge the client forever | |
| 494 | reply = { | |
| 495 | "jsonrpc": "2.0", | |
| 496 | "id": mid, | |
| 497 | "error": {"code": -32603, "message": "%s: %s" % (type(e).__name__, e)}, | |
| 498 | } | |
| 499 | else: | |
| 500 | if result is None: | |
| 501 | reply = { | |
| 502 | "jsonrpc": "2.0", | |
| 503 | "id": mid, | |
| 504 | "error": {"code": -32601, "message": "unknown method %r" % msg.get("method")}, | |
| 505 | } | |
| 506 | else: | |
| 507 | reply = {"jsonrpc": "2.0", "id": mid, "result": result} | |
| 508 | out.write(json.dumps(reply) + "\n") | |
| 509 | out.flush() | |
| 510 | ||
| 511 | ||
| 512 | SHOT_PATH = "screenshot.png" | |
| 513 | ||
| 514 | ||
| 515 | def write_png(resp): | |
| 516 | with open(SHOT_PATH, "wb") as f: | |
| 517 | f.write(base64.b64decode(resp["png_b64"])) | |
| 518 | print("%sx%s -> %s" % (resp.get("w"), resp.get("h"), SHOT_PATH)) | |
| 519 | ||
| 520 | ||
| 521 | def cli(argv): | |
| 522 | target = None | |
| 523 | if argv[:1] == ["--target"]: | |
| 524 | if len(argv) < 3: | |
| 525 | raise Win7Error("usage: mcp_win7.py --target <name> <command>") | |
| 526 | target, argv = argv[1], argv[2:] | |
| 527 | verb = argv[0] | |
| 528 | if verb == "health": | |
| 529 | print(json.dumps(do_health(target), indent=2)) | |
| 530 | elif verb == "shot": | |
| 531 | write_png(do_shot(target)) | |
| 532 | elif verb == "ui": | |
| 533 | resp = do_ui(target) | |
| 534 | wl = win_line(resp) | |
| 535 | if wl: | |
| 536 | print(wl) | |
| 537 | print(resp.get("controls") or "") | |
| 538 | if resp.get("error"): | |
| 539 | print("error: %s" % resp["error"], file=sys.stderr) | |
| 540 | elif verb in ("put", "get"): | |
| 541 | if len(argv) < 3: | |
| 542 | raise Win7Error("usage: mcp_win7.py put <local> <remote> | get <remote> <local>") | |
| 543 | resp = (do_put(argv[1], argv[2], target) if verb == "put" | |
| 544 | else do_get(argv[1], argv[2], target)) | |
| 545 | print("%s bytes -> %s" % (resp.get("bytes"), resp.get("path"))) | |
| 546 | elif verb in ("exec", "cmd", "spawn"): | |
| 547 | if len(argv) < 2: | |
| 548 | raise Win7Error("usage: mcp_win7.py %s '<text>'" % verb) | |
| 549 | if verb == "exec": | |
| 550 | resp = do_exec(argv[1], target=target) | |
| 551 | elif verb == "cmd": | |
| 552 | resp = do_cmd(argv[1], target=target) | |
| 553 | else: | |
| 554 | resp = do_spawn(argv[1], target=target) | |
| 555 | print("pid=%s" % resp.get("pid")) | |
| 556 | return | |
| 557 | for stream, text in ((sys.stdout, resp.get("stdout")), (sys.stderr, resp.get("stderr"))): | |
| 558 | if text: | |
| 559 | stream.write(text if text.endswith("\n") else text + "\n") | |
| 560 | if resp.get("error"): | |
| 561 | print("error: %s" % resp["error"], file=sys.stderr) | |
| 562 | print("exit=%s" % resp.get("exit"), file=sys.stderr) | |
| 563 | if verb == "exec": | |
| 564 | write_png(resp) | |
| 565 | else: | |
| 566 | raise Win7Error( | |
| 567 | "usage: mcp_win7.py [--target <name>] " | |
| 568 | "health|shot|ui|exec <ahk>|cmd <command>|spawn <command>|put <local> <remote>" | |
| 569 | "|get <remote> <local>" | |
| 570 | ) | |
| 571 | ||
| 572 | ||
| 573 | if __name__ == "__main__": | |
| 574 | if len(sys.argv) > 1: | |
| 575 | try: | |
| 576 | cli(sys.argv[1:]) | |
| 577 | except Win7Error as e: | |
| 578 | print("win7: %s" % e, file=sys.stderr) | |
| 579 | sys.exit(1) | |
| 580 | else: | |
| 581 | try: | |
| 582 | serve() | |
| 583 | except KeyboardInterrupt: | |
| 584 | pass |
tools/w7/payload/README.txt created+57| ... | ... | @@ -0,0 +1,57 @@ |
| 1 | win7-agent -- remote computer-use listener for Windows 7 x64 | |
| 2 | ============================================================ | |
| 3 | ||
| 4 | WHAT IT DOES | |
| 5 | Listens on port 8777 and executes AutoHotkey scripts and shell commands sent | |
| 6 | by the controller, returning their output plus a screenshot of this desktop. | |
| 7 | ||
| 8 | SETUP | |
| 9 | 1. Copy this whole folder anywhere on the machine, e.g. C:\win7-agent | |
| 10 | (keep the vendor\ subfolder next to agent.py -- do not move pieces apart). | |
| 11 | 2. Double-click run.bat. A console window opens and prints "listening ...". | |
| 12 | 3. When Windows Firewall pops up, click "Allow access" so the controller can | |
| 13 | reach port 8777. | |
| 14 | ||
| 15 | VM AUTOSTART | |
| 16 | On the isolated QEMU build VM only, run install-autostart.cmd as administrator | |
| 17 | and restart. It disables UAC, reads the clone hostname and token from its | |
| 18 | instance CD, renames the guest on first boot, and starts this agent at login. | |
| 19 | Do not use it on a physical or network-reachable Windows machine. | |
| 20 | ||
| 21 | IMPORTANT | |
| 22 | - Must run in the interactive, logged-in desktop session (just double-click | |
| 23 | it). Do NOT install it as a Windows service -- a service has no desktop and | |
| 24 | AutoHotkey cannot move the mouse or type. | |
| 25 | - The agent holds the display and the machine awake by itself while it runs, | |
| 26 | so you do not need to change the power plan. Two things it CANNOT hold off, | |
| 27 | which will silently break every screenshot and keystroke until someone logs | |
| 28 | back in -- turn both off once: | |
| 29 | * Screen saver: right-click desktop > Personalize > Screen Saver, set | |
| 30 | "(None)", and clear "On resume, display logon screen". | |
| 31 | * Lock: do not press Win+L, and if the machine is on a domain policy that | |
| 32 | locks it, that policy has to go. | |
| 33 | A locked session moves the desktop to Winlogon, where nothing this agent | |
| 34 | does can reach. The monitor merely powering off is fine -- screenshots | |
| 35 | still work with the screen dark. | |
| 36 | - Set display scaling to 100%: Control Panel > Display > "Smaller - 100%", | |
| 37 | then log out and back in. Any other scaling shifts screenshot pixels away | |
| 38 | from click coordinates and every click lands in the wrong place. | |
| 39 | - If python.exe fails complaining about api-ms-win-crt-runtime-l1-1-0.dll, | |
| 40 | run vendor\vc_redist.x64.exe once, then start run.bat again. | |
| 41 | - Leave the console window open; closing it stops the agent. A crash leaves | |
| 42 | the window up (pause) so you can read the error. | |
| 43 | - Everything is also written to agent.log beside agent.py: one timestamped | |
| 44 | line per request, followed by the exact AutoHotkey script or cmd command | |
| 45 | that ran, indented with "|". It appends forever and is never rotated, so | |
| 46 | delete it yourself if it gets large. | |
| 47 | ||
| 48 | SHARE (needed for the OneNote work) | |
| 49 | Map the NAS share to A: once, from a normal cmd window: | |
| 50 | net use A: \\zenith\agent /user:agent agent /persistent:yes | |
| 51 | If the hostname does not resolve, use \\10.0.0.1\agent instead. Check it | |
| 52 | stuck with: net use | |
| 53 | ||
| 54 | TOKEN (optional) | |
| 55 | To require a shared secret, put it in a file named token.txt beside run.bat | |
| 56 | (single line). The controller must then send the same value. No file means | |
| 57 | no authentication. |
tools/w7/payload/agent.py created+440| ... | ... | @@ -0,0 +1,440 @@ |
| 1 | import base64 | |
| 2 | import ctypes | |
| 3 | import hashlib | |
| 4 | import json | |
| 5 | import os | |
| 6 | import struct | |
| 7 | import subprocess | |
| 8 | import sys | |
| 9 | import tempfile | |
| 10 | import threading | |
| 11 | import time | |
| 12 | import zlib | |
| 13 | from ctypes import wintypes | |
| 14 | from http.server import ThreadingHTTPServer, BaseHTTPRequestHandler | |
| 15 | ||
| 16 | BASE = os.path.dirname(os.path.abspath(__file__)) | |
| 17 | with open(__file__, 'rb') as source: | |
| 18 | AGENT_SHA256 = hashlib.sha256(source.read()).hexdigest() | |
| 19 | LOCK = threading.Lock() | |
| 20 | ||
| 21 | user32 = ctypes.windll.user32 | |
| 22 | gdi32 = ctypes.windll.gdi32 | |
| 23 | ||
| 24 | SRCCOPY = 0x00CC0020 | |
| 25 | CAPTUREBLT = 0x40000000 | |
| 26 | BI_RGB = 0 | |
| 27 | DIB_RGB_COLORS = 0 | |
| 28 | ||
| 29 | # restype must be set on x64: the default c_int return truncates a 64-bit HANDLE. | |
| 30 | user32.GetDC.restype = wintypes.HDC | |
| 31 | user32.GetDC.argtypes = [wintypes.HWND] | |
| 32 | user32.ReleaseDC.restype = ctypes.c_int | |
| 33 | user32.ReleaseDC.argtypes = [wintypes.HWND, wintypes.HDC] | |
| 34 | user32.GetSystemMetrics.restype = ctypes.c_int | |
| 35 | user32.GetSystemMetrics.argtypes = [ctypes.c_int] | |
| 36 | gdi32.CreateCompatibleDC.restype = wintypes.HDC | |
| 37 | gdi32.CreateCompatibleDC.argtypes = [wintypes.HDC] | |
| 38 | gdi32.CreateCompatibleBitmap.restype = wintypes.HBITMAP | |
| 39 | gdi32.CreateCompatibleBitmap.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int] | |
| 40 | gdi32.SelectObject.restype = wintypes.HGDIOBJ | |
| 41 | gdi32.SelectObject.argtypes = [wintypes.HDC, wintypes.HGDIOBJ] | |
| 42 | gdi32.BitBlt.restype = wintypes.BOOL | |
| 43 | gdi32.BitBlt.argtypes = [wintypes.HDC, ctypes.c_int, ctypes.c_int, ctypes.c_int, | |
| 44 | ctypes.c_int, wintypes.HDC, ctypes.c_int, ctypes.c_int, | |
| 45 | wintypes.DWORD] | |
| 46 | gdi32.GetDIBits.restype = ctypes.c_int | |
| 47 | gdi32.GetDIBits.argtypes = [wintypes.HDC, wintypes.HBITMAP, wintypes.UINT, | |
| 48 | wintypes.UINT, ctypes.c_void_p, ctypes.c_void_p, | |
| 49 | wintypes.UINT] | |
| 50 | gdi32.DeleteObject.restype = wintypes.BOOL | |
| 51 | gdi32.DeleteObject.argtypes = [wintypes.HGDIOBJ] | |
| 52 | gdi32.DeleteDC.restype = wintypes.BOOL | |
| 53 | gdi32.DeleteDC.argtypes = [wintypes.HDC] | |
| 54 | ||
| 55 | WNDENUMPROC = ctypes.WINFUNCTYPE(wintypes.BOOL, wintypes.HWND, wintypes.LPARAM) | |
| 56 | user32.GetForegroundWindow.restype = wintypes.HWND | |
| 57 | user32.GetForegroundWindow.argtypes = [] | |
| 58 | user32.GetWindowTextW.restype = ctypes.c_int | |
| 59 | user32.GetWindowTextW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 60 | user32.GetClassNameW.restype = ctypes.c_int | |
| 61 | user32.GetClassNameW.argtypes = [wintypes.HWND, wintypes.LPWSTR, ctypes.c_int] | |
| 62 | user32.GetClientRect.restype = wintypes.BOOL | |
| 63 | user32.GetClientRect.argtypes = [wintypes.HWND, ctypes.POINTER(wintypes.RECT)] | |
| 64 | user32.EnumChildWindows.restype = wintypes.BOOL | |
| 65 | user32.EnumChildWindows.argtypes = [wintypes.HWND, WNDENUMPROC, wintypes.LPARAM] | |
| 66 | ||
| 67 | ||
| 68 | class BITMAPINFOHEADER(ctypes.Structure): | |
| 69 | _fields_ = [("biSize", wintypes.DWORD), | |
| 70 | ("biWidth", wintypes.LONG), | |
| 71 | ("biHeight", wintypes.LONG), | |
| 72 | ("biPlanes", wintypes.WORD), | |
| 73 | ("biBitCount", wintypes.WORD), | |
| 74 | ("biCompression", wintypes.DWORD), | |
| 75 | ("biSizeImage", wintypes.DWORD), | |
| 76 | ("biXPelsPerMeter", wintypes.LONG), | |
| 77 | ("biYPelsPerMeter", wintypes.LONG), | |
| 78 | ("biClrUsed", wintypes.DWORD), | |
| 79 | ("biClrImportant", wintypes.DWORD)] | |
| 80 | ||
| 81 | ||
| 82 | PREAMBLE = ( | |
| 83 | "#Requires AutoHotkey v2.0\n" | |
| 84 | "#SingleInstance Off\n" | |
| 85 | "#Warn All, Off\n" | |
| 86 | 'FileEncoding "UTF-8-RAW"\n' | |
| 87 | 'SendMode "Input"\n' | |
| 88 | "SetWorkingDir A_ScriptDir\n" | |
| 89 | 'CoordMode "Mouse", "Screen"\n' | |
| 90 | 'CoordMode "Pixel", "Screen"\n' | |
| 91 | 'CoordMode "ToolTip", "Screen"\n' | |
| 92 | "SetTitleMatchMode 2\n" | |
| 93 | "DetectHiddenWindows true\n" | |
| 94 | ) | |
| 95 | ||
| 96 | ||
| 97 | def ahk_path(): | |
| 98 | u64 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey64.exe") | |
| 99 | u32 = os.path.join(BASE, "vendor", "ahk", "AutoHotkey32.exe") | |
| 100 | return u64 if os.path.exists(u64) else u32 | |
| 101 | ||
| 102 | ||
| 103 | def _chunk(tag, data): | |
| 104 | return (struct.pack(">I", len(data)) + tag + data + | |
| 105 | struct.pack(">I", zlib.crc32(tag + data) & 0xffffffff)) | |
| 106 | ||
| 107 | ||
| 108 | def _to_png(bgra, w, h): | |
| 109 | arr = bytearray(bgra) | |
| 110 | r = arr[2::4] | |
| 111 | arr[2::4] = arr[0::4] | |
| 112 | arr[0::4] = r | |
| 113 | del arr[3::4] | |
| 114 | stride = w * 3 | |
| 115 | mv = memoryview(arr) | |
| 116 | raw = bytearray() | |
| 117 | for y in range(h): | |
| 118 | raw.append(0) | |
| 119 | raw += mv[y * stride:(y + 1) * stride] | |
| 120 | ihdr = struct.pack(">IIBBBBB", w, h, 8, 2, 0, 0, 0) | |
| 121 | return (b"\x89PNG\r\n\x1a\n" + _chunk(b"IHDR", ihdr) + | |
| 122 | _chunk(b"IDAT", zlib.compress(bytes(raw))) + _chunk(b"IEND", b"")) | |
| 123 | ||
| 124 | ||
| 125 | def capture(): | |
| 126 | w = user32.GetSystemMetrics(0) | |
| 127 | h = user32.GetSystemMetrics(1) | |
| 128 | hdc = user32.GetDC(None) | |
| 129 | mem = None | |
| 130 | hbm = None | |
| 131 | try: | |
| 132 | mem = gdi32.CreateCompatibleDC(hdc) | |
| 133 | hbm = gdi32.CreateCompatibleBitmap(hdc, w, h) | |
| 134 | old = gdi32.SelectObject(mem, hbm) | |
| 135 | gdi32.BitBlt(mem, 0, 0, w, h, hdc, 0, 0, SRCCOPY | CAPTUREBLT) | |
| 136 | gdi32.SelectObject(mem, old) | |
| 137 | bmi = BITMAPINFOHEADER() | |
| 138 | bmi.biSize = ctypes.sizeof(BITMAPINFOHEADER) | |
| 139 | bmi.biWidth = w | |
| 140 | bmi.biHeight = -h # negative => top-down rows, matches screenshot orientation | |
| 141 | bmi.biPlanes = 1 | |
| 142 | bmi.biBitCount = 32 | |
| 143 | bmi.biCompression = BI_RGB | |
| 144 | buf = ctypes.create_string_buffer(w * h * 4) | |
| 145 | if gdi32.GetDIBits(mem, hbm, 0, h, buf, ctypes.byref(bmi), | |
| 146 | DIB_RGB_COLORS) == 0: | |
| 147 | raise RuntimeError("GetDIBits failed") | |
| 148 | data = buf.raw | |
| 149 | finally: | |
| 150 | if hbm: | |
| 151 | gdi32.DeleteObject(hbm) | |
| 152 | if mem: | |
| 153 | gdi32.DeleteDC(mem) | |
| 154 | user32.ReleaseDC(None, hdc) | |
| 155 | return _to_png(data, w, h), w, h | |
| 156 | ||
| 157 | ||
| 158 | def _win_text(fn, hwnd, n=512): | |
| 159 | buf = ctypes.create_unicode_buffer(n) | |
| 160 | fn(hwnd, buf, n) | |
| 161 | return buf.value | |
| 162 | ||
| 163 | ||
| 164 | def active_window(): | |
| 165 | hwnd = user32.GetForegroundWindow() | |
| 166 | if not hwnd: | |
| 167 | return {"title": "", "class": "", "dialog": False} | |
| 168 | cls = _win_text(user32.GetClassNameW, hwnd) | |
| 169 | return {"title": _win_text(user32.GetWindowTextW, hwnd), | |
| 170 | "class": cls, "dialog": cls == "#32770"} | |
| 171 | ||
| 172 | ||
| 173 | def control_tree(): | |
| 174 | hwnd = user32.GetForegroundWindow() | |
| 175 | rows = [] | |
| 176 | ||
| 177 | def add(h): | |
| 178 | rect = wintypes.RECT() | |
| 179 | user32.GetClientRect(h, ctypes.byref(rect)) | |
| 180 | rows.append((_win_text(user32.GetClassNameW, h), | |
| 181 | _win_text(user32.GetWindowTextW, h), | |
| 182 | rect.left, rect.top, | |
| 183 | rect.right - rect.left, rect.bottom - rect.top)) | |
| 184 | ||
| 185 | if hwnd: | |
| 186 | add(hwnd) | |
| 187 | ||
| 188 | def cb(child, _lparam): | |
| 189 | add(child) | |
| 190 | return True | |
| 191 | user32.EnumChildWindows(hwnd, WNDENUMPROC(cb), 0) | |
| 192 | lines = ["%-24s %-28s %s" % ("class", "text", "l,t,w,h")] | |
| 193 | for cls, text, l, t, w, h in rows: | |
| 194 | lines.append("%-24s %-28s %d,%d,%d,%d" % (cls, text, l, t, w, h)) | |
| 195 | return "\n".join(lines) | |
| 196 | ||
| 197 | ||
| 198 | def _run(argv, timeout_ms, encoding, on_timeout=None): | |
| 199 | def dec(b): | |
| 200 | return b.decode(encoding, "replace") if b else "" | |
| 201 | ||
| 202 | p = subprocess.Popen(argv, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | |
| 203 | try: | |
| 204 | out, err = p.communicate(timeout=timeout_ms / 1000.0) | |
| 205 | return p.returncode, dec(out), dec(err), None | |
| 206 | except subprocess.TimeoutExpired: | |
| 207 | if on_timeout: | |
| 208 | on_timeout() | |
| 209 | subprocess.call(["taskkill", "/F", "/T", "/PID", str(p.pid)]) | |
| 210 | try: | |
| 211 | # A process the script launched can outlive taskkill still holding the | |
| 212 | # inherited stdout pipe; an unbounded wait here wedges the agent's lock. | |
| 213 | out, err = p.communicate(timeout=5) | |
| 214 | except subprocess.TimeoutExpired: | |
| 215 | out = err = b"" | |
| 216 | for pipe in (p.stdout, p.stderr): | |
| 217 | if pipe: | |
| 218 | pipe.close() | |
| 219 | msg = "timed out after %d ms, process killed" % timeout_ms | |
| 220 | return None, dec(out), dec(err), msg | |
| 221 | ||
| 222 | ||
| 223 | def run_ahk(script, timeout_ms, on_timeout=None): | |
| 224 | fd, path = tempfile.mkstemp(suffix=".ahk") | |
| 225 | os.close(fd) | |
| 226 | # AutoHotkey (Unicode-only) needs a UTF-8 BOM to read the file as UTF-8. | |
| 227 | with open(path, "wb") as f: | |
| 228 | f.write(b"\xef\xbb\xbf" + (PREAMBLE + script).encode("utf-8")) | |
| 229 | try: | |
| 230 | # /ErrorStdOut sends syntax errors to stderr instead of a blocking modal. | |
| 231 | code, out, err, error = _run([ahk_path(), "/ErrorStdOut", path], timeout_ms, | |
| 232 | "utf-8", on_timeout) | |
| 233 | finally: | |
| 234 | os.remove(path) | |
| 235 | if error: | |
| 236 | error = "script " + error | |
| 237 | return code, out, err, error | |
| 238 | ||
| 239 | ||
| 240 | def _safe_capture(error): | |
| 241 | try: | |
| 242 | png, w, h = capture() | |
| 243 | return base64.b64encode(png).decode("ascii"), w, h, error | |
| 244 | except Exception as e: | |
| 245 | note = "screenshot failed: " + repr(e) | |
| 246 | return "", 0, 0, (error + "; " + note if error else note) | |
| 247 | ||
| 248 | ||
| 249 | LOG_PATH = os.path.join(BASE, "agent.log") | |
| 250 | LOG_LOCK = threading.Lock() | |
| 251 | ||
| 252 | ||
| 253 | def log(text, stamp=True): | |
| 254 | """Console and agent.log, so a session can be reconstructed after the fact.""" | |
| 255 | line = time.strftime("%Y-%m-%d %H:%M:%S ") + text if stamp else text | |
| 256 | with LOG_LOCK: | |
| 257 | print(line, end="" if line.endswith("\n") else "\n", flush=True) | |
| 258 | try: | |
| 259 | with open(LOG_PATH, "a", encoding="utf-8") as f: | |
| 260 | f.write(line if line.endswith("\n") else line + "\n") | |
| 261 | except OSError: | |
| 262 | pass # a log that cannot be written must not take the agent down | |
| 263 | ||
| 264 | ||
| 265 | class Handler(BaseHTTPRequestHandler): | |
| 266 | def log_message(self, *a): | |
| 267 | pass | |
| 268 | ||
| 269 | def _send(self, code, obj): | |
| 270 | body = json.dumps(obj).encode("utf-8") | |
| 271 | self.send_response(code) | |
| 272 | self.send_header("Content-Type", "application/json") | |
| 273 | self.send_header("Content-Length", str(len(body))) | |
| 274 | self.end_headers() | |
| 275 | self.wfile.write(body) | |
| 276 | ||
| 277 | def _log(self, start, code, body=None): | |
| 278 | log("%s %s %dms exit=%s" % (self.command, self.path, | |
| 279 | int((time.time() - start) * 1000), code)) | |
| 280 | if body: | |
| 281 | log("".join(" | %s\n" % l for l in body.splitlines()), stamp=False) | |
| 282 | ||
| 283 | def _auth_ok(self): | |
| 284 | token = os.environ.get("WIN7_TOKEN") | |
| 285 | return not token or self.headers.get("X-Win7-Token") == token | |
| 286 | ||
| 287 | def _body(self): | |
| 288 | n = int(self.headers.get("Content-Length") or 0) | |
| 289 | raw = self.rfile.read(n) if n else b"" | |
| 290 | return json.loads(raw.decode("utf-8")) if raw else {} | |
| 291 | ||
| 292 | def do_GET(self): | |
| 293 | start = time.time() | |
| 294 | if not self._auth_ok(): | |
| 295 | self._send(401, {"error": "bad token"}) | |
| 296 | elif self.path == "/health": | |
| 297 | self._send(200, {"ok": True, "w": user32.GetSystemMetrics(0), | |
| 298 | "h": user32.GetSystemMetrics(1), | |
| 299 | "hostname": os.environ.get("COMPUTERNAME", ""), | |
| 300 | "utc_us": int(time.time() * 1000000), | |
| 301 | "ahk": ahk_path(), "python": sys.executable, | |
| 302 | "agent_sha256": AGENT_SHA256}) | |
| 303 | else: | |
| 304 | self._send(404, {"error": "not found"}) | |
| 305 | self._log(start, None) | |
| 306 | ||
| 307 | def do_POST(self): | |
| 308 | start = time.time() | |
| 309 | code = None | |
| 310 | if not self._auth_ok(): | |
| 311 | self._send(401, {"error": "bad token"}) | |
| 312 | self._log(start, None) | |
| 313 | return | |
| 314 | try: | |
| 315 | data = self._body() | |
| 316 | except Exception: | |
| 317 | self._send(400, {"error": "bad json"}) | |
| 318 | self._log(start, None) | |
| 319 | return | |
| 320 | body = {"/exec": data.get("script"), "/cmd": data.get("command"), | |
| 321 | "/spawn": data.get("command"), | |
| 322 | "/put": data.get("path"), "/get": data.get("path")}.get(self.path) | |
| 323 | try: | |
| 324 | if self.path == "/exec": | |
| 325 | resp = self._exec(data) | |
| 326 | code = resp["exit"] | |
| 327 | elif self.path == "/cmd": | |
| 328 | resp = self._cmd(data) | |
| 329 | code = resp["exit"] | |
| 330 | elif self.path == "/spawn": | |
| 331 | resp = self._spawn(data) | |
| 332 | code = 0 | |
| 333 | elif self.path == "/put": | |
| 334 | resp = self._put(data) | |
| 335 | elif self.path == "/get": | |
| 336 | resp = self._get(data) | |
| 337 | elif self.path == "/shot": | |
| 338 | resp = self._shot() | |
| 339 | elif self.path == "/ui": | |
| 340 | resp = self._ui() | |
| 341 | else: | |
| 342 | self._send(404, {"error": "not found"}) | |
| 343 | self._log(start, None) | |
| 344 | return | |
| 345 | self._send(200, resp) | |
| 346 | except Exception as e: | |
| 347 | self._send(200, {"error": repr(e), "exit": None, "stdout": "", | |
| 348 | "stderr": "", "png_b64": "", "w": 0, "h": 0}) | |
| 349 | self._log(start, code, body) | |
| 350 | ||
| 351 | def _exec(self, data): | |
| 352 | pre = [] | |
| 353 | ||
| 354 | def grab(): # capture before taskkill so the blocker is still on screen | |
| 355 | pre.append((_safe_capture(None), active_window())) | |
| 356 | ||
| 357 | with LOCK: | |
| 358 | code, out, err, error = run_ahk(data.get("script", ""), | |
| 359 | data.get("timeout_ms", 60000), grab) | |
| 360 | if pre: | |
| 361 | (b64, w, h, note), win = pre[0] | |
| 362 | else: | |
| 363 | time.sleep(data.get("shot_delay_ms", 500) / 1000.0) | |
| 364 | b64, w, h, note = _safe_capture(None) | |
| 365 | win = active_window() | |
| 366 | if note: | |
| 367 | error = error + "; " + note if error else note | |
| 368 | return {"exit": code, "stdout": out, "stderr": err, "png_b64": b64, | |
| 369 | "w": w, "h": h, "error": error, "win": win} | |
| 370 | ||
| 371 | def _put(self, data): | |
| 372 | path = data.get("path", "") | |
| 373 | blob = base64.b64decode(data.get("b64", "")) | |
| 374 | parent = os.path.dirname(path) | |
| 375 | if parent and not os.path.isdir(parent): | |
| 376 | os.makedirs(parent) | |
| 377 | with open(path, "wb") as f: | |
| 378 | f.write(blob) | |
| 379 | return {"bytes": len(blob), "path": os.path.abspath(path), "error": None} | |
| 380 | ||
| 381 | def _get(self, data): | |
| 382 | with open(data.get("path", ""), "rb") as f: | |
| 383 | blob = f.read() | |
| 384 | return {"b64": base64.b64encode(blob).decode("ascii"), "bytes": len(blob), | |
| 385 | "error": None} | |
| 386 | ||
| 387 | def _cmd(self, data): | |
| 388 | with LOCK: | |
| 389 | # A raw command-line string, not a list: on Windows list2cmdline would | |
| 390 | # backslash-escape the embedded quotes before cmd.exe ever sees them. | |
| 391 | code, out, err, error = _run("cmd.exe /c " + data.get("command", ""), | |
| 392 | data.get("timeout_ms", 60000), "oem") | |
| 393 | return {"exit": code, "stdout": out, "stderr": err, "error": error} | |
| 394 | ||
| 395 | def _spawn(self, data): | |
| 396 | flags = subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS | |
| 397 | process = subprocess.Popen(data.get("command", ""), stdin=subprocess.DEVNULL, | |
| 398 | stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, | |
| 399 | close_fds=True, creationflags=flags) | |
| 400 | return {"pid": process.pid, "error": None} | |
| 401 | ||
| 402 | def _shot(self): | |
| 403 | b64, w, h, error = _safe_capture(None) | |
| 404 | win = active_window() | |
| 405 | return {"png_b64": b64, "w": w, "h": h, "error": error, "win": win} | |
| 406 | ||
| 407 | def _ui(self): | |
| 408 | win = active_window() | |
| 409 | controls = control_tree() | |
| 410 | return {"win": win, "controls": controls, "error": None} | |
| 411 | ||
| 412 | ||
| 413 | def keep_awake(): | |
| 414 | """Hold the display and system awake for as long as this process lives. | |
| 415 | ||
| 416 | Screen blanking alone is harmless -- BitBlt still captures the composited | |
| 417 | desktop -- but sleep kills the agent outright, and a locked session moves | |
| 418 | the desktop to Winlogon where neither AutoHotkey nor the capture can reach. | |
| 419 | """ | |
| 420 | ES_CONTINUOUS, ES_SYSTEM_REQUIRED, ES_DISPLAY_REQUIRED = 0x80000000, 0x1, 0x2 | |
| 421 | kernel32 = ctypes.windll.kernel32 | |
| 422 | kernel32.SetThreadExecutionState.restype = wintypes.DWORD | |
| 423 | kernel32.SetThreadExecutionState.argtypes = [wintypes.DWORD] | |
| 424 | return kernel32.SetThreadExecutionState( | |
| 425 | ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED) | |
| 426 | ||
| 427 | ||
| 428 | def main(): | |
| 429 | user32.SetProcessDPIAware() | |
| 430 | awake = keep_awake() | |
| 431 | port = int(os.environ.get("WIN7_PORT", "8777")) | |
| 432 | srv = ThreadingHTTPServer(("0.0.0.0", port), Handler) | |
| 433 | log("win7-agent listening on 0.0.0.0:%d ahk=%s log=%s%s" | |
| 434 | % (port, ahk_path(), LOG_PATH, | |
| 435 | "" if awake else " (WARNING: could not inhibit sleep)")) | |
| 436 | srv.serve_forever() | |
| 437 | ||
| 438 | ||
| 439 | if __name__ == "__main__": | |
| 440 | main() |
tools/w7/payload/bootstrap.cmd created+16| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | @echo off | |
| 2 | setlocal EnableExtensions | |
| 3 | set "ONEVM_HOSTNAME=" | |
| 4 | for %%D in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist "%%D:\onenote-vm.ini" for /f "usebackq tokens=1,* delims==" %%A in ("%%D:\onenote-vm.ini") do ( | |
| 5 | if /i "%%A"=="HOSTNAME" set "ONEVM_HOSTNAME=%%B" | |
| 6 | if /i "%%A"=="TOKEN" set "WIN7_TOKEN=%%B" | |
| 7 | ) | |
| 8 | if not defined ONEVM_HOSTNAME goto agent | |
| 9 | if /i "%COMPUTERNAME%"=="%ONEVM_HOSTNAME%" goto agent | |
| 10 | wmic computersystem where name="%COMPUTERNAME%" call rename name="%ONEVM_HOSTNAME%" >"%~dp0bootstrap.log" 2>&1 | |
| 11 | find "ReturnValue = 0;" "%~dp0bootstrap.log" >nul || exit /b 1 | |
| 12 | shutdown /r /t 0 | |
| 13 | exit /b | |
| 14 | ||
| 15 | :agent | |
| 16 | call "%~dp0run.bat" |
tools/w7/payload/install-autostart.cmd created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | @echo off | |
| 2 | reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f || exit /b 1 | |
| 3 | reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v OneNoteWin7Agent /t REG_SZ /d "cmd.exe /c C:\win7-agent\bootstrap.cmd" /f || exit /b 1 | |
| 4 | echo Restart Windows to finish. |
tools/w7/payload/run.bat created+4| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | @echo off | |
| 2 | cd /d "%~dp0" | |
| 3 | if not defined WIN7_TOKEN if exist "token.txt" set /p WIN7_TOKEN=<token.txt | |
| 4 | start "win7-agent" /min "%~dp0vendor\python\python.exe" "%~dp0agent.py" |
tools/w7/restart_agent.py created+35| ... | ... | @@ -0,0 +1,35 @@ |
| 1 | """Run through the old agent's detached spawn endpoint in a disposable clone.""" | |
| 2 | import os | |
| 3 | import ctypes | |
| 4 | from ctypes import wintypes | |
| 5 | import subprocess | |
| 6 | import sys | |
| 7 | import time | |
| 8 | ||
| 9 | if len(sys.argv) != 2 or not sys.argv[1].startswith('ONE-M6-') or os.environ.get('COMPUTERNAME') != sys.argv[1]: | |
| 10 | raise SystemExit('The disposable clone hostname does not match.') | |
| 11 | parent = os.getppid() | |
| 12 | kernel = ctypes.WinDLL('kernel32', use_last_error=True) | |
| 13 | kernel.OpenProcess.argtypes = (wintypes.DWORD, wintypes.BOOL, wintypes.DWORD) | |
| 14 | kernel.OpenProcess.restype = wintypes.HANDLE | |
| 15 | kernel.TerminateProcess.argtypes = (wintypes.HANDLE, wintypes.UINT) | |
| 16 | kernel.TerminateProcess.restype = wintypes.BOOL | |
| 17 | kernel.WaitForSingleObject.argtypes = (wintypes.HANDLE, wintypes.DWORD) | |
| 18 | kernel.WaitForSingleObject.restype = wintypes.DWORD | |
| 19 | kernel.CloseHandle.argtypes = (wintypes.HANDLE,) | |
| 20 | kernel.CloseHandle.restype = wintypes.BOOL | |
| 21 | handle = kernel.OpenProcess(0x100001, False, parent) | |
| 22 | if not handle: | |
| 23 | raise ctypes.WinError(ctypes.get_last_error()) | |
| 24 | time.sleep(0.5) | |
| 25 | try: | |
| 26 | if not kernel.TerminateProcess(handle, 0): | |
| 27 | raise ctypes.WinError(ctypes.get_last_error()) | |
| 28 | if kernel.WaitForSingleObject(handle, 5000) != 0: | |
| 29 | raise RuntimeError('The old agent did not terminate.') | |
| 30 | finally: | |
| 31 | kernel.CloseHandle(handle) | |
| 32 | with open(r'C:\one-tests\agent-restart.log', 'ab') as log: | |
| 33 | subprocess.Popen([sys.executable, r'C:\win7-agent\agent.py'], stdin=subprocess.DEVNULL, | |
| 34 | stdout=log, stderr=log, close_fds=True, | |
| 35 | creationflags=subprocess.DETACHED_PROCESS | subprocess.CREATE_NEW_PROCESS_GROUP) |
tools/w7/test_crash.py created+46| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | from pathlib import Path | |
| 2 | import signal | |
| 3 | import unittest | |
| 4 | from unittest.mock import Mock, patch | |
| 5 | ||
| 6 | import crash | |
| 7 | ||
| 8 | ||
| 9 | class AbruptStopTest(unittest.TestCase): | |
| 10 | def backend(self): | |
| 11 | backend = Mock() | |
| 12 | backend.runtime.return_value = (Path('/lab/owned'), Path('/lab/owned/qmp.sock'), Mock(), None) | |
| 13 | backend.runtime.return_value[2].read_text.return_value = '1234' | |
| 14 | backend.qmp.return_value = {'name': 'OneNote Windows 7 owned'} | |
| 15 | backend.running.side_effect = [True, False, False] | |
| 16 | backend.instance_path.return_value.exists.return_value = True | |
| 17 | return backend | |
| 18 | ||
| 19 | def test_stops_identified_clone_and_preserves_machine(self): | |
| 20 | backend = self.backend() | |
| 21 | with patch.object(crash, 'vm', backend), patch.object(crash.subprocess, 'check_output', return_value='qemu-system-x86_64 -qmp unix:/lab/owned/qmp.sock'), patch.object(crash.os, 'kill') as stop: | |
| 22 | result = crash.stop('windows', 'owned') | |
| 23 | stop.assert_called_once_with(1234, signal.SIGKILL) | |
| 24 | backend.load_instance.assert_called_once_with('owned') | |
| 25 | backend.delete_instance.assert_not_called() | |
| 26 | backend.shutdown.assert_not_called() | |
| 27 | self.assertTrue(result['machine_preserved']) | |
| 28 | ||
| 29 | def test_refuses_mismatched_vm_identity(self): | |
| 30 | backend = self.backend() | |
| 31 | backend.qmp.return_value = {'name': 'OneNote Windows 7 another'} | |
| 32 | with patch.object(crash, 'vm', backend), patch.object(crash.os, 'kill') as stop: | |
| 33 | with self.assertRaisesRegex(ValueError, 'identity'): | |
| 34 | crash.stop('windows', 'owned') | |
| 35 | stop.assert_not_called() | |
| 36 | ||
| 37 | def test_refuses_pid_belonging_to_another_process(self): | |
| 38 | backend = self.backend() | |
| 39 | with patch.object(crash, 'vm', backend), patch.object(crash.subprocess, 'check_output', return_value='qemu-system-x86_64 -qmp unix:/lab/other/qmp.sock'), patch.object(crash.os, 'kill') as stop: | |
| 40 | with self.assertRaisesRegex(ValueError, 'registered process'): | |
| 41 | crash.stop('windows', 'owned') | |
| 42 | stop.assert_not_called() | |
| 43 | ||
| 44 | ||
| 45 | if __name__ == '__main__': | |
| 46 | unittest.main() |
tools/w7/test_linux_vm.py created+69| ... | ... | @@ -0,0 +1,69 @@ |
| 1 | import contextlib | |
| 2 | import io | |
| 3 | import json | |
| 4 | from pathlib import Path | |
| 5 | import subprocess | |
| 6 | import tempfile | |
| 7 | import unittest | |
| 8 | ||
| 9 | import linux_vm | |
| 10 | ||
| 11 | ||
| 12 | class LinuxVmLifecycleTest(unittest.TestCase): | |
| 13 | def setUp(self): | |
| 14 | names = ("VM_HOME", "LINUX_HOME", "IMAGES", "INSTANCES", "RUN", "BASE", | |
| 15 | "BASE_MANIFEST") | |
| 16 | self.original = {name: getattr(linux_vm, name) for name in names} | |
| 17 | self.temporary = tempfile.TemporaryDirectory(prefix="one-linux-test-") | |
| 18 | home = Path(self.temporary.name) | |
| 19 | linux_vm.VM_HOME = home | |
| 20 | linux_vm.LINUX_HOME = home / "linux" | |
| 21 | linux_vm.IMAGES = linux_vm.LINUX_HOME / "images" | |
| 22 | linux_vm.INSTANCES = linux_vm.LINUX_HOME / "instances" | |
| 23 | linux_vm.RUN = linux_vm.LINUX_HOME / "run" | |
| 24 | linux_vm.BASE = linux_vm.IMAGES / "base.qcow2" | |
| 25 | linux_vm.BASE_MANIFEST = linux_vm.IMAGES / "base.json" | |
| 26 | linux_vm.IMAGES.mkdir(parents=True) | |
| 27 | subprocess.run([ | |
| 28 | linux_vm.executable("qemu-img"), "create", "-q", "-f", "qcow2", | |
| 29 | str(linux_vm.BASE), "64M", | |
| 30 | ], check=True) | |
| 31 | linux_vm.BASE_MANIFEST.write_text("{}\n") | |
| 32 | ||
| 33 | def tearDown(self): | |
| 34 | self.temporary.cleanup() | |
| 35 | for name, value in self.original.items(): | |
| 36 | setattr(linux_vm, name, value) | |
| 37 | ||
| 38 | def test_clone_has_unique_ports_keys_network_and_removable_overlay(self): | |
| 39 | with contextlib.redirect_stdout(io.StringIO()): | |
| 40 | linux_vm.create_instance("samba") | |
| 41 | linux_vm.create_instance("other") | |
| 42 | config = json.loads(linux_vm.instance_path("samba").read_text()) | |
| 43 | other = json.loads(linux_vm.instance_path("other").read_text()) | |
| 44 | self.assertEqual(config["hostname"], "one-samba") | |
| 45 | self.assertEqual(config["lab_address"], "192.168.77.1") | |
| 46 | self.assertNotEqual(config["ssh_port"], other["ssh_port"]) | |
| 47 | self.assertNotEqual(config["samba_port"], other["samba_port"]) | |
| 48 | self.assertNotEqual(config["lab_mac"], other["lab_mac"]) | |
| 49 | self.assertEqual(linux_vm.key_path("samba").stat().st_mode & 0o777, 0o600) | |
| 50 | known_hosts = next( | |
| 51 | value for value in linux_vm.ssh_argv("samba") | |
| 52 | if value.startswith("UserKnownHostsFile=") | |
| 53 | ) | |
| 54 | self.assertEqual(known_hosts, 'UserKnownHostsFile="%s"' % | |
| 55 | (linux_vm.INSTANCES / "samba.known_hosts")) | |
| 56 | self.assertTrue(linux_vm.overlay_path("samba").is_file()) | |
| 57 | self.assertTrue(linux_vm.seed_path("samba").is_file()) | |
| 58 | with contextlib.redirect_stdout(io.StringIO()): | |
| 59 | linux_vm.delete_instance("samba") | |
| 60 | linux_vm.delete_instance("other") | |
| 61 | self.assertFalse(linux_vm.instance_path("samba").exists()) | |
| 62 | ||
| 63 | def test_invalid_name_is_rejected(self): | |
| 64 | with self.assertRaisesRegex(SystemExit, "lowercase"): | |
| 65 | linux_vm.create_instance("Bad Name") | |
| 66 | ||
| 67 | ||
| 68 | if __name__ == "__main__": | |
| 69 | unittest.main() |
tools/w7/test_mcp.py created+34| ... | ... | @@ -0,0 +1,34 @@ |
| 1 | import unittest | |
| 2 | ||
| 3 | import mcp_linux | |
| 4 | import mcp_win7 | |
| 5 | ||
| 6 | ||
| 7 | class McpSurfaceTest(unittest.TestCase): | |
| 8 | def test_windows_lifecycle_is_up_down_status(self): | |
| 9 | tools = {tool["name"]: tool for tool in mcp_win7.TOOLS} | |
| 10 | lifecycle = {name for name in tools if name.startswith("win7_vm_")} | |
| 11 | self.assertEqual(lifecycle, { | |
| 12 | "win7_vm_up", "win7_vm_down", "win7_vm_status", | |
| 13 | }) | |
| 14 | self.assertIn("wait", tools["win7_vm_up"]["inputSchema"]["properties"]) | |
| 15 | self.assertIn( | |
| 16 | "preserve_machine", | |
| 17 | tools["win7_vm_down"]["inputSchema"]["properties"], | |
| 18 | ) | |
| 19 | ||
| 20 | def test_linux_lifecycle_is_fetch_up_down_status(self): | |
| 21 | tools = {tool["name"]: tool for tool in mcp_linux.TOOLS} | |
| 22 | lifecycle = {name for name in tools if name.startswith("linux_vm_")} | |
| 23 | self.assertEqual(lifecycle, { | |
| 24 | "linux_vm_fetch", "linux_vm_up", "linux_vm_down", "linux_vm_status", | |
| 25 | }) | |
| 26 | self.assertIn("wait", tools["linux_vm_up"]["inputSchema"]["properties"]) | |
| 27 | self.assertIn( | |
| 28 | "preserve_machine", | |
| 29 | tools["linux_vm_down"]["inputSchema"]["properties"], | |
| 30 | ) | |
| 31 | ||
| 32 | ||
| 33 | if __name__ == "__main__": | |
| 34 | unittest.main() |
tools/w7/test_vm.py created+72| ... | ... | @@ -0,0 +1,72 @@ |
| 1 | import contextlib | |
| 2 | import io | |
| 3 | import json | |
| 4 | from pathlib import Path | |
| 5 | import subprocess | |
| 6 | import tempfile | |
| 7 | import unittest | |
| 8 | ||
| 9 | import vm | |
| 10 | ||
| 11 | ||
| 12 | class VmLifecycleTest(unittest.TestCase): | |
| 13 | def setUp(self): | |
| 14 | self.original = {name: getattr(vm, name) for name in ( | |
| 15 | "VM_HOME", "IMAGES", "MEDIA", "INSTANCES", "RUN", "DISK", | |
| 16 | "BASE_DISK", "BASE_MANIFEST", "AGENT_ISO", "TARGETS", | |
| 17 | )} | |
| 18 | self.temporary = tempfile.TemporaryDirectory(prefix="one-vm-test-") | |
| 19 | home = Path(self.temporary.name) | |
| 20 | vm.VM_HOME = home | |
| 21 | vm.IMAGES = home / "images" | |
| 22 | vm.MEDIA = home / "media" | |
| 23 | vm.INSTANCES = home / "instances" | |
| 24 | vm.RUN = home / "run" | |
| 25 | vm.DISK = vm.IMAGES / "win7-office-build.qcow2" | |
| 26 | vm.BASE_DISK = vm.IMAGES / "win7-office-base.qcow2" | |
| 27 | vm.BASE_MANIFEST = vm.IMAGES / "win7-office-base.json" | |
| 28 | vm.AGENT_ISO = vm.MEDIA / "win7-agent.iso" | |
| 29 | vm.TARGETS = home / "targets.json" | |
| 30 | vm.IMAGES.mkdir(parents=True) | |
| 31 | subprocess.run([ | |
| 32 | vm.qemu("qemu-img"), "create", "-q", "-f", "qcow2", str(vm.DISK), "64M" | |
| 33 | ], check=True) | |
| 34 | with contextlib.redirect_stdout(io.StringIO()): | |
| 35 | vm.seal() | |
| 36 | ||
| 37 | def tearDown(self): | |
| 38 | self.temporary.cleanup() | |
| 39 | for name, value in self.original.items(): | |
| 40 | setattr(vm, name, value) | |
| 41 | ||
| 42 | def test_clone_has_unique_identity_and_removable_overlay(self): | |
| 43 | output = io.StringIO() | |
| 44 | with contextlib.redirect_stdout(output): | |
| 45 | vm.create_instance("alpha") | |
| 46 | vm.create_instance("beta") | |
| 47 | config = json.loads(vm.instance_path("alpha").read_text()) | |
| 48 | other = json.loads(vm.instance_path("beta").read_text()) | |
| 49 | targets = json.loads(vm.TARGETS.read_text()) | |
| 50 | self.assertEqual(config["hostname"], "ONE-ALPHA") | |
| 51 | self.assertEqual(targets["alpha"]["base"], | |
| 52 | "http://127.0.0.1:%d" % config["port"]) | |
| 53 | self.assertEqual(targets["alpha"]["token"], config["token"]) | |
| 54 | self.assertNotEqual(config["hostname"], other["hostname"]) | |
| 55 | self.assertNotEqual(config["port"], other["port"]) | |
| 56 | self.assertNotEqual(config["token"], other["token"]) | |
| 57 | self.assertNotIn(config["token"], output.getvalue()) | |
| 58 | self.assertTrue((vm.IMAGES / "instances" / "alpha.qcow2").is_file()) | |
| 59 | self.assertTrue((vm.MEDIA / "instances" / "alpha.iso").is_file()) | |
| 60 | with contextlib.redirect_stdout(io.StringIO()): | |
| 61 | vm.delete_instance("alpha") | |
| 62 | vm.delete_instance("beta") | |
| 63 | self.assertFalse(vm.instance_path("alpha").exists()) | |
| 64 | self.assertNotIn("alpha", json.loads(vm.TARGETS.read_text())) | |
| 65 | ||
| 66 | def test_reserved_target_name_is_rejected(self): | |
| 67 | with self.assertRaisesRegex(SystemExit, "reserved"): | |
| 68 | vm.create_instance("local") | |
| 69 | ||
| 70 | ||
| 71 | if __name__ == "__main__": | |
| 72 | unittest.main() |
tools/w7/vm.py created+552| ... | ... | @@ -0,0 +1,552 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | ||
| 3 | import argparse | |
| 4 | import fcntl | |
| 5 | import hashlib | |
| 6 | import json | |
| 7 | import os | |
| 8 | from pathlib import Path | |
| 9 | import re | |
| 10 | import secrets | |
| 11 | import shutil | |
| 12 | import socket | |
| 13 | import subprocess | |
| 14 | import tempfile | |
| 15 | import time | |
| 16 | import urllib.parse | |
| 17 | import urllib.error | |
| 18 | import urllib.request | |
| 19 | import uuid | |
| 20 | ||
| 21 | from lab_network import ensure_hub | |
| 22 | ||
| 23 | ||
| 24 | VM_HOME = Path(os.environ.get( | |
| 25 | "ONE_VM_HOME", "/Volumes/Documents/OneNote VMs" | |
| 26 | )).expanduser() | |
| 27 | ISO = Path(os.environ.get( | |
| 28 | "ONE_WIN7_ISO", | |
| 29 | "/Volumes/clover/Documents/Windows7/Windows 7 Professional.ISO", | |
| 30 | )) | |
| 31 | IMAGES = VM_HOME / "images" | |
| 32 | MEDIA = VM_HOME / "media" | |
| 33 | INSTANCES = VM_HOME / "instances" | |
| 34 | RUN = VM_HOME / "run" | |
| 35 | DISK = IMAGES / "win7-office-build.qcow2" | |
| 36 | BASE_DISK = IMAGES / "win7-office-base.qcow2" | |
| 37 | BASE_MANIFEST = IMAGES / "win7-office-base.json" | |
| 38 | AGENT_ISO = MEDIA / "win7-agent.iso" | |
| 39 | TARGETS = VM_HOME / "targets.json" | |
| 40 | BUILD = "win7-build" | |
| 41 | NAME = re.compile(r"[a-z0-9](?:[a-z0-9-]{0,9}[a-z0-9])?") | |
| 42 | HOSTNAME = re.compile(r"[A-Z0-9](?:[A-Z0-9-]{0,13}[A-Z0-9])?") | |
| 43 | ||
| 44 | ||
| 45 | def qemu(name): | |
| 46 | path = shutil.which(name) or "/opt/homebrew/bin/" + name | |
| 47 | if not Path(path).is_file(): | |
| 48 | raise SystemExit("Install QEMU with: /opt/homebrew/bin/brew install qemu") | |
| 49 | return path | |
| 50 | ||
| 51 | ||
| 52 | def require_vm_home(): | |
| 53 | if len(VM_HOME.parts) > 2 and VM_HOME.parts[1] == "Volumes": | |
| 54 | volume = Path("/Volumes") / VM_HOME.parts[2] | |
| 55 | if not os.path.ismount(volume): | |
| 56 | raise SystemExit("VM volume is not mounted: %s" % volume) | |
| 57 | ||
| 58 | ||
| 59 | def runtime(name): | |
| 60 | root = RUN / name | |
| 61 | return root, root / "qmp.sock", root / "qemu.pid", root / "qemu.log", root / "screen.png" | |
| 62 | ||
| 63 | ||
| 64 | def running(name=BUILD): | |
| 65 | try: | |
| 66 | os.kill(int(runtime(name)[2].read_text()), 0) | |
| 67 | return True | |
| 68 | except (FileNotFoundError, ProcessLookupError, ValueError): | |
| 69 | return False | |
| 70 | ||
| 71 | ||
| 72 | def qmp(name, command, arguments=None): | |
| 73 | qmp_socket = runtime(name)[1] | |
| 74 | with socket.socket(socket.AF_UNIX) as client: | |
| 75 | client.settimeout(5) | |
| 76 | client.connect(str(qmp_socket)) | |
| 77 | stream = client.makefile("rwb", buffering=0) | |
| 78 | stream.readline() | |
| 79 | stream.write(b'{"execute":"qmp_capabilities"}\n') | |
| 80 | while "return" not in json.loads(stream.readline()): | |
| 81 | pass | |
| 82 | request = {"execute": command} | |
| 83 | if arguments: | |
| 84 | request["arguments"] = arguments | |
| 85 | stream.write((json.dumps(request) + "\n").encode()) | |
| 86 | while True: | |
| 87 | response = json.loads(stream.readline()) | |
| 88 | if "return" in response: | |
| 89 | return response["return"] | |
| 90 | if "error" in response: | |
| 91 | raise SystemExit(response["error"]["desc"]) | |
| 92 | ||
| 93 | ||
| 94 | def launch(name, disk, port, mac, cpus, memory_mb, display, drives): | |
| 95 | require_vm_home() | |
| 96 | if running(name): | |
| 97 | raise SystemExit("Windows is already running: %s" % name) | |
| 98 | root, qmp_socket, pid, log_path, _shot = runtime(name) | |
| 99 | root.mkdir(parents=True, exist_ok=True) | |
| 100 | qmp_socket.unlink(missing_ok=True) | |
| 101 | lab_socket = ensure_hub(VM_HOME) | |
| 102 | command = [ | |
| 103 | qemu("qemu-system-x86_64"), | |
| 104 | "-name", "OneNote Windows 7 " + name, | |
| 105 | "-machine", "pc", | |
| 106 | "-accel", "tcg,thread=multi", | |
| 107 | "-cpu", "qemu64", | |
| 108 | "-smp", str(cpus), | |
| 109 | "-m", str(memory_mb), | |
| 110 | "-drive", "file=%s,if=ide,format=qcow2,cache=writeback" % disk, | |
| 111 | "-vga", "std", | |
| 112 | "-display", display, | |
| 113 | "-usb", | |
| 114 | "-device", "usb-tablet", | |
| 115 | "-netdev", "user,id=control,hostfwd=tcp:127.0.0.1:%d-:8777" % port, | |
| 116 | "-device", "e1000,netdev=control,mac=%s" % mac, | |
| 117 | "-netdev", "vde,id=lab,sock=%s" % lab_socket, | |
| 118 | "-device", "e1000,netdev=lab,mac=%s" % lab_mac(name), | |
| 119 | "-uuid", uuid_for(name), | |
| 120 | "-rtc", "base=localtime,clock=host,driftfix=slew", | |
| 121 | "-qmp", "unix:%s,server=on,wait=off" % qmp_socket, | |
| 122 | "-pidfile", str(pid), | |
| 123 | ] | |
| 124 | for drive in drives: | |
| 125 | command += ["-drive", drive] | |
| 126 | with log_path.open("ab") as log: | |
| 127 | subprocess.Popen( | |
| 128 | command, | |
| 129 | stdin=subprocess.DEVNULL, | |
| 130 | stdout=log, | |
| 131 | stderr=log, | |
| 132 | start_new_session=True, | |
| 133 | ) | |
| 134 | for _ in range(50): | |
| 135 | if running(name): | |
| 136 | print("Windows opened: %s" % name) | |
| 137 | return | |
| 138 | time.sleep(0.1) | |
| 139 | raise SystemExit("Windows did not open. Check: %s" % log_path) | |
| 140 | ||
| 141 | ||
| 142 | def start_build(install): | |
| 143 | if install and not ISO.is_file(): | |
| 144 | raise SystemExit("Windows ISO not found: %s" % ISO) | |
| 145 | if not DISK.exists(): | |
| 146 | if not install: | |
| 147 | raise SystemExit("No Windows disk found. Run: ./vm.py install") | |
| 148 | IMAGES.mkdir(parents=True, exist_ok=True) | |
| 149 | subprocess.run( | |
| 150 | [qemu("qemu-img"), "create", "-f", "qcow2", str(DISK), "64G"], | |
| 151 | check=True, | |
| 152 | ) | |
| 153 | drives = [] | |
| 154 | if install: | |
| 155 | drives.append("file=%s,file.locking=off,if=ide,media=cdrom,readonly=on" % ISO) | |
| 156 | elif AGENT_ISO.exists(): | |
| 157 | drives.append("file=%s,file.locking=off,if=ide,media=cdrom,readonly=on" % AGENT_ISO) | |
| 158 | launch(BUILD, DISK, 18777, "52:54:00:10:77:01", 4, 4096, "cocoa", drives) | |
| 159 | ||
| 160 | ||
| 161 | def instance_path(name): | |
| 162 | return INSTANCES / (name + ".json") | |
| 163 | ||
| 164 | ||
| 165 | def validate_name(name): | |
| 166 | if not NAME.fullmatch(name): | |
| 167 | raise SystemExit("VM name must be 1-11 lowercase letters, digits, or hyphens") | |
| 168 | ||
| 169 | ||
| 170 | def load_instance(name): | |
| 171 | validate_name(name) | |
| 172 | try: | |
| 173 | return json.loads(instance_path(name).read_text()) | |
| 174 | except FileNotFoundError: | |
| 175 | raise SystemExit("VM does not exist: %s" % name) | |
| 176 | except (OSError, ValueError) as e: | |
| 177 | raise SystemExit("Cannot read VM %s: %s" % (name, e)) | |
| 178 | ||
| 179 | ||
| 180 | def atomic_json(path, value): | |
| 181 | path.parent.mkdir(parents=True, exist_ok=True) | |
| 182 | temporary = path.with_suffix(path.suffix + ".tmp") | |
| 183 | temporary.write_text(json.dumps(value, indent=2, sort_keys=True) + "\n") | |
| 184 | temporary.replace(path) | |
| 185 | ||
| 186 | ||
| 187 | def configs(): | |
| 188 | if not INSTANCES.exists(): | |
| 189 | return [] | |
| 190 | rows = [] | |
| 191 | for path in sorted(INSTANCES.glob("*.json")): | |
| 192 | try: | |
| 193 | rows.append((path.stem, json.loads(path.read_text()))) | |
| 194 | except (OSError, ValueError) as e: | |
| 195 | raise SystemExit("Cannot read VM manifest %s: %s" % (path, e)) | |
| 196 | return rows | |
| 197 | ||
| 198 | ||
| 199 | def available_port(requested=None): | |
| 200 | used = {18777} | |
| 201 | used.update(config["port"] for _name, config in configs()) | |
| 202 | candidates = [requested] if requested else range(18778, 18878) | |
| 203 | for port in candidates: | |
| 204 | if port is None or port < 1024 or port > 65535 or port in used: | |
| 205 | continue | |
| 206 | with socket.socket() as probe: | |
| 207 | try: | |
| 208 | probe.bind(("127.0.0.1", port)) | |
| 209 | except OSError: | |
| 210 | continue | |
| 211 | return port | |
| 212 | raise SystemExit("No unused control port is available") | |
| 213 | ||
| 214 | ||
| 215 | def mac_for(port): | |
| 216 | return "52:54:00:01:%02x:%02x" % (port >> 8, port & 0xff) | |
| 217 | ||
| 218 | ||
| 219 | def uuid_for(name): | |
| 220 | return str(uuid.uuid5(uuid.NAMESPACE_URL, "onenote-vm:" + name)) | |
| 221 | ||
| 222 | ||
| 223 | def lab_mac(name): | |
| 224 | tail = uuid.UUID(uuid_for(name)).bytes[-3:] | |
| 225 | return "52:54:02:%02x:%02x:%02x" % tuple(tail) | |
| 226 | ||
| 227 | ||
| 228 | def make_instance_iso(path, hostname, token): | |
| 229 | path.parent.mkdir(parents=True, exist_ok=True) | |
| 230 | with tempfile.TemporaryDirectory(prefix="one-vm-") as temporary: | |
| 231 | root = Path(temporary) | |
| 232 | (root / "onenote-vm.ini").write_text( | |
| 233 | "HOSTNAME=%s\r\nTOKEN=%s\r\n" % (hostname, token) | |
| 234 | ) | |
| 235 | subprocess.run([ | |
| 236 | "hdiutil", "makehybrid", "-quiet", "-iso", "-joliet", | |
| 237 | "-default-volume-name", "ONEVM", "-o", str(path), str(root), | |
| 238 | ], check=True) | |
| 239 | ||
| 240 | ||
| 241 | def build_agent_iso(): | |
| 242 | require_vm_home() | |
| 243 | MEDIA.mkdir(parents=True, exist_ok=True) | |
| 244 | temporary = AGENT_ISO.with_suffix(".tmp.iso") | |
| 245 | temporary.unlink(missing_ok=True) | |
| 246 | try: | |
| 247 | subprocess.run([ | |
| 248 | "hdiutil", "makehybrid", "-quiet", "-iso", "-joliet", | |
| 249 | "-default-volume-name", "WIN7_AGENT", "-o", str(temporary), | |
| 250 | str(Path(__file__).with_name("payload")), | |
| 251 | ], check=True) | |
| 252 | temporary.replace(AGENT_ISO) | |
| 253 | except Exception: | |
| 254 | temporary.unlink(missing_ok=True) | |
| 255 | raise | |
| 256 | print(AGENT_ISO) | |
| 257 | ||
| 258 | ||
| 259 | def update_target(name, port=None, token=None): | |
| 260 | try: | |
| 261 | targets = json.loads(TARGETS.read_text()) | |
| 262 | except FileNotFoundError: | |
| 263 | targets = {} | |
| 264 | except (OSError, ValueError) as e: | |
| 265 | raise SystemExit("Cannot read %s: %s" % (TARGETS, e)) | |
| 266 | if port is None: | |
| 267 | targets.pop(name, None) | |
| 268 | else: | |
| 269 | targets[name] = {"base": "http://127.0.0.1:%d" % port, "token": token} | |
| 270 | atomic_json(TARGETS, targets) | |
| 271 | TARGETS.chmod(0o600) | |
| 272 | ||
| 273 | ||
| 274 | def create_instance(name, hostname=None, cpus=2, memory_mb=4096, port=None): | |
| 275 | require_vm_home() | |
| 276 | validate_name(name) | |
| 277 | if name in ("local", "wayback", BUILD): | |
| 278 | raise SystemExit("VM name is reserved: %s" % name) | |
| 279 | hostname = (hostname or ("ONE-" + name)).upper() | |
| 280 | if not HOSTNAME.fullmatch(hostname): | |
| 281 | raise SystemExit("Hostname must be 1-15 letters, digits, or hyphens") | |
| 282 | if not 1 <= cpus <= 16: | |
| 283 | raise SystemExit("CPU count must be between 1 and 16") | |
| 284 | if not 1024 <= memory_mb <= 65536: | |
| 285 | raise SystemExit("Memory must be between 1024 and 65536 MiB") | |
| 286 | if not BASE_DISK.is_file() or not BASE_MANIFEST.is_file(): | |
| 287 | raise SystemExit("No sealed base image. Finish the build, then run: ./vm.py seal") | |
| 288 | VM_HOME.mkdir(parents=True, exist_ok=True) | |
| 289 | with (VM_HOME / ".lock").open("a") as lock: | |
| 290 | fcntl.flock(lock, fcntl.LOCK_EX) | |
| 291 | if instance_path(name).exists(): | |
| 292 | raise SystemExit("VM already exists: %s" % name) | |
| 293 | if any(c.get("hostname", "").upper() == hostname.upper() for _n, c in configs()): | |
| 294 | raise SystemExit("Hostname is already in use: %s" % hostname) | |
| 295 | port = available_port(port) | |
| 296 | token = secrets.token_urlsafe(24) | |
| 297 | overlay = IMAGES / "instances" / (name + ".qcow2") | |
| 298 | instance_iso = MEDIA / "instances" / (name + ".iso") | |
| 299 | if overlay.exists() or instance_iso.exists(): | |
| 300 | raise SystemExit("VM artifacts already exist without a manifest: %s" % name) | |
| 301 | overlay.parent.mkdir(parents=True, exist_ok=True) | |
| 302 | temporary = overlay.with_suffix(".tmp.qcow2") | |
| 303 | try: | |
| 304 | subprocess.run([ | |
| 305 | qemu("qemu-img"), "create", "-f", "qcow2", "-F", "qcow2", | |
| 306 | "-b", str(BASE_DISK), str(temporary), | |
| 307 | ], check=True) | |
| 308 | make_instance_iso(instance_iso, hostname, token) | |
| 309 | instance_iso.chmod(0o600) | |
| 310 | temporary.replace(overlay) | |
| 311 | config = {"cpus": cpus, "hostname": hostname, "memory_mb": memory_mb, | |
| 312 | "port": port, "token": token} | |
| 313 | atomic_json(instance_path(name), config) | |
| 314 | instance_path(name).chmod(0o600) | |
| 315 | update_target(name, port, token) | |
| 316 | except Exception: | |
| 317 | temporary.unlink(missing_ok=True) | |
| 318 | instance_iso.unlink(missing_ok=True) | |
| 319 | overlay.unlink(missing_ok=True) | |
| 320 | instance_path(name).unlink(missing_ok=True) | |
| 321 | raise | |
| 322 | print(json.dumps({"cpus": cpus, "hostname": hostname, "memory_mb": memory_mb, | |
| 323 | "name": name, "port": port}, sort_keys=True)) | |
| 324 | ||
| 325 | ||
| 326 | def start_instance(name, display=False): | |
| 327 | config = load_instance(name) | |
| 328 | overlay = IMAGES / "instances" / (name + ".qcow2") | |
| 329 | instance_iso = MEDIA / "instances" / (name + ".iso") | |
| 330 | if not overlay.is_file() or not instance_iso.is_file(): | |
| 331 | raise SystemExit("VM artifacts are incomplete: %s" % name) | |
| 332 | drives = [] | |
| 333 | for drive in (AGENT_ISO, instance_iso): | |
| 334 | if drive.is_file(): | |
| 335 | drives.append("file=%s,file.locking=off,if=ide,media=cdrom,readonly=on" % drive) | |
| 336 | launch(name, overlay, config["port"], mac_for(config["port"]), config["cpus"], | |
| 337 | config["memory_mb"], "cocoa" if display else "none", drives) | |
| 338 | ||
| 339 | ||
| 340 | def wait_instance(name, timeout): | |
| 341 | config = load_instance(name) | |
| 342 | deadline = time.monotonic() + timeout | |
| 343 | request = urllib.request.Request( | |
| 344 | "http://127.0.0.1:%d/health" % config["port"], | |
| 345 | headers={"X-Win7-Token": config["token"]}, | |
| 346 | ) | |
| 347 | while time.monotonic() < deadline: | |
| 348 | try: | |
| 349 | with urllib.request.urlopen(request, timeout=2) as response: | |
| 350 | health = json.load(response) | |
| 351 | if health.get("hostname", "").upper() == config["hostname"]: | |
| 352 | print("Ready: %s (%s)" % (name, config["hostname"])) | |
| 353 | return | |
| 354 | except (urllib.error.URLError, OSError, ValueError): | |
| 355 | pass | |
| 356 | time.sleep(1) | |
| 357 | raise SystemExit("VM did not become ready within %d seconds: %s" % (timeout, name)) | |
| 358 | ||
| 359 | ||
| 360 | def poweroff(name=BUILD): | |
| 361 | if not running(name): | |
| 362 | raise SystemExit("Windows is not running: %s" % name) | |
| 363 | qmp(name, "system_powerdown") | |
| 364 | print("Windows is shutting down: %s" % name) | |
| 365 | ||
| 366 | ||
| 367 | def shutdown(name, timeout): | |
| 368 | poweroff(name) | |
| 369 | deadline = time.monotonic() + timeout | |
| 370 | while time.monotonic() < deadline: | |
| 371 | if not running(name): | |
| 372 | print("Windows stopped: %s" % name) | |
| 373 | return | |
| 374 | time.sleep(1) | |
| 375 | raise SystemExit("Windows did not stop within %d seconds: %s" % (timeout, name)) | |
| 376 | ||
| 377 | ||
| 378 | def screenshot(name=BUILD): | |
| 379 | if not running(name): | |
| 380 | raise SystemExit("Windows is not running: %s" % name) | |
| 381 | shot = runtime(name)[4] | |
| 382 | qmp(name, "screendump", {"filename": str(shot), "format": "png"}) | |
| 383 | print(shot) | |
| 384 | ||
| 385 | ||
| 386 | def delete_instance(name): | |
| 387 | require_vm_home() | |
| 388 | with (VM_HOME / ".lock").open("a") as lock: | |
| 389 | fcntl.flock(lock, fcntl.LOCK_EX) | |
| 390 | load_instance(name) | |
| 391 | if running(name): | |
| 392 | raise SystemExit("Shut down Windows before deleting: %s" % name) | |
| 393 | (IMAGES / "instances" / (name + ".qcow2")).unlink(missing_ok=True) | |
| 394 | (MEDIA / "instances" / (name + ".iso")).unlink(missing_ok=True) | |
| 395 | instance_path(name).unlink() | |
| 396 | shutil.rmtree(runtime(name)[0], ignore_errors=True) | |
| 397 | update_target(name) | |
| 398 | print("Deleted VM: %s" % name) | |
| 399 | ||
| 400 | ||
| 401 | def seal(): | |
| 402 | require_vm_home() | |
| 403 | if running(BUILD): | |
| 404 | raise SystemExit("Shut down Windows before sealing the base image") | |
| 405 | if not DISK.exists(): | |
| 406 | raise SystemExit("No Windows build disk found") | |
| 407 | temporary = BASE_DISK.with_suffix(".tmp.qcow2") | |
| 408 | if BASE_DISK.exists() or temporary.exists(): | |
| 409 | raise SystemExit("Move the existing base image before sealing another") | |
| 410 | subprocess.run([qemu("qemu-img"), "check", str(DISK)], check=True) | |
| 411 | subprocess.run([qemu("qemu-img"), "convert", "-p", "-O", "qcow2", | |
| 412 | "-o", "lazy_refcounts=off", str(DISK), str(temporary)], check=True) | |
| 413 | subprocess.run([qemu("qemu-img"), "check", str(temporary)], check=True) | |
| 414 | temporary.replace(BASE_DISK) | |
| 415 | digest = hashlib.sha256() | |
| 416 | with BASE_DISK.open("rb") as image: | |
| 417 | while chunk := image.read(8 * 1024 * 1024): | |
| 418 | digest.update(chunk) | |
| 419 | info = json.loads(subprocess.check_output([ | |
| 420 | qemu("qemu-img"), "info", "--output=json", str(BASE_DISK), | |
| 421 | ])) | |
| 422 | atomic_json(BASE_MANIFEST, {"file": BASE_DISK.name, "format": info["format"], | |
| 423 | "sha256": digest.hexdigest(), | |
| 424 | "virtual_size": info["virtual-size"]}) | |
| 425 | BASE_DISK.chmod(0o444) | |
| 426 | print(BASE_MANIFEST) | |
| 427 | ||
| 428 | ||
| 429 | def fetch_base(manifest_url): | |
| 430 | require_vm_home() | |
| 431 | if BASE_DISK.exists() or BASE_MANIFEST.exists(): | |
| 432 | raise SystemExit("Move the existing base image before fetching another") | |
| 433 | headers = {} | |
| 434 | if os.environ.get("ONE_VM_AUTHORIZATION"): | |
| 435 | headers["Authorization"] = os.environ["ONE_VM_AUTHORIZATION"] | |
| 436 | with urllib.request.urlopen(urllib.request.Request(manifest_url, headers=headers)) as response: | |
| 437 | manifest = json.load(response) | |
| 438 | expected = manifest.get("sha256", "").lower() | |
| 439 | if not re.fullmatch(r"[0-9a-f]{64}", expected): | |
| 440 | raise SystemExit("Base manifest has no valid SHA-256") | |
| 441 | image_url = urllib.parse.urljoin(manifest_url, manifest.get("file", "")) | |
| 442 | IMAGES.mkdir(parents=True, exist_ok=True) | |
| 443 | temporary = BASE_DISK.with_suffix(".download.qcow2") | |
| 444 | digest = hashlib.sha256() | |
| 445 | try: | |
| 446 | with urllib.request.urlopen(urllib.request.Request(image_url, headers=headers)) as response: | |
| 447 | with temporary.open("wb") as output: | |
| 448 | while chunk := response.read(8 * 1024 * 1024): | |
| 449 | output.write(chunk) | |
| 450 | digest.update(chunk) | |
| 451 | if digest.hexdigest() != expected: | |
| 452 | temporary.unlink(missing_ok=True) | |
| 453 | raise SystemExit("Downloaded base image failed SHA-256 verification") | |
| 454 | subprocess.run([qemu("qemu-img"), "check", str(temporary)], check=True) | |
| 455 | temporary.replace(BASE_DISK) | |
| 456 | BASE_DISK.chmod(0o444) | |
| 457 | atomic_json(BASE_MANIFEST, dict(manifest, file=BASE_DISK.name)) | |
| 458 | except Exception: | |
| 459 | temporary.unlink(missing_ok=True) | |
| 460 | raise | |
| 461 | print(BASE_MANIFEST) | |
| 462 | ||
| 463 | ||
| 464 | def list_instances(): | |
| 465 | rows = configs() | |
| 466 | if not rows: | |
| 467 | print("No Windows VMs.") | |
| 468 | return | |
| 469 | for name, config in rows: | |
| 470 | state = "running" if running(name) else "stopped" | |
| 471 | print("%-11s %-15s %-7s http://127.0.0.1:%d" % | |
| 472 | (name, config["hostname"], state, config["port"])) | |
| 473 | ||
| 474 | ||
| 475 | def main(): | |
| 476 | parser = argparse.ArgumentParser(description="Run OneNote Windows 7 VMs") | |
| 477 | commands = parser.add_subparsers(dest="command", required=True) | |
| 478 | commands.add_parser("install") | |
| 479 | commands.add_parser("run") | |
| 480 | status = commands.add_parser("status") | |
| 481 | status.add_argument("name", nargs="?") | |
| 482 | power = commands.add_parser("poweroff") | |
| 483 | power.add_argument("name", nargs="?", default=BUILD) | |
| 484 | shot = commands.add_parser("screenshot") | |
| 485 | shot.add_argument("name", nargs="?", default=BUILD) | |
| 486 | commands.add_parser("seal") | |
| 487 | commands.add_parser("media") | |
| 488 | up = commands.add_parser("up") | |
| 489 | up.add_argument("name") | |
| 490 | up.add_argument("--hostname") | |
| 491 | up.add_argument("--cpus", type=int, default=2) | |
| 492 | up.add_argument("--memory", type=int, default=4096, dest="memory_mb") | |
| 493 | up.add_argument("--port", type=int) | |
| 494 | up.add_argument("--display", action="store_true") | |
| 495 | up.add_argument("--wait", action="store_true") | |
| 496 | up.add_argument("--timeout", type=int, default=300) | |
| 497 | down = commands.add_parser("down") | |
| 498 | down.add_argument("name") | |
| 499 | down.add_argument("--timeout", type=int, default=60) | |
| 500 | down.add_argument("--preserve-machine", action="store_true") | |
| 501 | fetch = commands.add_parser("fetch") | |
| 502 | fetch.add_argument("manifest_url") | |
| 503 | args = parser.parse_args() | |
| 504 | if args.command == "install": | |
| 505 | start_build(True) | |
| 506 | elif args.command == "run": | |
| 507 | start_build(False) | |
| 508 | elif args.command == "status": | |
| 509 | if args.name: | |
| 510 | if args.name == BUILD: | |
| 511 | print("running" if running(args.name) else "stopped") | |
| 512 | elif not instance_path(args.name).exists(): | |
| 513 | print("absent") | |
| 514 | else: | |
| 515 | load_instance(args.name) | |
| 516 | print("running" if running(args.name) else "stopped") | |
| 517 | else: | |
| 518 | list_instances() | |
| 519 | elif args.command == "poweroff": | |
| 520 | poweroff(args.name) | |
| 521 | elif args.command == "screenshot": | |
| 522 | screenshot(args.name) | |
| 523 | elif args.command == "seal": | |
| 524 | seal() | |
| 525 | elif args.command == "media": | |
| 526 | build_agent_iso() | |
| 527 | elif args.command == "up": | |
| 528 | if not instance_path(args.name).exists(): | |
| 529 | create_instance(args.name, args.hostname, args.cpus, args.memory_mb, args.port) | |
| 530 | if running(args.name): | |
| 531 | print("Windows already running: %s" % args.name) | |
| 532 | else: | |
| 533 | start_instance(args.name, args.display) | |
| 534 | if args.wait: | |
| 535 | wait_instance(args.name, args.timeout) | |
| 536 | elif args.command == "down": | |
| 537 | if not instance_path(args.name).exists(): | |
| 538 | print("VM absent: %s" % args.name) | |
| 539 | else: | |
| 540 | load_instance(args.name) | |
| 541 | if running(args.name): | |
| 542 | shutdown(args.name, args.timeout) | |
| 543 | if args.preserve_machine: | |
| 544 | print("Preserved VM: %s" % args.name) | |
| 545 | else: | |
| 546 | delete_instance(args.name) | |
| 547 | else: | |
| 548 | fetch_base(args.manifest_url) | |
| 549 | ||
| 550 | ||
| 551 | if __name__ == "__main__": | |
| 552 | main() |
tools/zenith-locks created+132| ... | ... | @@ -0,0 +1,132 @@ |
| 1 | #!/usr/bin/env python3 | |
| 2 | """Watch SMB byte-range locks on zenith (TrueNAS) as OneNote takes and drops them.""" | |
| 3 | import json | |
| 4 | import os | |
| 5 | import subprocess | |
| 6 | import sys | |
| 7 | import time | |
| 8 | ||
| 9 | HOST = "10.0.0.1" | |
| 10 | SSH = ["ssh", "-o", "BatchMode=yes", "-o", "ControlMaster=auto", | |
| 11 | "-o", "ControlPath=/tmp/zenith-locks-%r@%h:%p", "-o", "ControlPersist=30s", HOST] | |
| 12 | SEP = "--%%--" | |
| 13 | ||
| 14 | ||
| 15 | def agent_socket(): | |
| 16 | """SSH_AUTH_SOCK is usually absent here; find a live agent that holds an identity.""" | |
| 17 | pids = subprocess.run(["pgrep", "ssh-agent"], capture_output=True, text=True).stdout.split() | |
| 18 | for pid in pids: | |
| 19 | out = subprocess.run(["lsof", "-a", "-U", "-p", pid], capture_output=True, text=True).stdout | |
| 20 | for word in out.split(): | |
| 21 | if "/agent." not in word: | |
| 22 | continue | |
| 23 | env = dict(os.environ, SSH_AUTH_SOCK=word) | |
| 24 | if subprocess.run(["ssh-add", "-l"], env=env, capture_output=True).returncode == 0: | |
| 25 | return word | |
| 26 | return None | |
| 27 | ||
| 28 | ||
| 29 | def connect(): | |
| 30 | if subprocess.run(SSH + ["true"], capture_output=True).returncode == 0: | |
| 31 | return | |
| 32 | sock = agent_socket() | |
| 33 | if sock is None: | |
| 34 | sys.exit("no ssh-agent with a loaded identity; cannot reach %s" % HOST) | |
| 35 | os.environ["SSH_AUTH_SOCK"] = sock | |
| 36 | if subprocess.run(SSH + ["true"], capture_output=True).returncode != 0: | |
| 37 | sys.exit("ssh %s failed even with agent %s" % (HOST, sock)) | |
| 38 | ||
| 39 | ||
| 40 | def status(*views): | |
| 41 | cmd = (" ; echo %s ; " % SEP).join("midclt call smb.status " + v for v in views) | |
| 42 | out = subprocess.run(SSH + [cmd], capture_output=True, text=True) | |
| 43 | if out.returncode != 0: | |
| 44 | sys.exit(out.stderr.strip() or "ssh failed") | |
| 45 | return [json.loads(chunk) for chunk in out.stdout.split(SEP + "\n")] | |
| 46 | ||
| 47 | ||
| 48 | def locks(byterange): | |
| 49 | """(share_path, file, pid, type, start, size) per held range.""" | |
| 50 | for entry in byterange: | |
| 51 | for lk in entry["locks"]: | |
| 52 | yield (entry["share_path"], entry["file_name"], lk["server_id"]["pid"], | |
| 53 | lk["type"], lk["start"], lk["size"]) | |
| 54 | ||
| 55 | ||
| 56 | def table(rows, headers): | |
| 57 | rows = [[str(c) for c in r] for r in rows] | |
| 58 | width = [max(len(h), *(len(r[i]) for r in rows)) for i, h in enumerate(headers)] | |
| 59 | for r in [headers] + rows: | |
| 60 | print(" ".join(c.ljust(w) for c, w in zip(r, width)).rstrip()) | |
| 61 | ||
| 62 | ||
| 63 | def show_locks(): | |
| 64 | byterange, openfiles, shares = status("BYTERANGE", "LOCKS", "SHARES") | |
| 65 | held = sorted(locks(byterange)) | |
| 66 | if not held: | |
| 67 | print("no byte-range locks held") | |
| 68 | return | |
| 69 | machine = {s["server_id"]["pid"]: s["machine"] for s in shares} | |
| 70 | user = {} | |
| 71 | for f in openfiles: | |
| 72 | for o in f["opens"].values(): | |
| 73 | user[(f["service_path"], f["filename"], o["server_id"]["pid"])] = o["username"] | |
| 74 | rows = [] | |
| 75 | for share, name, pid, typ, start, size in held: | |
| 76 | who = user.get((share, name, pid), "?") | |
| 77 | rows.append(["%s/%s" % (os.path.basename(share), os.path.basename(name)), pid, who, | |
| 78 | machine.get(pid, "?"), start, size, | |
| 79 | {"W": "write", "R": "read"}.get(typ, typ)]) | |
| 80 | table(rows, ["FILE", "PID", "USER", "CLIENT", "OFFSET", "LENGTH", "TYPE"]) | |
| 81 | ||
| 82 | ||
| 83 | def show_opens(): | |
| 84 | openfiles, shares = status("LOCKS", "SHARES") | |
| 85 | machine = {s["server_id"]["pid"]: s["machine"] for s in shares} | |
| 86 | rows = [] | |
| 87 | for f in openfiles: | |
| 88 | share = os.path.basename(f["service_path"]) | |
| 89 | for o in f["opens"].values(): | |
| 90 | pid = o["server_id"]["pid"] | |
| 91 | rows.append(["%s/%s" % (share, f["filename"]), pid, o["username"], | |
| 92 | machine.get(pid, "?"), o["access_mask"]["text"] or "-", | |
| 93 | o["sharemode"]["text"] or "-", o["opened_at"][11:23]]) | |
| 94 | if not rows: | |
| 95 | print("no open files") | |
| 96 | return | |
| 97 | table(sorted(rows), ["FILE", "PID", "USER", "CLIENT", "ACCESS", "SHAREMODE", "OPENED"]) | |
| 98 | ||
| 99 | ||
| 100 | def watch(interval): | |
| 101 | prev = set() | |
| 102 | while True: | |
| 103 | now = set(locks(status("BYTERANGE")[0])) | |
| 104 | t = time.time() | |
| 105 | stamp = time.strftime("%H:%M:%S", time.localtime(t)) + ".%03d" % (t % 1 * 1000) | |
| 106 | for sign, changed in (("-", prev - now), ("+", now - prev)): | |
| 107 | for share, name, pid, typ, start, size in sorted(changed): | |
| 108 | print("%s %s %s/%s pid=%s %s %d+%d" % | |
| 109 | (stamp, sign, os.path.basename(share), os.path.basename(name), pid, | |
| 110 | {"W": "write", "R": "read"}.get(typ, typ), start, size), flush=True) | |
| 111 | prev = now | |
| 112 | time.sleep(interval) | |
| 113 | ||
| 114 | ||
| 115 | def main(): | |
| 116 | args = sys.argv[1:] | |
| 117 | connect() | |
| 118 | if args and args[0] == "--watch": | |
| 119 | watch(float(args[1]) if len(args) > 1 else 0.5) | |
| 120 | elif args == ["--opens"]: | |
| 121 | show_opens() | |
| 122 | elif not args: | |
| 123 | show_locks() | |
| 124 | else: | |
| 125 | sys.exit("usage: zenith-locks [--watch [SECONDS] | --opens]") | |
| 126 | ||
| 127 | ||
| 128 | if __name__ == "__main__": | |
| 129 | try: | |
| 130 | main() | |
| 131 | except KeyboardInterrupt: | |
| 132 | pass |